Realtime: различия между версиями
Vt (обсуждение | вклад) Нет описания правки |
Vt (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
На данный момент в Сизиф под архитектуру x86_64 ''экспериментально'' собраны два | Операционная система ''реального времени'' (в отличии от системы ''общего назначения'') оптимизирована на уменьшение задержек реакции (''latency'') и детерминизм (''maximum latency'') при обработке событий. Применяется для построения систем в сферах телекоммуникаций, управления машинами, высокочастотной торговли и других, ''в отличии'' от работы с приложениями и конечным пользователем. | ||
На данный момент в репозиторий Сизиф под архитектуру x86_64 ''экспериментально'' собраны два ядра реального времени: | |||
== kernel-image-xenomai == | == kernel-image-xenomai == | ||
"Двойное ядро" состоящее из высоко приоритетного ко-ядра | "Двойное ядро" состоящее из высоко приоритетного ко-ядра Cobalt реализующим различные (skins) RTOS API [https://xenomai.org/ Xenomai 3] и ядра линукс с I-Pipe (Adeos) патчем реализующим систему жёсткого реального времени. (Обратите внимание, что ядро Mercury не поддерживается.) Xenomai 3 может эмулировать RTOS API: pSOS+, uITRON, VxWorks, RTAI, VRTX, а так же содержит нативное API Alchemy и поддерживает Real-Time Driver Model (RTDM). [https://gitlab.denx.de/Xenomai/xenomai/wikis/Start_Here Документация на англ.] | ||
Юзерспейс и специализированные тесты для этого ядра находятся в пакете <code>xenomai</code>. | Юзерспейс и специализированные тесты для этого ядра находятся в пакете <code>xenomai</code>. | ||
== kernel-image-rt == | == kernel-image-rt == | ||
[https://wiki.linuxfoundation.org/realtime/start Real Time Linux] с [https://rt.wiki.kernel.org/ <code>PREEMPT_RT</code>] патчем (Ingo Molnar, Thomas Gleixner) реализующим POSIX API. | [https://wiki.linuxfoundation.org/realtime/start Real Time Linux] с [https://rt.wiki.kernel.org/ <code>PREEMPT_RT</code>] патчем (Ingo Molnar, Thomas Gleixner) реализующим POSIX real-time API. | ||
Считается, что ядра данного типа наиболее оптимально работают с vanilla конфигом. Поэтому была | Считается, что ядра данного типа наиболее оптимально работают с ''vanilla'' конфигом. Поэтому была использована следующая методология создания конфига: defconfig + все опциональные модули из std_def ядра + тюнинг RT (отключено <code>NO_HZ</code>, отключены многие опции <code>_DEBUG</code> + прочие мелкие оптимизации). | ||
* Для | * Для облегчения тестирования это ядро содержит два дополнительных патча от консорциума [https://www.osadl.org/ OSADL]: | ||
# https://www.osadl.org/Latency-histograms.latencyhist.0.html | # https://www.osadl.org/Latency-histograms.latencyhist.0.html | ||
# https://www.osadl.org/Precise-load-measurement.precise-system-load.0.html | # https://www.osadl.org/Precise-load-measurement.precise-system-load.0.html |
Версия от 02:08, 12 сентября 2019
Операционная система реального времени (в отличии от системы общего назначения) оптимизирована на уменьшение задержек реакции (latency) и детерминизм (maximum latency) при обработке событий. Применяется для построения систем в сферах телекоммуникаций, управления машинами, высокочастотной торговли и других, в отличии от работы с приложениями и конечным пользователем.
На данный момент в репозиторий Сизиф под архитектуру x86_64 экспериментально собраны два ядра реального времени:
kernel-image-xenomai
"Двойное ядро" состоящее из высоко приоритетного ко-ядра Cobalt реализующим различные (skins) RTOS API Xenomai 3 и ядра линукс с I-Pipe (Adeos) патчем реализующим систему жёсткого реального времени. (Обратите внимание, что ядро Mercury не поддерживается.) Xenomai 3 может эмулировать RTOS API: pSOS+, uITRON, VxWorks, RTAI, VRTX, а так же содержит нативное API Alchemy и поддерживает Real-Time Driver Model (RTDM). Документация на англ.
Юзерспейс и специализированные тесты для этого ядра находятся в пакете xenomai
.
kernel-image-rt
Real Time Linux с PREEMPT_RT
патчем (Ingo Molnar, Thomas Gleixner) реализующим POSIX real-time API.
Считается, что ядра данного типа наиболее оптимально работают с vanilla конфигом. Поэтому была использована следующая методология создания конфига: defconfig + все опциональные модули из std_def ядра + тюнинг RT (отключено NO_HZ
, отключены многие опции _DEBUG
+ прочие мелкие оптимизации).
- Для облегчения тестирования это ядро содержит два дополнительных патча от консорциума OSADL:
- https://www.osadl.org/Latency-histograms.latencyhist.0.html
- https://www.osadl.org/Precise-load-measurement.precise-system-load.0.html
Для тестирования этого ядра можно использовать пакет linux-rt-tests
.