Академический Документы
Профессиональный Документы
Культура Документы
● Hard
● guaranteed worst-case response times
● absolutely, positively, first time every time
● Soft
● Kind of, sort of, usually
RTOS features
● It should be POSIX 1003.1b (formally 1003.4)
complaint
● Ability to schedule tasks in a manner to meet
time deadlines
● Small size and small overheads
What makes a good RTOS?
●
Multi-threaded and pre-emptible
●
Thread priority has to exist because no
deadline driven OS exists
●
Must support predictable thread
synchronization mechanisms
●
A system of priority inheritance must exist
...What makes a good RTOS?
● Predefined latencies
RTOS must have defined/calculated:
● task switching latency (context switch time)
● interrupt latency (time from interrupt to task run)
● Interrupt dispatch latency (time needed to go from
interrupt level to task level)
RTOS Kernel Functions
Scheduling algorithms...
For static real-time systems, task execution
time can be estimated prior to execution and
resulting task schedules can be determined off-
line
● Rate Monotonic (RM) scheduling
● Assigns different priorities to tasks proportional to
their frequency of occurrence
● It does not support run-time priority change
exposing changes of priority inversion
...Scheduling algorithms
● Earliest Deadline First (EDF)
it is used for both static and dynamic real time
scheduling
● Many variant of this scheme exist in RTOS
Example RTOS’s
● LynxOS
www.lynuxworks.com
● Vxworks
www.windriver.com
● RTLinux
www.fslabs.com
● RTAI (Real Time Application Interface)
www.rtai.org
● Micrium µc-OS II
http://www.ucos-ii.com/
● QNX Neutrino
http://www.qnx.com/
Hard real time RTOS: LynxOS
● POSIX compatible, multi-process, multi
threaded OS for complex real-time apps
● Micro-kernel based architecture with core size
28kb (Lynx OS 3.0). Core consist of scheduling,
interrupt dispatch and synchronization
● Optional support for TCP/IP streams, I/O and
file systems, sockets etc
● Single source tree for various processor archs
● Thread priority levels upto 512
● Thread switch latency 4 μs to 19 μs
...Hard real time RTOS: LynxOS
Used in :-
● Flight simulator of Airbus A380