краткий обзор ОСРВ
RTLinux Встраивается в обычный Linux RTLinux kernel находится между ядром Linux и «железом» RTLinux обрабатывет все прерывания независимо от масок выставляемых ядром Linux Задачи RTLinux не использую виртуальную память
RTLinux
RTLinux modules нет main() процедуры есть init_module() и cleanup_module() $ gcc -c {SOME-FLAGS} my_module.c $ insmod module.o $ rmmod module
RTLinux modules #include void * thread_code(void) { pthread_make_periodic_np( pthread_self(), gethrtime(), ); while (1) { pthread_wait_np (); rtl_printf("Hello World\n"); } return 0; }
RTLinux modules int init_module(void) { return pthread_create(&thread, NULL, thread_code, NULL); } void cleanup_module(void) { pthread_delete_np(thread); }
RTLinux FIFO Realtime FIFO однонаправленная очередь для передачи данных от потока в ядре к пользовательскому процессу и обратно. Выглядит как /dev/rtf* (где * номер от 0 до 150)
RTLinux FIFO #include int rtf_create (unsigned int fifo, int size); int rtf_get (unsigned int fifo, char * buf, int count); int rtf_put (unsigned int fifo, char * buf, int count); int rtf_create_handler (unsigned int fifo, int (* handler)()); int rtf_destroy(unsigned int fifo);
RTAI Realtime Application Interface архтектура подобная RTLinux Ядро Linux выполняется как idle task для системы реального времени. FIFOs based on mailboxs.
VxWorks WindRiver Systems предназначена встраиваемых систем жесткого реального времени имеет архитектуру клиент-сервер и построена в соответствии с технологией микроядра. модульность и масштабируемость системы задается при сборке Обычно вся система живет в одном адресном пространстве с ядром. Виртуальная память подключается опционально.
VxWorks Кросс-платформенная разработка Разработчику доступен BSP (Board Support Package) в исходных текстах позволяющий портировать ОС на новый тип компьютера. COM(Component Object Model), DCOM, OLE for Process Control
RTEMS Real-Time Executive for Multiprocessor Systems Real-Time Executive for Missile Systems OAR Corporation открытый код Система состоит из ядра и различных менеджеров(памятиб семафоров..)б и пользовательских программ. нет динамической загрузки модулей и приложений
ChorusOS микроядерная масштабируемая встраиваемая ОС, широко применяемая в телекоммуникационной индустрии. ядро- актор- пользовательская программа
RTX for WinNT Расширение реального времени RTX (Real Time Extension) для ОС Windows NT (разработано корпорацией VenturСom) Ядро реального времени (nucleus) интегрировано в ядро NT (kernel). Каждый процесс RTX выполняется как драйвер устройства ядра NT, при этом процессы не защищены друг от друга.
INtime Radisys Corporation INTime выполняется параллельно NT