1 / 15

краткий обзор ОСРВ

краткий обзор ОСРВ. RTLinux. Встраивается в обычный Linux RTLinux kernel находится между ядром Linux и «железом» RTLinux обрабатывет все прерывания независимо от масок выставляемых ядром Linux Задачи RTLinux не использую виртуальную память.

star
Download Presentation

краткий обзор ОСРВ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. краткий обзор ОСРВ

  2. RTLinux • Встраивается в обычный Linux • RTLinux kernel находится между ядром Linux и «железом» • RTLinux обрабатывет все прерывания независимо от масок выставляемых ядром Linux • Задачи RTLinux не использую виртуальную память

  3. RTLinuxhttp://www.mnis.fr/en/support/doc/rtos/RTLINUX/api-rt.pngRTLinuxhttp://www.mnis.fr/en/support/doc/rtos/RTLINUX/api-rt.png

  4. RTLinux modules • нет main() процедуры • есть init_module() и cleanup_module() • $ gcc -c {SOME-FLAGS} my_module.c • $ insmod module.o • $ rmmod module

  5. RTLinux modules #include <rtl.h> void * thread_code(void) { pthread_make_periodic_np( pthread_self(), gethrtime(), 1000000000); while (1) { pthread_wait_np (); rtl_printf("Hello World\n"); } return 0; }

  6. RTLinux modules int init_module(void) { return pthread_create(&thread, NULL, thread_code, NULL); } void cleanup_module(void) { pthread_delete_np(thread); }

  7. RTLinux FIFO • Realtime FIFO однонаправленная очередь для передачи данных от потока в ядре к пользовательскому процессу и обратно. • Выглядит как /dev/rtf* (где * номер от 0 до 150)

  8. RTLinux FIFO • #include <rtl_fifo.h> • 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);

  9. RTAI Realtime Application Interface архтектура подобная RTLinux Ядро Linux выполняется как idle task для системы реального времени. FIFOs based on mailboxs.

  10. VxWorks • WindRiver Systems • предназначена встраиваемых систем жесткого реального времени • имеет архитектуру клиент-сервер и построена в соответствии с технологией микроядра. • модульность и масштабируемость системы задается при сборке • Обычно вся система живет в одном адресном пространстве с ядром. Виртуальная память подключается опционально.

  11. VxWorks • Кросс-платформенная разработка • Разработчику доступен BSP (Board Support Package) в исходных текстах позволяющий портировать ОС на новый тип компьютера. • COM(Component Object Model) , DCOM, OLE for Process Control

  12. RTEMS • Real-Time Executive for Multiprocessor Systems • Real-Time Executive for Missile Systems • OAR Corporation • открытый код • Система состоит из ядра и различных менеджеров(памятиб семафоров..)б и пользовательских программ. • нет динамической загрузки модулей и приложений

  13. ChorusOS • микроядерная масштабируемая встраиваемая ОС, широко применяемая в телекоммуникационной индустрии. • ядро- актор- пользовательская программа

  14. RTX for WinNT • Расширение реального времени RTX (Real Time Extension) для ОС Windows NT (разработано корпорацией VenturСom) • Ядро реального времени (nucleus) интегрировано в ядро NT (kernel). Каждый процесс RTX выполняется как драйвер устройства ядра NT, при этом процессы не защищены друг от друга.

  15. INtime • Radisys Corporation • INTime выполняется параллельно NT

More Related