Sunteți pe pagina 1din 35

REAL TIME OPERATING

SYSTEM (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.
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)
What is RTOS?
• 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.
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.
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
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
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.
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.
Architecture of RTOS
The basic architecture of multitasking RTOS includes
a) 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.
Command Interpreter Graphics Interface

Posix and Unix Graphics Programming Interface

Kernal Services Networking

Interrupt Memory Network File


Scheduling
Dispatch Management System Graphics
ANSI Remote Support
Compliant Procedure
Logic and Real Time Library
C Calls
character I/O Interprocess Clock
Library
Communication
File Support
Loader
Management Streams

Device Drivers
Disc Miscellaneous Network Parallel Serial
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.
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
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.
RTOS Concepts
1) 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.
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.
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.
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.
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.
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.
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.
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.
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.
Features Of RTOS
1) 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.
Preemptive Kernel
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.

.
Non Preemptive Kernel
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
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
Task States
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
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
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.
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.
Thank You!!

S-ar putea să vă placă și