Real-Time Systems

1

Outline Introduction  Notion of Predictability  Scheduling  Critical Sections 

Real-Time Systems

2

Real-Time Systems 

Real-time systems are defined as those systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced.



Time is critical. Real-time systems MUST respond within specified times.

Real-Time Systems

3

A real-time system model

Real-Time Systems

4

Sensor/actuator processes

Sensor

Actuator

Stimulus

Sensor control

Response Data processor

Real-Time Systems

Actuator control

5

Sensor/actuator processes

Sensor

Actuator

Stimulus

Sensor control

Response Data processor

Real-Time Systems

Actuator control

6

Sensor/actuator processes

Sensor

Actuator

Stimulus

Sensor control

Response Data processor

Real-Time Systems

Actuator control

7

Classification of Real Time Systems 

Synchronous: events occur at predictable times in the flow-of-control.



Asynchronous: interrupts.



State-based vs. Event-based:  plane wing is at an angle of 32º (state)  plane wing moved up 4º (event)

Some Definitions 

Timing constraint: constraint imposed on timing behavior of a job: hard or soft.



Release Time: Instant of time job becomes available for execution. If all jobs are released when the system begins execution, then there is said to be no release time .



Deadline: Instant of time a job's execution is required to be completed. If deadline is infinity, then job has no deadline. Absolute deadline is equal to release time plus relative deadline .



Response time: Length of time from release time to instant job completes. Real-Time Systems

9

Deadlines 

A soft real-time system is a system whose operation is degraded if results are not produced according to the specified timing requirements.



A hard real-time system is a system whose operation is incorrect if results are not produced according to the timing specification.



A firm real-time system This is a combination of both hard and soft realtime, late results are worthless, but you are not in trouble.

Real-Time Systems

10

Notion of Predictability 

Real-time system must be predictable.  The behavior of the real-time system must be

predictable which means that with certain assumptions about workload and failures, it should be possible to show at “design time” that all the timing constraints of the application will be met.



For static systems: 100% guarantees can be given at design time.



For dynamic systems: not statically defined  Changeable system configuration

 Changeable workload  100% guarantee cannot be given since the characteristics of tasks are not

known a priori. Real-Time Systems

11

Common Misconceptions 

Real-time computing is equivalent to fast computing.



Real-time programming is assembly coding, priority interrupt programming, and writing device drivers.



Real-time systems operate in a static environment.

Real-Time Systems

12

Role Of Operating System

Typical Operating System

Typical Embedded Configuration

Schedules and Scheduling Jobs scheduled and allocated resources based on a set of scheduling algorithms and access control protocols  Scheduler: Module implementing scheduling algorithms  Schedule: assignment of all jobs to available processors, produced by scheduler  Valid schedule: 

 Every processor assigned to at most one job at a time  Every job assigned to at most one processor at a time  No job scheduled before its release time  Total amount of processor time assigned to every job is equal to its

maximum or actual execution time

Real-Time Systems

14

RT Scheduling Static: all scheduling decisions are determined before execution.  Dynamic: run-time decisions are used.  Periodic: processes that repeatedly execute.  Aperiodic: processes that are triggered by asynchronous events from the physical world.  Sporadic: aperiodic processes w/ known minimum inter-arrival jitter between any two aperiodic events. 

Preemptive vs. Nonpreemptive scheduling 

Preemptive Scheduling  Task execution is preempted and resumed later.

 Preemption takes place to execute a higher priority task.  Offers higher schedulability.

 Involves higher scheduling overhead due to context switching.



Non-preemptive Scheduling  Once a task is started executing, it completes its execution.  Offers lower schedulability.  Has less scheduling overhead because of less context switching.

Real-Time Systems

16

Standard Scheduling Algorithms 

Fixed Priority  Static fixed priority



Rate-Monotonic (RM) Algorithm  Static priority  Higher-frequency tasks have higher priority



Earliest-Deadline First (EDF) Algorithm  Dynamic priority

 Task with the earliest absolute deadline has highest priority

Real-Time Systems

17

RM Task priority is inversely proportional to the task period (directly proportional to task frequency)  At any moment, the processor is either 

 idle if there are no tasks to run, or  running the highest-priority task available



