2006 г.
Операционные системы реального времени
И.Б. Бурдонов,
А.С. Косачев,
В.Н. Пономаренко
Препринт Института системного программирования РАН
Назад Оглавление Вперёд
5. Сводные таблицы характеристик свойств ОСРВ
Ниже следуют 4 таблицы.
ОСРВ | Архитектура | Предсказуемая производительность реального времени | Что реализует микроядро, размер (мин., мах.) | VxWorks | Клиент-сервер, микроядро WIND Microkernel | Приоритетное планирование в двух вариантах, наследование приоритетов | Многозадачность, планирование, переключение контекста, взаимодействие /синхронизация задач, управление разделяемой и динамической памятью, управление прерываниями | QNX | Клиент-сервер, микроядро и взаимодействующие процессы | Приоритетное планирование с выбором методов планирования. Наследование приоритетов | Потоки, сигналы, передача сообщений, синхронизация, планирование, временные сервисы | Windows CE | Модульная с ядром и необязательными компонентами | Приоритетное планирование | | pSOS | Клиент-сервер, отсутствует протокол взаимодействия на основе сообщений, вместо него исппользуется программная шина | Приоритетное планирование, отсутствует наследование приоритетов | | ChorusOS | Многослойная | Приоритетное планирование, мъютексы реального времени, таймеры с высокой разрешающей способностью, MIPC | Многозадачность, поддержка акторов, управление потоками, управление LAP, управление исключительными ситуациями, минимальное управления прерываниями | OSE | Многослойная | Приоритетное планирование, механизм предотвращения инверсии приоритетов | Приоритетное планирование, асинхронная передача сообщений, управление памятью, размер – 6К, 80К | OS-9 | | Приоритетное планирование, механизм предотвращения инверсии приоритетов | размер – 128К, 4MB | C EXECUTIVE | | | размер – 5К, 22К | CMX-RTX | | Приоритетное планирование, механизм предотвращения инверсии приоритетов | размер – 1К, 6К | Inferno | | | | INTEGRITY | | Приоритетное планирование, механизм предотвращения инверсии приоритетов | размер –70К | INtime | | | LynxOS | | размер –280К, 4М | Nucleus | | | RTX | | Приоритетное планирование, наследование приоритетов | | CORTEX | | | DeltaOS | | размер – 10К |
ОСРВ | Распределенная обработка | Сетевые протоколы | Файловые системы | VxWorks | | TCP/IP, FTP, SMTP, NFS, PPP, RPC, Telnet, BSD 4.4 TCP/IP networking,IP, IGMP, CIDR, TCP, UDP, ARP, RIP v.1/v.2, Standard Berkeley sockets, zbufs, SLIP, CSLIP, BOOTP, DNS, DHCP, TFTP, NFS, ONC RPC, WindNet SNMP v.1/v.2c with MIB compiler - optional, WindNet OSPF | DOS-FS, NFS, TrueFFS | QNX | Прозрачный доступ к удаленным ресурсам. Упрощенное проектирование отказоустойчивых кластеров | TCP/IP, FTP, SMTP, SNMP, NFS, PPP, ATM, ISDN, RPC, Telnet, Bootp, tiny TCP/IP | RAM, Flash, QNX, Linux, DOS, CD-ROM, DVD, NFS, CIFS | Windows CE | | | | PSOS | | | | ChorusOS | Прозрачный доступ к удаленным ресурсам | IPv4, IPv6, PPP, NTP, BFP, DHCP NFS, RPC, LDAP, FTP, Telnet | UFS, FIFOFS, NFS, MSDOSFS, ISOFS, PROCFS, PDEVFS | OSE | Прозрачный доступ к удаленным ресурсам | TCP/IP, FTP, SMTP, SNMP, PPP, ATM, ISDN, X25, Telnet, Bootp, http-server, FTP/TFTP, NTP, various routing protocols | FAT, VFAT, FAT32 | OS-9 | | TCP/IP, FTP, SMTP, SNMP, NFS, PPP, ATM, ISDN, X25, RPC, Telnet, Bootp, 802.11 | | C EXECUTIVE | | TCP/IP, SNMP, PPP, SNMP | | CMX-RTX | | TCP/IP, FTP, SMTP, SNMP, NFS, PPP, Telnet, Bootp | | Inferno | | TCP/IP, FTP, PPP, Telnet, Bootp | | INTEGRITY | | TCP/IP, FTP, SMTP, SNMP, NFS, PPP, ATM, X25, RPC, Telnet, Bootp, http, pop3, IGMP, UDP, ARP, RIP, sockets, zero-copy stack, tftp | | Intime | | TCP/IP | | LynxOS | | TCP/IP, SNMP, NFS | | Nucleus | | TCP/IP, SMTP, SNMP, PPP, Telnet | | RTX | | TCP/IP, все протоколы, поддерживаемые в. Windows | | CORTEX | | TCP/IP | | DeltaOS | | TCP/IP, FTP, SMTP, PPP, WAP, HTTP, HTML, XML, OSPF2, RIP2, CORBA | |
ОСРВ | POSIX | Среда разработки | Целевые платформы | VxWorks | POSIX 1003.1, .1b, .1c (включая pThreads) | | x86, PowerPC, ARM, MIPS, 68K, CPU 32, ColdFire, MCORE, Pentium, i960, SH, SPARC, NEC V8xx, M32 R/D, RAD6000, ST 20, TriCore | QNX | POSIX 1003.1-2001, с потоками и расширенным. РВ | Windows, Solaris, Self-Hosted, QNX4, Linux | ARM, MIPS, PowerPC, SH4, Strong ARM, XScale, x86 | Windows CE | | | ARMV4, SH3, SH4, MIPS, X86 | pSOS | | | | ChorusOS | POSIX-сигналы, сигналы реального времени, потоки, таймеры, очереди сообщений, семафоры. сокеты, разделяемая память | | UltraSPARC II (CP1500 и CP20x0), Intel x86, Pentium, Motorola PowerPC 750 и 74x0 (mpc7xx), Motorola PowerQUICC I (mpc8xx) и PowerQUICC II (mpc8260) | OSE | | Windows, Solaris, Linux | PowerPC, ARM, MIPS, StrongARM, Intel IXP2400, TI OMAP ARM7/C55, PowerQUICC, XScale, M-Core, Coldfire, Infineon C16x, Xc16x, E-Gold, Tricore, NEC V850, Atmel AVR, Mitusbishi M16C, Intel 8051, DSPs (TI C5/C6, Starcore, Agere 16k, LSI Logic ZSP, TigerShark, ST Micro) | OS-9 | | Windows | Motorola 68K, ARM/StrongARM, Intel IXP1200 Network Processor, MIPS, PowerPC, Hitachi SuperH, x86 or Intel Pentium, Intel IXC1100 XScale | C EXECUTIVE | | Windows, Solaris | x86, PowerPC, ARM, MIPS, 68K, i960,SH,TI | CMX-RTX | | Windows | x86, PowerPC, ARM, MIPS, практически все 8-, 16-, 32-бит. процессоры | Inferno | | Windows, Solaris, Linux | x86, PowerPC, ARM, MIPS, Sparc | INTEGRITY | POSIX 1003.1-2003 | Windows, Solaris, Linux, HPUX | x86, PowerPC, ARM, MIPS, ColdFire, StrongARMXScale | INtime | | Windows | x86 | LynxOS | POSIX.1/.1b/.1c | Sun Solaris, SunOS, RS6000, LynxOS Native/Hosted | x86, 68k, PPC, microSPARC, microSPARC II, PA-RISC | Nucleus | | Windows | x86, PowerPC, ARM, MIPS, Nios, Nios II, ColdFire, 68k, H8S, SH, DSP, OMAP, XScale, MCore | RTX | | Windows | x86 | CORTEX | | Windows, Solaris, Linux | Hitach H8/300H, H8/S и SH-1/2/3, TI TMS320C3X, POSIX.4 ( SUN SPARC) | DeltaOS | | Windows, Linux | x86, PowerPC, ARM, MIPS, Dragonball |
Таблица 1. Характеристики ОСРВ
ОСРВ | Модель | Число уровн. приор. | Мах. число задач | Политики планирования | Состояния процесса/потока | Механизмы синхронизации/ взаимодействия | VxWorks | Задачи имеют 1 поток, все задачи выполняются в одном адресном пространстве без какой-либо защиты. Компонент VxVMI дает возможность каждой задаче выполняться в собственном. адресном пространстве | 256 | Ограничено размером доступной памяти | POSIX и Wind планирование, каждый вариант имеет Preemptive priority и Round-robin | 9 | семафоры, мьютексы, условные переменные, флаги событий, POSIX-сигналы, очереди сообщений, почтовые ящики | QNX | процессы/потоки | 64 | 4095 процессов, в каждом процессе до 32767 потоков | FIFO с приоритетами, циклическое, адаптивное, спорадическое планирование | 14 | передача сообщений (очереди и почтовые. ящики), семафоры, мьютексы, флаги событий, сигналы POSIX | Windows CE | процессы/потоки, нити (fiber), неуправляемые ядром | 256 | 32 процесса, число потоков внутри процесса ограничено доступной RAM | с приоритетами, циклическое между потоками на одном приоритетном уровне, если квант установлен в 0, поток выполняется до завершения | 5: выполняется (running), приостановлен (suspended), спящий (sleeping), заблокирован (blocked), завершен (terminated) | критические секции, мьютексы, семафоры, условные переменные, события, передача сообщений (очереди, почтовые ящики), сигналы POSIX | pSOS | только потоки | 256 | Ограничено памятью | FIFO с приоритетами, циклическое | 4: создан (created), готов (ready), выполняется (running), заблокирован (blocked) | семафоры, флаги событий, сигналы POSIX, очереди сообщений | ChorusOS | процессы/акторы/потоки | | | FIFO с приоритетами, циклическое, планирование реального времени, опция одновремен. выполнения различных политик планирования, возможность создания собственного планировщика | | мьютексы, мьютексы реального времени, семафоры, флаги событий, LAP (Local Access Point), IPC (Inter-Process Communication) – сообщения, порты, группы портов, MIPC (почтовые. ящики), разделяемая память, очереди сообщений | OSE | | 32 | | FIFO с приоритетами | | | OS-9 | процессы/потоки | 65535 | | С приоритетами | | | C EXE-CUTIVE | | 32000 | | FIFO с приоритет., квантование времени | | | CMX-RTX | | | | FIFO с приоритет., циклическое с приоритетами | | | INTEG-RITY | | 255 | | циклическое с приоритетами,ARINC 653 | | семафоры, мьютексы, | INtime | | 255 | | FIFO с приоритетами, циклическое с приоритетами | | | LynxOS | | 512 | | FIFO с приоритетами, циклическое с приоритетами, фиксированные приоритеты, квантование времени, динамические приоритеты | | | RTX | | 128 | | | | | CORTEX | | 62 | | FIFO с приоритетами, циклическое с приоритетами, разделение времени, другие | | мьютексы и условия, мониторы и условия, вычислительные семафоры, события | DeltaOS | | 256 | | | | |
Таблица 2. Характеристики многозадачной обработки
ОСРВ | Модель защиты | Поддержка MMU | Виртуаль-ная память | Подкачка | Вызов стр. по запросу | VxWorks | -без защиты -защита виртуальной памяти (VxVMI) | не требуется, но поддерживается для VxVMI | да (для VxVMI) | нет | нет | QNX | защита виртуальной памяти | Да | да | да | нет | Windows CE | - защита виртуальной памяти - без защиты | да или нет (зависит от конфигурации) | да | да, но можно запретить | да, но можно запретить | pSOS | - без защиты, - защита кода, данных и пространства стека с помощью библиотечных функций (2 варианта –регионы и разделы) | не требуется | нет | нет | нет | ChorusOS | -без защиты, -защищенная память, -защита виртуальной памяти | да или нет (зависит от конфигурации) | да | да | да | OSE | | Да | | | | OS-9 | | Да | | | | C EXEC-UTIVE | | Нет | | | | CMX-RTX | | Да | | | | INTEG-RITY | | Да | | | | INtime | | Да | | | | LynxOS | | Да | | | | RTX | | Да | | | |
Таблица 3. Характеристики управления памятью
ОСРВ | Управление прерываниями | Управление временем | | Прерывания | Контекст | Стек | Взаимодействие прерываний с задачами | | VxWorks | Вложенные, с приоритетами | Обработчики прерываний выполняются в отдельном контексте | Специальный стек для прерываний. Если архитектура этого не позволяет, то используется стек прерванной задачи | Рразделяемая память и циклические. буфера, семафоры, очереди сообщений, каналы, сигналы | Часы (clock), интервальный таймер | QNX | Вложенные, с приоритетами | Прерывание обрабатывается в контексте потока | Прерывание имеет свой собственный стек | Сигналы и импульсы | Часы (clock), интервальный таймер | Windows CE | Вложенные, с приоритетамиIST используется для обработки большинства прерываний | ISR выполняется. в специальном контексте, при этом ISR использует виртуальные адреса, статическое. отображение. OEM. IST выступает как обычный поток приложения и имеет свой собственный контекст и приоритет. | IST выступает как обычный поток приложения и имеет свой собственный стек | Из ISR можно подать сигнал в IST только с помощью события. OEM может создать область разделяемой памяти с помощью статического отображения области памяти в адресное пространство ISR. | Часы (clock), интервальный таймер | pSOS | Вложенные, с приорите-тами | Прерывание выполняется в контексте потока | Стек ядра или стек прерывания в зависимости от целевой платформы | Через объекты взаимодействия и синхронизации | Часы (clock), интервальный таймер | ChorusOS | | Обработчики прерываний выполняются в отдельном контексте | | Флаги событий, MIPC | Универсальное интервальное время, виртуальный таймер, универсальное. время. часы истинного времени, сторожевой таймер, оценочный таймер |
Таблица 4. Характеристики управления прерываниями, синхронизацией и временем различных ОСРВ
Назад Оглавление Вперёд
|
|