real time systems

84
Real-Time Systems Deepak John Deepak John Department Of Computer Applications SJCET-Pala

Upload: deepak-john

Post on 13-Nov-2014

259 views

Category:

Education


1 download

DESCRIPTION

Real Time Systems

TRANSCRIPT

Page 1: Real Time Systems

Real-Time Systems

Deepak John Deepak John Department Of Computer Applications

SJCET-Pala

Page 2: Real Time Systems

Real-time Systems -- Introduction Real-time systems are defined as those systems in which the

correctness of the system depends not only on the logical result ofcomputation, but also on the time at which the results are produced.

A l i h f d dli i i d• A real time system has performance deadlines on its computations and actions.

Deadline: time when execution must be completed A deadline is• Deadline: time when execution must be completed. A deadline iseither a point in time (time-driven) or a delta-time interval (event-driven) by which a system action must occur.

Hard deadline: late data may be a bad data.

Soft deadline: late data may be a good data.Soft deadline: late data may be a good data. Hard real-time systems (e.g., Avionic control). Firm real-time systems (e.g., Banking). Soft real-time systems (e.g., Video on demand).

Page 3: Real Time Systems

Applications

I. Industrial Applications(Chemical Plant Control,Automated Car Assembly Plant)

II Medical(Robot used in recovery of displaced radioactiveII. Medical(Robot used in recovery of displaced radioactivematerial)

III. Peripheral Equipment(Laser Printer, Scanner)IV A tomoti e and Transportation(M lti Point f el injectionIV. Automotive and Transportation(Multi Point fuel injection

System)V. Telecommunication application(Cellular Systems)VI A (C t B d i ft)VI. Aerospace(Computer on Board an aircraft)VII. Internet and Multimedia(Video Conferencing)VIII. Consumer Electronics(Cell Phones)IX. Defense applications(Missile Guidance System)X. Miscellaneous Applications(Railway Reservation System)

Page 4: Real Time Systems

Basic Model of a RTSBasic Model of a RTS

Page 5: Real Time Systems

Characteristics of RTS1 Time constraints(dead line associated with tasks)1. Time constraints(dead line associated with tasks)2. New Correctness Criterion(not only logical correctness, time is also

important)3 E b dd d(RTS b dd d i t )3. Embedded(RTS are embedded in nature)4. Safety – Criticality(failure of the system cause extensive damages)5. Concurrency(RTS must process concurrent data)6. Distributed and feedback structure7. Task Criticality(is a measure of the cost of failure of a task)8 Custom hardware8. Custom hardware9. Reactive(RTS are often reactive means an ongoing interaction

between system and environment is maintained)St bilit10. Stability

11. Exception handling

Page 6: Real Time Systems

S f t d li bilitSafety and reliability

In Traditional system safety and reliability are independent issues

In RTS safety and reliability are dependent issuesF il f f i hi h if d h h Fail safe state: of a system is one which if entered when the system fails ,no damage would result.

Safety critical systems: is one whose failure can cause Safety critical systems: is one whose failure can cause severe damages

Page 7: Real Time Systems

How to achieve high reliabilitySteps to achieve highly reliable softwarep g y1. Error avoidance2. Error detection and removal3. Fault toleranceHardware Fault Tolerance1. Built In Self Test2. Triple modular redundancy

Page 8: Real Time Systems

Software fault tolerance 1. N-version programming an adaptation of TMR Technique Is not very successful in achieving fault tolerance 2. Recovery block

Page 9: Real Time Systems

Types of RT TaskRTT can be classified based on the consequences of a task missing

its deadlineHard RTT(robot)Hard RTT(robot) Firm RTT(video conferencing) Soft RTT(url)( )Non RTT(e-mail)

Page 10: Real Time Systems

Timing constraints

Events in a RTS:an event may be either by the system or itsenvironment. Based on this, events can be classified intoenvironment. Based on this, events can be classified into

1. Stimulus Events: are generated by the environment andact on the systemy

2. Response Events: are usually produced by the system inresponse to some stimulus events, and act on theenvironment

Classification of Timing Constraints1. Performance constraints: are imposed on the response of

the system. it ensure that the system performssatisfactorilysatisfactorily

2. Behavioral constraints: are imposed on the stimuligenerated by the environment. it ensure that the

Page 11: Real Time Systems

Each of performance and behavioral constraints can further classifiedinto1. Delay Constraint2. Duration Constraint3 dli i3. Deadline constraint

Delay Constraint: captures the minimum time elapse between theoccurrence of two events e1 and e2 expressed asoccurrence of two events e1 and e2.expressed as

t(e2)-t(e1)≥d where t(e1) and t(e2) are the time stamps of e1 ande2,d is the required minimum separation between e1 and e2 and ∆is the actual separation in time between the occurrence of twoevents

Page 12: Real Time Systems

Deadline Constraint: captures the permissible maximumseparation between e1 and e2.ie the second event must follow thefirst event within the permissible maximum separation time .where t(e1) and t(e2) are the time stamps of e1 and e2,d is thedeadline and ∆ is the actual separation in time between thedeadline and ∆ is the actual separation in time between theoccurrence of two events

Page 13: Real Time Systems

Duration Constraint: specifies the time period over which the event acts it can be either minimum or maximumevent acts. it can be either minimum or maximum.

Page 14: Real Time Systems

Modeling timing constraints It can serve as a formal specification of the system It can serve as a formal specification of the system Finite State Machine is used to model traditional systems is used to model traditional systems. at any point of time a system can be in any one of a state. State is represented by a circle State is represented by a circle. A state change is called state transition A transition from one state to another state is represented by t a s t o o o e state to a ot e state s ep ese ted by

drawing a directed arc from source to destination. Extended Finite State Machine Used to model time constraints It extends FSM by incorporating the action of setting a timer

and the expiry event of a timer

Page 15: Real Time Systems

SS Constraints

Page 16: Real Time Systems

RS Constraints

Page 17: Real Time Systems

SR Constraints

Page 18: Real Time Systems

RR Constraints

Page 19: Real Time Systems

RTT Scheduling Task instance: task is generated when some specific event

occurs Relative deadline and Absolute deadlineAbsolute deadline of a task is the absolute time value by whichAbsolute deadline of a task is the absolute time value by which

the results from the task are expectedRelative deadline is the time interval between the start of the task

and the instance at which deadline occurs

Page 20: Real Time Systems

Response time T k P d t k i id t d th t k if Task Precedence: a task is said to precede another task ,if

the first task must complete before the second task can stat Data sharing Data sharing

Page 21: Real Time Systems

Types of Real-Time Tasks Periodic tasks

- Time-driven.- repeats after a certain fixed time interval- represented byrepresented byE.g.: monitoring temperature of a patient in an ICU.

Aperiodic tasksE ent dri en- Event-driven.

- arise at random instants-E.g.: Task activated upon detecting change in patient’s condition.

Sporadic Tasks Recurs at random instants Represented byep ese ted by E.g: emergency message sending

pi : task period ai : arrival time ri : ready time di : deadlineg :minimum separation between the consecutive instances of a taskgi :minimum separation between the consecutive instances of a task

ei : worst case execution time.

Page 22: Real Time Systems

RTT scheduling basic concepts

•Proficient scheduler•Optimal schedulerp•Scheduling points•Preemptive scheduler•Utilization

Page 23: Real Time Systems

Classification of RTT Scheduling algorithms

Page 24: Real Time Systems

Another classification is based on task acceptance test1. Planning Based1. Planning Based2. Best Effort Another classification is based on the target platform ong p

which the tasks are to be run1. Uniprocessor2. Multiprocessor3. Distributed

Page 25: Real Time Systems

Clock driven Scheduling Scheduling points are determined by timer interrupts.Also Called off line scheduler because it fix the schedule before the

system starts to run.T bl D i S h d li1. Table Driven Scheduling

Precompute which task would run when andstore this schedule in a table at the time thestore this schedule in a table at the time thesystem is designed or configured

Application programmer can set hispp p gown schedule

Schedule table used to store the schedule Major cycle

Page 26: Real Time Systems

2. Cyclic scheduler•Very popular and extensively used in industry•Very popular and extensively used in industry•Simple ,efficient and easy to program•Repeats a precomputed schedule, precomputed schedule needs top p p , p pbe stored only for one Major cycle.•Major cycle is divided into one or more minor cycles,and is calledfframe

•Scheduling points occur at frame boundaries

Page 27: Real Time Systems

Each task is designed to run in one or more frames.Assignment of tasks to frame is stored in a schedule tableAssignment of tasks to frame is stored in a schedule table

Frame size should satisfy the following constraints1 Minimum context switching1. Minimum context switching2. Minimization of table size3. Satisfaction of task deadline

Page 28: Real Time Systems

Generalized task scheduler

Initially a schedule(assignment of task to frames) for periodictask is prepared, sporadic and aperiodic task are scheduled inthe slack times that may available in the frame

Page 29: Real Time Systems

Hybrid schedulingTime sliced Round Robin schedulerPreemptive scheduling methodReady tasks are held in circular queuey qTime slice

EVENT DRIVEN SCHEDULEREVENT DRIVEN SCHEDULER

• Overcomes the shortcomings of other types(wastage of frame size)• Can handle aperiodic and sporadic tasks more proficientl• Can handle aperiodic and sporadic tasks more proficiently• Less efficient and deploy complex scheduling algorithms.• Less suitable for embedded applicationsLess suitable for embedded applications.• Scheduling points are defined by task completion and task arrivals

events.• Are normally preemptive

Page 30: Real Time Systems

Foreground and background schedulerSi l i i d i h d l Simplest priority driven scheduler.

RTT in an application is run as foreground tasks. Sporadic aperiodic and non RTT are run as background tasks Sporadic , aperiodic and non RTT are run as background tasks. Among foreground tasks at every scheduling point the highest

priority task is taken up for scheduling. A background task can run when none of the foreground is ready

Page 31: Real Time Systems

Earliest deadline first(EDF) A dynamic priority scheduling algorithm A dynamic priority scheduling algorithm At every scheduling point task having the shortest deadline is

taken up for scheduling.p g A task set is schedulable under EDF,if and only if it satisfies

the condition that the total processor utilization due to thetask set is less than 1

Is an optimal uniprocessor scheduling algorithm means if aset of tasks is unschedulable under EDF then no otherset of tasks is unschedulable under EDF,then no otherscheduling algorithm can feasibly schedule this task set.

A variant is Minimum Laxity First(MLF) A variant is Minimum Laxity First(MLF)• Every scheduling point a laxity value is computed for every

task and task having minimum laxity is executed first.g y• Laxity measures the execution time

Page 32: Real Time Systems

Implementation of EDF1. Maintain all tasks that are ready for execution in a queue, aty q ,

every preemption point task having shortest deadline scheduled.its inefficient

2. Maintain all ready tasks in a priority queuey p y q3. A FIFO queue maintained for tasks, based on relative deadline

and absolute deadline Shortcomingsg

Page 33: Real Time Systems

Rate monotonic algorithm Important Event driven optimal Static priority algorithm used in Important Event driven optimal Static priority algorithm used in

practical applications.Assigns priority to tasks based on their rate of occurrence. Priority of a task is directly proportional to its rate

Schedulability test Schedulability test1. Necessary condition: total cpu utilization due to all the task in

the task set should be less than 12. Sufficient condition:

Page 34: Real Time Systems

Advantage RMA1. RMA Transient overload handling: means when a lower priority

t k d ’t l t ithi it l d l ti ti ttask doesn’t complete within its planned completion time ,cantmake any higher priority task to miss its deadline .

Di d tDisadvantages1. Difficult to support aperiodic and sporadic task.2 Is not optimal when task periods and deadlines are differ2. Is not optimal when task periods and deadlines are differ

Page 35: Real Time Systems

Deadline monotonic algorithmA variant of RMA and assigns priorities to tasks based ong p

their deadlines, rather than assigning priorities based on taskperiods .

Assigns high priority to tasks with shorter deadlineAssigns high priority to tasks with shorter deadline Issues in using RMA in practical situations

1 Handling critical tasks with long periods(Period1. Handling critical tasks with long periods(Periodtransformation technique)

2. Handling aperiodic and sporadic tasks Aperiodic server1. deferrable server(tickets are replenished at regular intervals

independent of actual ticket usage),independent of actual ticket usage)2. sporadic server(replenishment time depends on exact ticket

usage time, guarantees a minimum separation between twoinstances of a task)

Page 36: Real Time Systems

3. Coping with limited priority levels(assigning priority to task)a. Uniform scheme(all the tasks in the application are uniformly

di id d th il bl i it l l if it t ibl thdivided among the available priority levels, if its not possible thenmore tasks should be made to share the lower priority levels)

b. Arithmetic scheme(the number of tasks assigned to differentb. e c sc e e( e u be o s s ss g ed o d e epriority levels form an arithmetic progression. Let N be thenumber of tasks thenN 2 3 h b h l b f i i l l )N=r+2r+3r+..nr ,where n be the total number of priority levels )

c. Geometric scheme(the number of tasks assigned to differentpriority levels form a geometric progressionpriority levels form a geometric progressionN=r+kr2+kr3+..krn

d. Logarithmic scheme(shorter period tasks should be allotteddistinct priority levels and many lower priority tasks on the otherhand can be clubbed together at the same priority levels withoutcausing any problem to the schedulability of HP Task)causing any problem to the schedulability of HP Task)

Page 37: Real Time Systems

Resource Sharing Among RTTSerially reusable resource Non pre-emptable resource

PRIORITY INVERSION

Simple priority inversion Unbounded priority inversion

Page 38: Real Time Systems

Unbounded priority inversion

Page 39: Real Time Systems

Priority inheritance protocol (pip)

Is a simple technique to share CR among tasks withoutincurring unbounded priority inversions.

The essence of this protocol is that whenever a task sufferspriority inversion, the priority of the lower priority task holdingthe resource is raised through a priority inheritance mechanismthe resource is raised through a priority inheritance mechanism.it enables it to complete its usage of the CR as early as possiblewithout having to suffer preemption from intermediate tasks.

When several tasks waiting for a resource ,the task holding theresource inherits the highest priority of all tasks waiting for the

(if thi i it i t th it i it )resource.(if this priority is greater than its own priority)

Page 40: Real Time Systems
Page 41: Real Time Systems
Page 42: Real Time Systems

1. DeadlockPIP- Two important problems

consider following sequence of actions by two tasks T1 andT2,which need access to two shared CR1 and CR2

T1 :Lock CR1,Lock CR2,Unlock CR2, Unlock CR1

T2: Lock CR2,Lock CR1,Unlock CR1, Unlock CR2

i T h hi h i it th Ti. T1 has higher priority than T2

ii. T2 starts running first and locks CR2

iii T1 arrives preempts T2 and starts executingiii. T1 arrives ,preempts T2 and starts executingiv. T1 locks CR1 and then tries to lock CR2 which is being held by T2

v. T1 blocks and T2 inherits T1 ‘s priority according to the PIP1 2 1 p y gvi. T2 resumes its execution and after sometime needs to lock the

resource CR1 being held by T1

vii. T1 and T2 are both deadlocked

Page 43: Real Time Systems

Chain BlockingA task is said to undergo chain blocking ,if each time itg gneeds a resource ,it undergoes priority inversion

1. T1 needs several resources ,and high priority than T2

2. T2 holding CR1 and CR2 and T1 arrives and requests tolock CR1.it undergoes priority inversion and causes T2 toinherit its priorityinherit its priority

3. As soon as T2 release CR1 its priority reduces to itsoriginal priority and T1 is able to lock CR1o g a p o ty a d 1 s ab e to oc C 1

4. After executing for some time T1 requests to lock CR2.This time it again undergoes priority inversion since T2 isholding CR2. T1 waits until T2 release CR2

Page 44: Real Time Systems
Page 45: Real Time Systems

Highest locker protocol(hlp) E t i f PIP Extension of PIP Every CR is assigned a ceiling priority valueCeiling priority of a CR is defined as the maximum of theg p y

priorities of all tasks which may request to use this resource.when a task acquires a resource its priority is set equal to the

ceiling priority of all its locked resources if the task holdsceiling priority of all its locked resources, if the task holdsmultiple resources then it inherits the highest ceiling priority of allits locked resources.

C ili i it f R b C il(R )Ceiling priority of a resource Ri be Ceil(Ri)priority of a task Tj is pri(Tj)

Ceil(Ri) =max({ pri(Tj) / Tj needs Ri})( i) ({ p ( j) j i})

Page 46: Real Time Systems

TheoremWhen HLP is used for resource sharing once a task gets a resource

i d b i I i bl k d f hrequired by it. It is not blocked any further.Corollary 1.

under HLP before a task can acquire one resource ,all the resourcesqthat might be required by it must be free.

Corollary 2.a task cant undergo chain blocking in HLPa tas ca t u de go c a b oc g

Shortcomings1. Inheritance related inversion

when the priority value of a low priority task holding awhen the priority value of a low priority task holding aresource is raised to a high value by the ceiling rule, the intermediatepriority tasks not needing the resource cannot execute and are said toundergo inheritance related inversionundergo inheritance related inversion

Page 47: Real Time Systems

Tasks T1,T2,T3,T4,T5 and their priority values 1,2,3,4,5Let T T and T need CR and T T and T need CRLet T1,T2 and T3 need CR1 and T1,T4 and T5 need CR2

Then Ceil(CR1)=max(1,2,3)=3Ceil(CR2)=max(1 4 5)=5Ceil(CR2) max(1,4,5) 5

When T1 acquires the CR2 its priority become 5After T1 acquires CR2,T2 and T3 wouldn’t be able to executeAfter T1 acquires CR2,T2 and T3 wouldn t be able to executeeven though they may be ready, since their priority less thanthe inherited priority of T1.in this situation T2 and T3 are said tob d i i h i l d i ibe undergoing inheritance related inversion

Page 48: Real Time Systems

Priority ceiling protocol(pcp)Mi i i i i h it l t d i i Minimizing inheritance related inversions

A resource may not be granted to a requesting task even ifthe resource is free

Associates a ceiling value with every resource, that is themaximum of the priority values of all tasks that might use theresource

an OS variable called CSC(Current System Ceiling) is used tokeep track of the maximum ceiling value of all the resourcesp gthat are in use at any instant of timeCSC=max({Ceil(CRi)/CRi is currently in use})

CSC i i i i li d 0(l i i h h l i i CSC is initialized to 0(lower priority than the least prioritytask in the system)

Page 49: Real Time Systems

Resource sharing among tasks under PCP is regulated usingtwo rules

Resource Grant Rule: consist of two clauses. these two clausesare applied when a task requests to block a resource

Page 50: Real Time Systems
Page 51: Real Time Systems

Different types of priority inversions under pcp

Page 52: Real Time Systems
Page 53: Real Time Systems

Important features of pcp

Theorem: Tasks are single blocking under PCP D dl k id d Deadlock avoided Unbounded priority inversion avoided Chain blocking avoided Chain blocking avoided

Page 54: Real Time Systems

Issues in using a resource sharing protocol Using PCP in dynamic priority systems Using PCP in dynamic priority systems Comparison of resource sharing protocols1. PIP

Si l d ff i l h b d d i i i i bl• Simple and effectively overcomes the unbounded priority inversion problem• Tasks may suffer from chain blocking and deadlock• Requires minimal support from OSq pp2. HLP• Requires moderate support from the OS

Solves chain blocking and deadlock• Solves chain blocking and deadlock• Can make the intermediate priority tasks undergo large inheritance related

inversion and can cause tasks to miss their deadlines3. PCP• Free from deadlock and chain blocking• Priority of a task is not changed until a higher priority task requests the resourcey g g p y q• Suffers much lower inheritance related inversions than HLP

Page 55: Real Time Systems

Handling task dependencies Develop a satisfactory schedule for a set of tasks Table Driven Algorithm: determines feasible schedule for a set of

i di l ti t k h d d i iperiodic real time tasks whose dependencies are given EDF and RMA based schedulers: precedence constraints among

tasks can be handled in both EDF and RMA through the followingtasks can be handled in both EDF and RMA through the followingmodification to the algorithmDon’t enable a task until all its predecessors complete their

iexecutionCheck the tasks waiting to be enabled (on account of its

predecessors completing their execution) after every task completespredecessors completing their execution) after every task completes

Page 56: Real Time Systems

Scheduling Real time Tasks in Multiprocessor and distributed systemsy

Multiprocessor task allocation Utilization balancing algorithm Maintains the tasks in increasing order of their utilizations It removes task one by one from the head of the queue and allocates

th t th l t tili d tithem to the least utilized processor time. Next fit algorithm for RMA Classifies the tasks into few classes based on the utilization of the Classifies the tasks into few classes based on the utilization of the

task. One or more processors are assigned to each class of tasks Bin packing algorithm for RMA• Tasks are assigned to processors such that utilization at any processor

d t d 1does not exceed 1

Page 57: Real Time Systems

Dynamic allocation of tasksFocused addressing and biddingg g Every processor maintains two tables

a) Status Table :contains information about the tasks which it hascommitted to run, including information about the execution timeand period of the tasks.

b) system load table: contains latest load information of all otherb) system load table: contains latest load information of all otherprocessors of the system

