180 likes | 507 Views
Real Time Systems. RTOS. Some terms. Program Process Thread Tasks. What are Real Time Systems. An RTS is a (computing) system where correctness of computing depends not only on the correctness of the logical result of the computation, but also on the result delivery time
E N D
Real Time Systems RTOS
Some terms • Program • Process • Thread • Tasks
What are Real Time Systems • An RTS is a (computing) system where correctness of computing depends not only on the correctness of the logical result of the computation, but also on the result delivery time • RT System is required to complete its work and deliver its service on a timely basis • E.g. Cruise control in cars, Blood pressure monitor, Air traffic controller, Industrial control systems, Aircraft control system • When real time system work correctly and well they make us forget their existence. • From the developer perspective distinguishing feature • Timeliness • Priorities
RTS- Classification • Hard Real Time systems • the system is taken to have failed if a computing deadline is not met • Soft Real Time Systems • a limited extent of failure in meeting deadlines results in degraded performance of the system but not catastrophic failure
RTOS-Basics • From the programmers perspective-What is OS? • Collection of system calls • Provide basic services to interact with the hardware • Core of the OS is kernel • Microkernel • For RTOS Kernel tends to be small and highly optimized
Can we use a GPOS in place of RTOS? • Factors affecting the decision • COST • GPU or Microcontrollers • RTOS are designed to extract extremely fast, predictable response times from lower-end hardware • services provided by an RTOS make many computing problems easier to solve, particularly when multiple activities compete for a system’s resources
RTOS vs. GPOS • GPOS, the scheduler typically uses a “fairness” policy to dispatch threads and processes onto the CPU • it offers no assurances that high priority, time-critical threads will execute in preference to lower-priority threads • GPOS may decay the priority assigned to a high-priority thread • GPOSs have unbounded dispatch latencies: the more threads in the system, the longer it takes for the GPOS to schedule a thread for execution
RTOS Vs. GPOS • threads execute in order of their priority • High priority task get within a small and bounded time interval access to CPU • high-priority thread can run uninterrupted until it has finished what it needs to do • In most GPOSs, the OS kernel isn’t preemptible • A lower priority tasks may invoke a system call which can block access of CPU to a higher priority task • In RTOS kernel operations are preemptible
RTOS Vs. GPOS • RTOS imposes an upper bound on how long preemption is held off and interrupts disabled • RTOS provide Mechanism to avoid Priority inversion • priority inversion occurs when two tasks of differing priority share a resource, and the higher-priority task cannot obtain the resource from the lower-priority task • Overall precise control over timing made possible by an RTOS adds a form of reliability that cannot be achieved with a GPOS
Basic Requirement for RTOS “250 uSec latency performance for greater than 99.5 percent of all scheduled tasks” • Predefined latencies • Task switching latency • Interrupt latency • Time elapsed between last inst. of interrupted task and ISR • Interrupt dispatch latency • Time to switch from last inst. of ISR to next task first Inst. • Multi tasking and preemptible • Sufficient priority levels • Dynamic deadline identification
Real-time operating systems (RTOS) • Windows CE • Built specifically for embedded systems and appliance market • Scalable real-time 32-bit platform • Supports Windows API • Perfect for systems designed to interface with Internet • Preemptive priority scheduling with 256 priority levels per process • Kernel is 400 Kbytes • QNX • Real-time microkernel surrounded by optional processes (resource managers) that provide POSIX and UNIX compatibility • Microkernels typically support only the most basic services • Optional resource managers allow scalability from small ROM-based systems to huge multiprocessor systems connected by various networking and communication technologies • Preemptive process scheduling using FIFO, round-robin, adaptive, or priority-driven scheduling • 32 priority levels per process • Microkernel < 10 Kbytes and complies with POSIX real-time standard • Others : LynxOS, VxWorks, Psos etc.