A lower-priority task can suffer many preemptions. Lower-priority tasks are effectively invisible

Real-Time Systems

18

RM (Rate Monotonic) Optimal static-priority scheduling  It assigns priority according to period  A task with a shorter period has a higher priority  Executes a job with the shortest period 

T1 (4,1) T2 (5,2) 5

10

15

5

10

15

T3 (7,2) Real-Time Systems

19

RM (Rate Monotonic) 

Executes a job with the shortest period

T1 (4,1)

T2 (5,2) 5

10

15

5

10

15

T3 (7,2)

Real-Time Systems

20

RM (Rate Monotonic) 

Executes a job with the shortest period

Deadline Miss ! T1 (4,1)

T2 (5,2) 5

10

15

5

10

15

T3 (7,2)

Real-Time Systems

21

Response Time 

Response time  Duration from released time to finish time

T1 (4,1)

T2 (5,2) 5

10

15

5

10

15

T3 (10,2)

Real-Time Systems

22

Response Time 

Response time  Duration from released time to finish time

Response Time T1 (4,1)

T2 (5,2) 5

10

15

5

10

15

T3 (10,2)

Real-Time Systems

23

EDF (Earliest Deadline First)   

Optimal dynamic priority scheduling A task with a shorter deadline has a higher priority Executes a job with the earliest deadline

T1 (4,1)

T2 (5,2) 5

10

15

5

10

15

T3 (7,2)

Real-Time Systems

24

Critical Sections   

Critical Sections are used to access shared resources Remove the assumption that tasks can be preempted at any time If a task is within a critical section of code  It may be preempted

 However, until that task finishes executing that critical section,

no other task can enter it (irrespective of its priority)  Obvious effect: Some higher-priority tasks which also need to enter a critical section will have to wait  Less obvious effect: Priority-inversion can occur

Real-Time Systems

25

Priority Inheritance Protocol 

Key feature is the priority inheritance rule:  When a higher-priority task A gets blocked due to

resource R by a lower-priority task B, B inherits the priority of A.  When B releases R, the priority of B reverts to the value it held before it inherited the priority of A.

Real-Time Systems

26

Performance Measures   

Miss rate: percentage of jobs executed but completed late Loss rate: percentage of jobs discarded Invalid rate: sum of miss and loss rate.

Real-Time Systems

27

Summary What are real time systems.  Some terms and definitions that describe real time systems  Some concepts of real time scheduling  Critical Sections 

Real Time Systems -

Real-time programming is assembly coding, priority interrupt programming, and writing device drivers. Real-time systems operate in a static environment.

499KB Sizes 2 Downloads 269 Views

Recommend Documents

Introduction to Real-Time Systems -
Periodic Task Scheduling. 110 / 233. Page 2. Problem formulation. 111 / 233. Page 3. Timeline scheduling. 112 / 233 ... Rate Monotonic (RM). 119 / 233 ...

Embedded-Systems-Real-Time-Operating-Systems-For-Arm-Cortex ...
Whoops! There was a problem loading this page. Retrying... Embedded-Systems-Real-Time-Operating-Systems-For-Arm-Cortex-M-Microcontrollers.pdf.

A Real Time Operating Systems (RTOS) Comparison
were accomplished during a masters thesis research work, and are ..... tant parts of the operating systems are in kernel space, such as memory management, task ... area, being used in small applications, tests, and even in medical and state of ...

Automated Redeployment of Real-Time Systems Informed by User ...
tributed applications optimized in accordance to user-defined constraints and workflows. ... have been deployed to search for survivors and gas leaks. Because of the .... This engine was developed for real-time, continuous systems and is ...

Information Value-Driven Near Real-Time Decision Support Systems
decision support system (DSS) based on a hybrid approach ... a near real time decision support system (DSS) for agile business ... If the com- putational latency for a query is CL and the synchronization latency is SL, then the information value of a

Prototyping Real-Time Vision Systems: An ... - Semantic Scholar
library of C++ code for real-time vision processing, into FVision (pronounced \ ssion"), a fully-featured domain-speci c language embedded in Haskell. The re-.