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 1 Downloads 87 Views

Recommend Documents

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.

pdf-1425\real-time-database-systems-architecture-and-techniques ...
... the apps below to open or edit this item. pdf-1425\real-time-database-systems-architecture-and- ... ies-in-engineering-and-computer-science-from-spri.pdf.

Epub Free Real-Time Embedded Systems: Design ...
give a complete picture of the whole process of developing software for real-time ... modeling and scheduling, but you will also learn software engineering.

ePub Download Embedded Systems: Real-Time ...
Consequently, it will be important to provide our students with these types of design experiences. ... purpose of writing this book at this time is to bring engineering education into the 21st century. ... to solve new problems with new technology.

EPub Download] Embedded Systems: Real-Time ...
... control, analog and digital filters, real-time signal processing, low-power design, and the internet of things. ... The educational ... The purpose of writing this book at this time is to bring engineering education into ... First, it begins with

Download Book Real-Time Systems and Programming ...
Real Time Systems and Programming Languages Ada Real Time Java and C Real Time POSIX 4th Edition ...... No other book on real-time (or concurrent).

pdf-1425\real-time-database-systems-architecture-and-techniques ...
... the apps below to open or edit this item. pdf-1425\real-time-database-systems-architecture-and- ... ies-in-engineering-and-computer-science-from-spri.pdf.

Pheme: A real-time user interface for distributed systems - GitHub
Jun 1, 2013 - standalone web application that is straightforward to use for both ..... In the Develop section we delve into how Pheme works internally.