Realtime: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
На данный момент в Сизиф под архитектуру x86_64 ''экспериментально'' собраны два real-time ядра:
Операционная система ''реального времени'' (в отличии от системы ''общего назначения'') оптимизирована на уменьшение задержек реакции (''latency'') и детерминизм (''maximum latency'') при обработке событий. Применяется для построения систем в сферах телекоммуникаций, управления машинами, высокочастотной торговли и других, ''в отличии'' от работы с приложениями и конечным пользователем.
 
На данный момент в репозиторий Сизиф под архитектуру x86_64 ''экспериментально'' собраны два ядра реального времени:


== kernel-image-xenomai ==
== kernel-image-xenomai ==
"Двойное ядро" состоящее из высоко приоритетного ко-ядра Кобальт (Cobalt) реализующим различные RTOS API [https://xenomai.org/ Xenomai 3] и ядра линукс с I-Pipe (Adeos) патчем реализующим hard real-time. (Обратите внимание, что ядро 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 Документация на англ.]
"Двойное ядро" состоящее из высоко приоритетного ко-ядра 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 конфигом. Поэтому была использованя следующая методология создания конфига: defconfig + все опциональные модули из std_def ядра + тюнинг RT (отключено <code>NO_HZ</code>, отключены многие опции <code>_DEBUG</code> + прочие мелкие оптимизации).
Считается, что ядра данного типа наиболее оптимально работают с ''vanilla'' конфигом. Поэтому была использована следующая методология создания конфига: defconfig + все опциональные модули из std_def ядра + тюнинг RT (отключено <code>NO_HZ</code>, отключены многие опции <code>_DEBUG</code> + прочие мелкие оптимизации).


* Для отлегчения тестирования это ядро содержит два дополнительных патча от консорциума [https://www.osadl.org/ OSADL]:
* Для облегчения тестирования это ядро содержит два дополнительных патча от консорциума [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

Версия от 23:08, 11 сентября 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:
  1. https://www.osadl.org/Latency-histograms.latencyhist.0.html
  2. https://www.osadl.org/Precise-load-measurement.precise-system-load.0.html

Для тестирования этого ядра можно использовать пакет linux-rt-tests.