When a task arise at a processor ,it first checks whether the task can beprocessed locally itself .if it can be processed ,it updates its status table.if not it looks for a processor to which it can offload the task(consultsits system load table ,sends out request for bid(RFB) ,focusedits system load table ,sends out request for bid(RFB) ,focusedprocessor).Every processor on receiving a broadcast from a processor about thel d i i d h l d blload position updates the system load tableHigh communication overhead

Page 58: Real Time Systems

Buddy algorithm• Tries to overcome the high communication overhead of the focusedTries to overcome the high communication overhead of the focused

addressing and bidding algorithm• Processor can be in any of two states

a) Under loaded: utilization is less than some threshold valueb) Overloaded: utilization is greater than the threshold value

b d l b dd ( f ) h• Processor broadcasts only to a buddy set(set of processors) whenthe status of a processor changes

Fault tolerant scheduling of tasksFault tolerant scheduling of tasks• Can be achieved by scheduling additional copies in addition to the

primary copy of a task

Page 59: Real Time Systems

Clocks in DRTSClocks in a system are useful for two main purposes

1. Determine time out2. Time stamping

Cl k h i i ( l d i l) Clock synchronization(external and internal)1. Centralized clock synchronization

Page 60: Real Time Systems

2. Distributed clock synchronization

•Byzantine clock y•Byzantine clock is two faced clock, it can transmit different values to different clocks at the same time.

