Сводные таблицы характеристик свойств ОСРВ
Ниже следуют 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 |
/p>
ОСРВ | 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 |
Характеристики ОСРВ
ОСРВ | Модель | Число уровн. приор. | Мах. число задач | Политики планирования | Состояния процесса/потока | Механизмы синхронизации/ взаимодействия |
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 | Да |
ОСРВ | Управление прерываниями | Управление временем | |||
Прерывания | Контекст | Стек | Взаимодействие прерываний с задачами | ||
VxWorks | Вложенные, с приоритетами | Обработчики прерываний выполняются в отдельном контексте | Специальный стек для прерываний. Если архитектура этого не позволяет, то используется стек прерванной задачи | Рразделяемая память и циклические. буфера, семафоры, очереди сообщений, каналы, сигналы | Часы (clock), интервальный таймер |
QNX | Вложенные, с приоритетами | Прерывание обрабатывается в контексте потока | Прерывание имеет свой собственный стек | Сигналы и импульсы | Часы (clock), интервальный таймер |
Windows CE | Вложенные, с приоритетамиIST используется для обработки большинства прерываний | ISR выполняется. в специальном контексте, при этом ISR использует виртуальные адреса, статическое. отображение. OEM. IST выступает как обычный поток приложения и имеет свой собственный контекст и приоритет. | IST выступает как обычный поток приложения и имеет свой собственный стек | Из ISR можно подать сигнал в IST только с помощью события. OEM может создать область разделяемой памяти с помощью статического отображения области памяти в адресное пространство ISR. | Часы (clock), интервальный таймер |
pSOS | Вложенные, с приорите-тами | Прерывание выполняется в контексте потока | Стек ядра или стек прерывания в зависимости от целевой платформы | Через объекты взаимодействия и синхронизации | Часы (clock), интервальный таймер |
ChorusOS | Обработчики прерываний выполняются в отдельном контексте | Флаги событий, MIPC | Универсальное интервальное время, виртуальный таймер, универсальное. время. часы истинного времени, сторожевой таймер, оценочный таймер |