Hardware |
Multi-processor |
Scheduling |
Concurrency | |
---|---|---|---|---|
Linux |
Alpha, ARM, i386, MIPS, PowerPC, Sparc, SuperH, Etrax, m68k, PA-RISC |
Yes |
SCHED_FIFO, SCHED_RR, SCHED_OTHER |
UNIX-processes & Pthreads |
RTLinux |
i386, PPC, ARM |
Yes |
SCHED_FIFO |
Pthreads |
RTAI |
i386, MIPS, PPC, ARM, m68k-nommu |
Yes |
Fixed priority |
Lightweight processes |
RTEMS 4.5+ |
M68k, ColdFire, SuperH, i386, MIPS, i960, PowerPC, SPARC, AMD A29K. PA-RISC |
Static allocation |
SCHED_FIFO, SCHED_RR, SCHED_OTHER |
Pthreads |
QNX |
I386, ARM, MIPS, PowerPC, SuperH |
Yes |
SCHED_FIFO, SCHED_RR, SCHED_OTHER |
UNIX-processes, Lightweight processes, Pthreads |
VxWorks 5.x |
m68k/CPU32/ColdFire/PowerPC, i386, ARM, SuperH, MIPS |
Optional |
Fixed priority, Rodun-robin |
Lightweight processes |
LynxOS |
i386, m68k, PowerPC, ARM, SPARC, PA-RISC |
Yes |
FIFO, Priority Quantum, Round-Robin, Non-preemptive |
UNIX-processes & Pthreads |
Priorities lower- higher |
Memory protection |
Dynamic memory |
Inter-process communication | |
---|---|---|---|---|
Linux |
(0-100) |
Yes |
Yes |
Semaphores, Mutexes, Condition-var., shared-mem, signals, pipes. |
RTLinux |
(0-1000000) |
No |
No |
Semaphores, Mutexes, Condition-var., FIFO |
RTAI |
(0x3fffFfff-0) |
No |
Yes |
Semaphores, Mutexes, Condition-var., FIFO, Mailbox, shared-mem, net_rpc, Pqueues. |
RTEMS 4.5+ |
(255-1) (254-1) Posix |
No |
Yes |
Semaphores, Mutexes, Condition-var., Pqueues, Events. |
QNX |
(0-31) |
Yes |
Yes |
Semaphores, Mutexes, Condition-var., Barriers, Atomic operations, rd/wr-locks, Pqueues, shared-mem, FIFO. |
VxWorks 5.x |
(255-0) |
No |
Optional |
Semaphores, Mutexes, Message, RTSignals, |
LynxOS |
(0-255) |
Yes |
Yes |
Semaphores, Mutexes, shared-mem, Pqueues, signals, pipes, Condition-Var. |
Priority inversion control |
Time resolution |
Timers |
Low level programming | |
---|---|---|---|---|
Linux |
None |
Configurable (HighResTimers) |
POSIX timers |
No interrupt programming. |
RTLinux |
Immediate ceiling |
Hardware dependant |
None |
Full control HW |
RTAI |
Inheritance |
Hardware dependant |
None |
Full control HW |
RTEMS 4.5+ |
Inheritance & Immediate ceiling |
Hardware dependant |
POSIX timers |
Full control HW |
QNX |
Immediate ceiling |
Configurable |
POSIX timers |
Interrupts can be handled by user processes. |
VxWorks 5.x |
Inheritance |
Configurable |
Watchdog timers, POSIX timers |
Full control HW |
LynxOS |
Inheritance |
Configurable |
POSIX timers |
POSIX-style threads of execution within the kernel for interrupt handling. |
QoS |
Network |
Filesystem | |
---|---|---|---|
Linux |
FIFO, CBQ, CSZ, ATM, PRIO, RED, SFQ, TLE, TBF, GRED, Diffserv, Ingress, RSVP |
IP, UDP, TCP, SLIP, PPP, ICMP, DHCP, RARP, RARP, TFTP, RPC, FTP, HTTP |
ReiserFS, ext2, ext3, NFS, CIFS, ADFS, FAT, VFAT, NTFS, CRAMFS, ISO9660, MINIX, QNX4, ROM, JFS, XFS, Flash |
RTLinux |
None |
None |
None |
RTAI |
None |
IP, UDP |
None |
RTEMS 4.5+ |
None |
IP, UDP, TCP, SLIP, PPP, ICMP, DHCP, RARP, TFTP, RPC, FTP, HTTP, CORBA |
IMFS, DOSFS/FAT |
QNX |
None |
IP, UDP, TCP, ARP, ICMP, IGMP, QNET |
RAMFS, QNX4, DOS, ISO9660, ext2, NFS, CIFS, Flash |
VxWorks 5.x |
None |
TCP/IP IP, UDP, TCP, IGMP, ICMP, ARP RIP 1/2 SLIP, CSLIP, PPP BOOTP, DNS, DHCP, TFTP FTP, RLOGIN, RSH, TELNET |
FAT, NFS, raw, TrueFFS |
LynxOS |
None |
IP, UDP, TCP, ICMP, IGMP, ARP, RARP, DHCP, NAT, RPC, NTPv3, Raw, Zebra routing, TFTP |
Lynx Fast File system, ISO9660, NFS, RAMFS. |
Debug |
Languages |
API compatibilitiy | |
---|---|---|---|
Linux |
GDB, DDD, Insight, System debugg, LTT |
C, C++, ADA, Java, |
POSIX 1003.1, VxWorks, pSOS |
RTLinux |
Simple trace, GDB |
C, C++ |
POSIX 1003.1c |
RTAI |
KGDB |
C |
Custom, POSIX 1003.1b |
RTEMS 4.5+ |
GDB, DDD, Debug over: ethernet, serial, BDM |
C, C++, ADA |
RTEID/ORKID,uITRON 3.0, POSIX 1003.1b |
QNX |
GDB, memory overrruns. |
C, C++, Java |
POSIX 1003.1, POSIX 1003.1b |
VxWorks 5.x |
GDB, Debug over: ethernet, serial, WindView, Trace |
C, C++ |
Propietary (VxWorks), POSIX 1003.1, POSIX 1003.1b |
LynxOS |
GDB, Insight, Debug over: ethernet, serial |
C, C++, ADA |
Propietary, POSIX.1/.1b/.1c, Unix BSD 4.3. ABI compatibility with Linux 2.4 |