Page 61: Real Time Systems

Features of rtosClock and timer support: clock and timer services with adequate pp q

resolution:

Real time priority levels: static priority levels F t t k ti i th ti d ti f hi h hi h i it Fast task preemption: is the time duration for which a higher priority

task waits before it is allowed to execute Predictable and fast interrupt latency:p y

interrupt latency is the time delay between the occurrence of an interrupt and the running of the corresponding ISR

Support for resource sharing among RTTRequirements on memory management S t f h I/O bl ki I/O Support for asynchronous I/O: non blocking I/OAdditional requirements for embedded RTOS:cost,size,power

consumption

Page 62: Real Time Systems

Unix as a RTOS

Popular and general purpose OS for mainframesTwo most important problems that a real time programmer

faces while using unix for real time applications are1 Non preemptive unix kernel1. Non preemptive unix kernel2. Dynamically changing priorities of tasks

Page 63: Real Time Systems

Non preemptive kernel Means all interrupts are disabled when any OS routine runs A process running in kernel mode cant be preempted by other

processes Unix system preempt processes running in the userprocesses. Unix system preempt processes running in the usermode.

Consequence of this is that even when a low priority processmakes a system call ,the high priority processes would have towait until the system call by the low priority process completes

For RT applications this causes a priority inversion For RT applications this causes a priority inversion Kernel routine starts to execute ,all interrupts are disabled

