Professional Documents
Culture Documents
Real Time Operating System
Real Time Operating System
Although there is no clear dividing line between real-time and non-real-time systems, there are a set of distinguishing features which can assist with an outline classification schema to identify real-time applications. They are timing, interrupt driven, low-level programming, specialized hardware, volatile data i/o ,multi-tasking real-time systems ,run-time scheduling ,unpredictability ,life-critical code .
which must achieve an average throughput performance. Only when responses are delayed repeatedly will a seriously unacceptable error occur. The category of firm is also being mooted as a crossover between the other two, because real-world systems do not always fall into either category for response deadlines. A somewhat clearer distinction is visible between large and small real-time systems development. Design techniques, management methods, implementation languages and many other critical aspects are dealt with differently by groups operating at the two extremes of this application spectrum. Large systems could be production plant monitoring equipment, air traffic control and telecommunication networks. Real-time systems, large and small, are becoming a routine part of our everyday life.
1. Conformance to Standards :The operating system is compliant or partially complaint to the Real-Time POSIX API standard, so you have preemptive fixed priority scheduling, standard synchronization primitives, and so on, but the operating system may support only threads or processes (i.e., not both) and may implement only a subset of standard functions. The operating system also has its own set of API functions, which may differ significantly from the corresponding POSIX functions and, in the cases where they are similar, may have more features. Some of the operating systems also provide AT&T System V and BSD system call interfaces (e.g., LynxOS) and Willows Wim32 Library (e.g., QNX). 2. Modularity and Stability: the kernel is small, and the operating system configurable. In particular, the operating system can be scaled down to fit with the application in ROM in small embedded systems. By adding optional components to the kernel, the operating system can be configured to provide I/O, file, and networking services. 3. Speed and Efficiency: Most of the operating systems are microkernel systems. Unlike microkernel systems of old, which usually have higher run-time overhead than monolithic operating systems, these microkernel operating systems have low overhead. In some, sending a message to a system service provider incurs no context switch. Important timing figures such as contact-switch time, interrupt latency, semaphore get/release latency, and so on, are typically small. 4. System Calls: Nonpreemptable portions of kernel functions necessary for mutual exclusion are highly optimized and made as short deterministic as possible. 5. Split Interrupt Handling: Similarly, the nonpreemptable portion of interrupt handling and the execution times of immediate interrupt handling routines are kept small. The bulk of the work done to handle the each interrupt is scheduled and executed at an appropriate priority. 6. Scheduling: All real-time operating systems offer at least 32 priority levels, which is the minimum number required to be Real-Time POSIX compliant; most offer128 or 256/255. They all offer the choice between FIFO or round-robin policies for scheduling equal-priority threads. They allow you to change thread priorities at run time, but none provides adequate support for EDF scheduling and good look for user-level bandwidth-preserving servers and slack stealers. 7. Priority Inversion Control: The operating system provides the priority inheritance but may allow you to disable it to save the overhead if this mechanism if you choose to use a resource access-control scheme that does not need priority inheritance. The system may also provide ceiling-priority protocol. 8. Clock and Timer Resolution: The operating system may provide a nominal timer resolution down to nanoseconds. However, even on the fastest processor today, the operating systems take about a microsecond to process a timer interrupt, so you should not expect to be able to release a thread periodically with a period down to microseconds or precision and granularity in time down to tens and hundreds of nanoseconds.
9. Memory Management: The operating system may provide virtual-to-physical address mapping but does not do paging. The operating system may not offer memory protection. Even when it does, it provides the user with the choice among multiple levels of memory protection, ranging from no protection to provide virtual memory. 10. Networking: The operating system can be configured to support TCP/IP, streams, and so on.