Slide 1: Submitted By
Sri Durga Devi Polytechnic College
Chennai REAL TIME OPERATING SYSTEM Definition- Real Time Operating System : Definition- Real Time Operating System A real-time operating system (RTOS) is an operating system that guarantees a certain capability within a specified time constraint.
It is a multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers), industrial robots, spacecraft, industrial control (see SCADA), and scientific research equipment. Slide 3: An RTOS must respond in a timely manner to changes, but that does not necessarily mean that an RTOS can handle a large throughput of data.
Sometimes an RTOS will even need to drop data to ensure that it meets its strict deadlines.
An RTOS may be either event-driven or time-sharing.
An event-driven RTOS is a system that changes state only in response to an incoming event. A time-sharing RTOS is a system that changes state as a function of time Architecture of Real Time Operating System : Architecture of Real Time Operating System Two basic designs exist:
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.
Time-sharing designs switch tasks more often than is strictly needed, but give smoother, more deterministic multitasking, giving the illusion that a process or user has sole use of a machine.
Early CPU designs needed many cycles to switch tasks, during which the CPU could do nothing useful, so early OSes tried to minimize wasting CPU time by maximally avoiding unnecessary task-switches. Scheduling : Scheduling In typical designs, a task has three states:
1) running, 2) ready, 3) blocked. Most tasks are blocked, most of the time. Only one task per CPU is running. In simpler systems, the ready list is usually short, two or three tasks at most.
The real key is designing the scheduler. Usually the data structure of the ready list in the scheduler is designed to minimize the worst-case length of time spent in the scheduler's critical section, during which preemption is inhibited, and, in some cases, all interrupts are disabled. But, the choice of data structure depends also on the maximum number of tasks that can be on the ready list. Algorithms Used in RTOS : Algorithms Used in RTOS Some commonly used RTOS scheduling algorithms are:
Fixed priority pre-emptive scheduling, an implementation of preemptive time slicing
Fixed-Priority Scheduling with Deferred Preemption
Fixed-Priority Non-preemptive Scheduling
Critical section preemptive scheduling
Static time scheduling Interrupt handlers and the scheduler : Interrupt handlers and the scheduler Since an interrupt handler blocks the highest priority task from running, and since real time operating systems are designed to keep thread latency to a minimum, interrupt handlers are typically kept as short as possible.
The interrupt handler defers all interaction with the hardware as long as possible;
The interrupt handler then queues work to be done at a lower priority level, often by unblocking a driver task (through releasing a semaphore or sending a message).
The scheduler often provides the ability to unblock a task from interrupt handler context. Examples for Real Time Operating System : Examples for Real Time Operating System These are the best known, most widely
deployed real-time operating systems.
Windows CE Background : Background Real-time systems are not necessarily fast (fast is a relative term), however there is a bounded latency on the time required to complete certain tasks.
In general, real-time systems must be able to respond predictably to unpredictable events, meet completion deadlines of particular tasks, and process multiple tasks at once.
There are two flavors of real-time systems, depending on the degree of failure if the system does not meet a deadline. Overview Of Real Time System : Overview Of Real Time System A real-time operating system (RTOS) may be a stripped-down version of an operating system that is common on desktop PCs, with a few special characteristics.
RTOSs are generally preemptible (a process that has control of the processor must yield to an arriving process with higher priority, allowing the higher priority process to run) and able to support multi-threaded processes (the ability of separate sections of a process to run concurrently).
Determinism is the ability of the operating system to perform a task in a determined amount of time. This attribute is probably most affected by the time required to acknowledge that an interrupt has occurred (i.e. interrupt latency). Description Of Real Time Operating System : Description Of Real Time Operating System There are additional fundamental aspects of RTOS design.
One is the ability of a particular process to communicate with another process (formally called interprocess communication or IPC).
This allows separate applications to interact with each other and share the same data.
The concept of IPC introduces another important operating system aspect, preventing a process from changing data while another process is using the data. Features Of Real Time Operating System : Features Of Real Time Operating System Real-time systems are typically embedded systems. The use of a commercial real-time operating system liberates the embedded applications programmer, saving the time and cost developing a hardware interface.
The principle is the same as using a high-level language to write software, instead of assembly language.
A possible tradeoff is some overhead in return for low development cost and effectiveness. Slide 13: Advantages:-
Can’t handle sporadic events
Everything must operate in lockstep
Code must be scheduled manually References : References http://en.wikibooks.org/wiki/Embedded_Systems/Real-Time_Operating_Systems
http://searchdatacenter.techtarget.com/sDefinition/0,,sid80_gci213667,00.html Slide 15: Thank You