.interrupts are enabled only after the OS routine completes

Page 64: Real Time Systems

Dynamic Priority Levels

Unix uses round robin scheduling of tasks with multilevel feedback Unix uses round robin scheduling of tasks with multilevel feedback Scheduler arranges tasks in multilevel queues At every preempting point the scheduler scans the multilevel queue At every preempting point the scheduler scans the multilevel queue

from the top(highest priority) and selects the first task of the nonempty queue

Each task is allowed to run for a fixed time quantum at a time ,unix normally uses one second time slice.

The kernel preempts a process that doesn’t complete within its The kernel preempts a process that doesn t complete within itsassigned time quantum ,recomputed its priority and inserts it backinto one of the priority queues depending on the recomputed

i it l f th t kpriority value of the task.

Page 65: Real Time Systems

Pri(Ti,j) = Base(Ti)+CPU(Ti,j)+nice(Ti)

Pri(Ti,j)=priority of the task Ti at the end of jth time slice

Base(Ti)=base priority is established at process creation, based on theBase(Ti) base priority is established at process creation, based on thespecific type of process being created.

CPU(Ti j)=weighted history of CPU utilization of the task Ti at theCPU(Ti,j) weighted history of CPU utilization of the task Ti at theend of jth time slice

Ni (Ti)Nice(Ti)=

