A Real-Time Operating System (RTOS) is a multitasking operating system intended for real-time applications
Key factors in an RTOS are:
* a minimal interrupt latency
* and a minimal thread switching latency.
Scheduling:
* Event-driven (priority scheduling) designs switch tasks only when an event of higher priority needs service, called pre-emptive priority.
* Time-sharing designs switch tasks on a clock interrupt, and on events, called round robin.
Intertask communication and resource sharing:
* Temporarily masking/disabling interrupts
* Binary semaphores
* Message passing
A binary semaphore is either locked or unlocked. When it is locked, a queue of tasks can wait for the semaphore. Typically a task can set a timeout on its wait for a semaphore. Problems with semaphore based designs are well known: priority inversion and deadlocks.
Frank is a Software Engineer with rich experiences on messeging system, embedded system and communication system development. This is his work notes.
Wednesday, September 30, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment