RTOS Concepts

35
REAL TIME OPERATING SYSTEM (RTOS) CONCEPTS

Transcript of RTOS Concepts

Page 1: RTOS Concepts

REAL TIME OPERATING SYSTEM (RTOS) CONCEPTS

Page 2: RTOS Concepts

What is Real Time? 1) Real time is a level of responsiveness that a user senses as sufficiently immediate or that enables the computer to keep up with some external process.2) Real time describes a human rather than machine sense of time.3) It is the class of computers systems that interacts with the external world in a time frame defined by the external world.4) It is the system in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced.5) If the timing constraints of the system are not met system failure is said to have occurred.

Page 3: RTOS Concepts

There are two aspects ralated to timeliness :1) Objective : The degree to which an entity (application,system,thread) operates in real time has acceptable timeliness properties according to timeliness specification.

2) Means To that Objective: Achieving an acceptable degree of timeliness may or may not involve the second aspect of real time computing.(Real time resource management)

Page 4: RTOS Concepts

What is RTOS?

1) A real time operating system (RTOS) is an operating system that guarantees a certain capability within a specified time constraint.

2) An OS is a system program that provides an interface between application programs and the computer system (hardware)

3) The applications where dependability that a certain task will finish before a particular deadline is just as obtaining the correct results.

4) Besides meeting deadlines RTOS must also be able to respond predictably to unpredictable events and process multiple events concurrently.

Page 5: RTOS Concepts

5) A system application/computer/operating system operates in real time to the degree that those of its actions which have time constraints are performed with acceptable timeliness.

6) A system is real time the degree that it employs real time resource management.The resources are explicitly managed for the purpose of operating in real time.

7) The system operating in real time needs an appropriate balance of real time resource management & hardware resource capacity.

Page 6: RTOS Concepts

OS Basics

Four main tasks of OS• Process Management

Process creation Process loading Process execution control Interaction of the process with

signal events Process monitoring CPU allocation Process termination

Page 7: RTOS Concepts

OS Basics

• Interprocess Communication Synchronization and

coordination Deadlock detection Process Protection Data Exchange Mechanisms

• Memory Management Services for file creation,

deletion, reposition and protection• Input/Output Management

Handles requests and release subroutines for a variety of peripherals and read, write and reposition programs

Page 8: RTOS Concepts

Types Of RTOS

1) Hard Real Time Systems: a) If it has a hard deadline for the completion of an action meaning that the deadline must always be met,otherwise the task has failed.

b) This types of systems deployed in embedded safety-critical systems in which missed deadline can be catastrophic. c) Examples: aircraft ,train,car,missile and nuclear reactor control systems.

Page 9: RTOS Concepts

2) Soft Real Time Systems :

a) Soft real time by default as “Not Hard Real Time.”

b) Missing some deadlines by some amount under some circumstances may be acceptable rather than failure.

c) In this systems there is usually a rising cost associated with lateness.

d) Soft real time means systems which have reduced constraints on “lateness” but still must operate very quickly and repeatably.

Page 10: RTOS Concepts

Architecture of RTOS The basic architecture of multitasking RTOS includesa) Program interface b) The Kernal c)Device Drivers d) Optional service modules

1) The Kernal provides an interrupt handler, task scheduler , resource sharing flags and memory management.

2) Primary function : To process interrupts that external and internal events cause.

3) Scheduler :That sets up the order of execution of your application code.

Page 11: RTOS Concepts

Command Interpreter Graphics Interface

Posix and Unix Graphics Programming Interface

GraphicsSupport Library

ANSICompliant

CLibrary

Network File System Remote

Procedure Calls

Streams

NetworkingKernal Services

InterruptDispatch

Logic and character I/O

FileManagement

MemoryManagement

Interprocess Communication

SupportLoader

Real TimeClock

Scheduling

Disc Miscellaneous Network Parallel Serial

Device Drivers

Page 12: RTOS Concepts

Requirement for Good RTOS

1) Multitasking Capabilities: A RT application is divided into multiple tasks. The separation into tasks helps to keep the CPU busy.

2) Short Interrupt Latency :Interrupt Latency = Hardware delay to get interrupt signal to the processor + time to complete the current instruction + time executing system code in preparation for transferring execution to the devices interrupt handler.

3) Fast Context Switch : The time between the OS recognizing that the awaited event has arrived and the beginning of the waiting task is called context switch time(dispatch latency).This switching time should be minimum.

Page 13: RTOS Concepts

4) Control Of Memory Management :an OS should provide way for task to lock its code and data into real memory so that it can guarantee predictable response to a interrupt.

5) Proper scheduling : OS must provide facility to schedule properly time constrained tasks.

6) Fine granularity Timer Services : Millisecond resolution is bare minimum . Microseconds resolution is required in some cases.

7) Rich set of Inter Task Communication Mechanism : Message queues,shared memory , Synchronisation –Semaphores,event flags

Page 14: RTOS Concepts

Fundamental RTOS capabilities :

a) RTOS vendor must provide worst case execution times for all times for all OS routines.

b) RTOS must include scheduling and resource sharing algorithms that enables deterministic behavior.

c) Effective RTOS must also be able to handle preemptive scheduling.It enables high priority tasks to execute without being blocked by lower priority tasks.

Page 15: RTOS Concepts

RTOS Concepts1) Scheduling and Dispatching : a) Scheduling is the creation of a schedule ie. A ordered list specifying how contending accesses to one or more sequentially reusable resources will be granted.

b) A schedule is some criteria such as timeliness.

c) Dispatching is granting access to the currently most eligible contending entity.

d) Eligibility is the entities position in a schedule or in the absence of schedule , other eligibility parameters such as priority and deadline.

Page 16: RTOS Concepts

e) More commonly RTOS/OS they can be used for dispatching from a heap of unscheduled contending entities (highest prority or earliest deadline) this is called dispatching rule.

2) Schedulable and Non-Schedulable Entities : A computing system has a mixture has schedulable & Non-schedulable entities.a) Schedulable Entities : Threads, tasks, processes in application and system s/w are scheduled by scheduler.

b) Non-Schedulable Entities: Interrupt handlers,OS commands,packet level N/W communication services ,OS scheduler. They execute continuously , periodically or in response to events,their timeliness is the responsibility of the system design and implementation not of the scheduler.

Page 17: RTOS Concepts

3) Timeliness Specification : There are two levels a) For Individual Entities : Schedulable ones such as threads ,non schedulable ones such as interrupt routines. b) For sets of Entities : For sets of entities have collective timeliness specification.

4) Schedulable Entity Timeliness Specifications a) First level of timeliness specification for a schedulable entity (thread) is that it may have one or more completion time constraints(deadlines).b) Second level of timeliness specification is that currently runnable set of such threads is scheduled such that to optimize collective timeliness.ie.to meet all deadlines.

Page 18: RTOS Concepts

5) Completion Time Constraint : It is predicate which applies to some portion(frequently all) of a threads locus of execution, that portion is called the time constraints scope.It is the part of the logic of the application.

6) Deadline : It is the completion time constraint which specifies the timeliness of the threads transit through the deadline scope whether the threads execution point reaches the end of the scope before the deadline time has occurred ie.whether the deadline is met.

Page 19: RTOS Concepts

7) Hard Deadline: It is completion time constraint ie.the threads execution point reaches the end of the deadline scope before the deadline time occurs,then time constrained portion of threads execution is timely otherwise that portion is not timely.

8) Soft Deadline: It is completion time constraint ie.the threads execution point reaches the end of the deadline scope before the deadline time occurs,then time constrained portion of threads execution is more timely otherwise that portion is less timely.

9) Soft Time Constraint :a) It is any relationship between the time when the threads execution point reaches the end of the that time constraints scope and the utility to the system of when it does so. b) A thread for which there is no relationship between the timing of its execution and its utility to the system is a non real-time system.

Page 20: RTOS Concepts

10) Non-schedulable Entity Timeliness Specifications :a) The completion time constraints of non-schedulable entities are Hard & soft upper bounds on their execution latencies(duration) which correspond to hard and soft deadlines of schedulable entities.

11) Upper Bound: An upper bound is completion time constraint.It specifies the timeliness of Non-schedulable entity’s execution point reaches the end of the scope before the upper bound time has occurred in which case the upper bound is satisfied.

Page 21: RTOS Concepts

a) Hard Upper Bound : Non-schedulable entity’s execution point reaches the end of the upper bound scope before the upper bound time occurs.Time constrained portion of the entity’s execution is timely,otherwise the portion is not timely.

b) Soft Upper Bound : Non-schedulable entity’s execution point reaches the end of the upper bound scope before the upper bound time occurs.Time constrained portion of the entity’s execution is more timely,otherwise the portion is less timely.

Page 22: RTOS Concepts

12) Predictability : a) It is to the degree that is known in advance.b) Determinism : the property is known exactly in advance.c) Maximum Entropy : Nothing at all is known in advance about the property.

13) Predictability of Timeliness Optimality : a) It’s the performance of the system of whole. ie.meet all deadlines , minimize the number of missed deadlines.b) The predictability of collective timeliness optimality,rather than predictability of each individual threads completion with respect to its own time constraint.

Page 23: RTOS Concepts

14) Hard Real Time : a) Case where for schedulable entities some time constraints are hard deadlines.b)Timeliness component of scheduling criterion is always meet all hard deadlines.c)For non-schedulable entities some upper bounds are hard,system has designed & implemented so that all hard upper bounds are always satisfied.

15) Soft Real Time : a) Time constraints are soft such as classical lateness function.b) Any scheduling criteria may be used such as minimizing the no. of missed deadlines.

Page 24: RTOS Concepts

Features Of RTOS1) Mulitasking : There are two ways to acheieve Multitasking to share CPU time between two or more tasks.

A) Pre-emptive Multitasking : a) An external tick interrupt ,interrupts task at an indeterminate point and passes control to kernal program. b) The kernal will save the state of the interrupted task ad then determine which task it should run next.c) The Kernal restore the state of task and pass control of the CPU to that task.d) Task will continue to run until it is interrupted by next external tick interrupt or voluntarily gives up allotted time slice.

Page 25: RTOS Concepts

Preemptive Kernel

Page 26: RTOS Concepts

B) Non-preemptive Multitasking :

a) In Non-preemptive multitasking a task is designed to relinquish control of the CPU to the kernal at regular intervals.

b) To the implementation of non-preemptive multitasking is the use of a message queue.

c) The kernal manages the message queue which is essentially a queue of message numbers & small amount of data.

.

Page 27: RTOS Concepts

Non Preemptive Kernel

Page 28: RTOS Concepts

2) Process thread can be prioritized : a) A OS schedules threads/or processes based on their relative priorities.b) Processes are forced to relinquish the processor if a higher priority process becomes ready to run.c) Highest priority runnable process will be executing on the system at all times

3) Sufficient number of interrupt levels : a) Advantage of interrupt threads is that they permit the OS to be more responsive to the devices it services. b) ISR typically disable other interrupts while executing using interrupt threads permits interrupts to be responded to at more regular intervals

Page 29: RTOS Concepts

Task Management

The main function of tasks within a Real-Time Multitasking Executive is the time-critical processing of external or internal events

Task States Task Switching

Page 30: RTOS Concepts

Task States

Page 31: RTOS Concepts

Process Scheduling Types Types of Scheduling Policies

• Deadline driven – ideal but not available• Cooperative – relies on current process to give

up the CPU• Pre-emptive priority scheduling – higher

priority tasks may interrupt lower priority tasks Static – priorities are set before the system

begins execution Dynamic – priorities can be redefined at run

time

Page 32: RTOS Concepts

Process Scheduling Types

Many priorities levels in a RTOS is better to have for complex systems with many threads

At least 128 levels A different priority level can be set for

each task or thread Round Robin – give each task an equal share

of the processor Implemented when all tasks or threads have

the same priority level May be implemented within a priority range

Page 33: RTOS Concepts

Real time Applications Used Today:

1) Military : For gathering data from a wide variety of real time sensors (satellite,air,surface,subsurface) and delivering it to analysis capabilities and weapon systems

2) Telecommunications: Real Time access to information from vast array of devices including computers,set top boxes,PDAs,Pagers and wireless phones.

3) Aviation: Improved real time capabilities will increase safety and efficiency by identifying dangerous situations and enabling flexible routing to relieve congestion and prevent collisions.

Page 34: RTOS Concepts

4)Automotive : Commuters will receive real time data , GPS location information and operational data via ground stations and satellites , thus routing the driver around accidents , roadwork or traffic congestion in real time.

5) Scientific : For monitoring and instrument control.eg.seismic information is increasingly distributed on a vast scale ,enabling scientist to verify even small scale nuclear detonations as well as helping smaller remote countries prepare for weather and seismic disastors.

Page 35: RTOS Concepts

Thank You!!