U(Ti,j)=is the utilization of the task Ti( i j) i

Page 66: Real Time Systems

Other deficiencies of unix

Insufficient device driver support Insufficient device driver supportLack of RT file services File blocks are allocated as and when they are requested by File blocks are allocated as and when they are requested by

an application. no guarantee is given that disk space would be available no guarantee is given that disk space would be available

when a task writes a block to a file Traditional file writing policies result in slow writes Blocks of the same file may not be contiguously located on

the disk Inadequate timer services support Real time timer support is insufficient for many hard RTA

Cl k l i i 10 i b d f h d A Clock resolution is 10msec is too bad for hard RTA

Page 67: Real Time Systems

Unix based rtosDifferent approaches that have been undertaken to make unix

suitable for RT applicationssuitable for RT applications Host target approach1. Host target OS are popularly being deployed in embedded

li tiapplications2. RT application development is done on a host machine which is

either traditional unix or windows system supporting theprogram de elopment en ironment compilers editors librarprogram development environment, compilers, editors, library,cross compilers , debuggers etc

3. RT application is developed on the host and is then crosscompiled to generate code for the target processor the developedcompiled to generate code for the target processor .the developedapplication is downloaded onto target board that is to beembedded in a RTS via a serial port or a TCP/IP connection

4 ROM resident small RT kernel is used in the target board and4. ROM resident small RT kernel is used in the target board andonce the program works successfully it is fused in the ROM andbecomes ready to deployed in applications

5 Ex:VxWorks PSOS VRTX5. Ex:VxWorks,PSOS,VRTX

Page 68: Real Time Systems

It needs cross compiler and cross debugger

Page 69: Real Time Systems

Extensions to the traditional unix kernel for RT ApplicationsI. by adding some RT capabilities(RT timer support, RT taskI. by adding some RT capabilities(RT timer support, RT task

scheduler ) over the kernel. Preemption Point approach1. Preemption points in the execution of a system routine are

the instants at which the kernel data structure is consistent2 In this point kernel can safely be preempted to make way2. In this point kernel can safely be preempted to make way

for any waiting higher priority RTT to run withoutcorrupting any kernel Data structures

h i f ll h i i3. The execution of a system call reaches a preemption pointthe kernel checks to see whether any higher priority taskshave become ready .if there is at least one ,it preempts they , p pprocessing of the kernel routine and dispatches the waitinghighest priority task immediately

4 Ex: HP UX Windows CE4. Ex: HP UX, Windows CE

Page 70: Real Time Systems

Self host systems1. A RTA is developed on the same OS on which the RTAp

would finally run2. Once the application runs satisfactorily on the host, it is

fused on a ROM or flash memory on the target board alongfused on a ROM or flash memory on the target board alongwith a possibly stripped down version of the OS.

3. While deploying the application the OS modules that arenot essential during task execution are excluded tominimize the size of the OS

4 Based on micro kernel architecture-only the core4. Based on micro kernel architecture-only the corefunctionalities such as interrupt handling and processmanagement are implemented as kernel routines. All otherf ti liti h t filfunctionalities such as memory management, filemanagement, device management etc are implemented asadd on modules which operate in the user mode

Page 71: Real Time Systems

Non Preemptive kernel It is necessary to use locks at appropriate places in the kernel

code to overcome the problem Two types of locks are used incode to overcome the problem. Two types of locks are used infully preemptive unix systems

1. Kernel level locks Similar to traditional lock Inefficient due to context switch overhead2. Spin lock

Page 72: Real Time Systems

RT priorities Unix based RTS support dynamic ,RT and idle priorities Idle-lowest priority level, idle task run this level, static and are

not recomputed periodically D namic recomp ted periodicall Dynamic-recomputed periodically, RT-static priorities and are not recomputed during run time, hard

RTT operate at these levelsp

Page 73: Real Time Systems

Windows as a RTOS Important features of windowspNT

Timer and clock resolutionsare sufficiently fine for mostRTAS t f ltith di Support for multithreading

Availability of RT prioritylevelslevels.

Support 32 priority levels.

Page 74: Real Time Systems

Shortcomings of windows NT

Interrupt processing-priority level of interrupts is higherthan user level threads.

ISR(interrupt service routine):very critical processing is performed.

DPC(deferred procedure call):for low priority process. Support for resource sharing protocols-NT doesn’t provide

any support to RTT to share CR among themselves, simplestapproach is by careful priority settings while acquiring andreleasing locks another possibility is to implement PCPreleasing locks, another possibility is to implement PCP

Page 75: Real Time Systems

Posix(portable operating system interface)

Open softwareOpen software Open system-are based on open standards and are not copyrighted,

allows users to intermix h/w , s/w and networking solutions from, gdifferent vendors, interoperability(systems from multiple vendorscan exchange information among each other) and portabilityR d th t f d l t i th il bilit f dd Reduces the cost of development, increase the availability of add-on software packages ,enhances ease of programming andfacilitates easy integration of separately developed modules Open software Standards

1. Open source-provides portability at the source code level2. Open object-provides portability of unlinked object modules

across different platforms3 Open binary provides complete s/w portability across h/w3. Open binary-provides complete s/w portability across h/w

platforms based on a common binary language structure

Page 76: Real Time Systems

Overview of posix

POSIX standard defines only interfaces to OS services andthe semantics of these services, but doesn’t specify how, p yexactly the services are to be implemented Specifies the system calls that an OS needs to support Important parts of POSIX

1. POSIX 1: system interfaces and system call parameters2. POSIX 2: shells and utilities3. POSIX 3: test methods for verifying conformance to POSIX4. POSIX 4: RT extensions

Page 77: Real Time Systems

RT POSIX Standard Main requirements of POSIX-RT are Execution scheduling: support for real time priorities Performance requirements on system calls: worst case

execution times required for most RTOS services has beenifi d b POSIX RTspecified by POSIX -RT

Priority levels: should be at least 32Timers: periodic and one shot timers Timers: periodic and one shot timers

RT files: RTF system should be support Memory locking Memory locking Multithreading support

Page 78: Real Time Systems

Benchmarking real time systemsMIPS(Million Instructions Per Second) and FLOPS(FLoating Point

Operations Per Second)Rhealstone Metric

6 t f RTS id d6 parameters of RTS are considered1. Task Switching Time (tts )2 Task Preemption Time(t )2. Task Preemption Time(ttp )3. Interrupt Latency Time (til)4. Semaphore shuffling time(tss)p g ( ss)5. Unbounded Priority Inversion Time(tup)6. Datagram Throughput time(tdt)

Page 79: Real Time Systems

1. Task Switching Time (tts ):is defined as the time it takesfor one context switch among equal priority tasksg q p y

Page 80: Real Time Systems

2. Task Preemption Time(ttp ):defined as the time it takes to startexecution of a higher priority task ,after the condition enablingthe task occurs .consists of the following 3 components

I. Task switching timeTi t i th t bli th hi h i itII. Time to recognize the event enabling the higher priority.

III. Time to dispatch

Page 81: Real Time Systems

3. Interrupt Latency Time (til):consists of the followingcomponentsp

1. Hardware Delay in CPU recogonizing the interrupt.2. Time to complete the current instruction.p3. Time to save the context of the currently running task.4. Start the ISR

Page 82: Real Time Systems

4. Semaphore shuffling time(tss):is defined as the timeelapses between a lower priority task releasing a semaphorep p y g pand a higher priority task to start running

Page 83: Real Time Systems

5. Unbounded Priority Inversion Time(tup):is computed as thetime it takes for the OS to recognize priority inversion(t1) and runthe task holding the resource and start T after T completes(t )the task holding the resource and start T2 after T1 completes(t2)tup=t1+t2

6 Datagram Throughput time(td ):indicates the number of6. Datagram Throughput time(tdt):indicates the number ofkilobytes of data that can be transferred between two taskswithout using shared memory or pointers

Page 84: Real Time Systems

Interrupt processing overhead

•Tridimensional Measureconsiders 3 factors that affect the performance of a RTS