Scheduling Basic Concepts Ref: Hard Real-Time Computing Systems Giorgio Buttazzo Processes - Tasks -...

Post on 20-Dec-2015

223 views 3 download

transcript

Scheduling

Basic Concepts

Ref: Hard Real-Time Computing SystemsGiorgio Buttazzo

Processes - Tasks - Threads

Nostalgia

Automobile Computers: 2006: 1-2 million lines of code

2010: 10 million lines of code

Apollo Guidance Computer First Microprocessor Microcontroller

99%+ of today’s computers are in embedded systems

The Osborne I (1981)

Hardware:•Dual 5¼-inch floppy disk drives•4 MHz Z80 CPU•65 kilobytes main memory•Fold-down keyboard doubling as the computer case's lid•5-inch, 52 character × 24 line monochrome CRT display•Parallel printer port•Serial port for use with external modems or serial printers

Software:

CPM

Word Star

SuperCalc

Dbase II

CBasic

First Portable Computer

Orientation

• Schedule:

An assignment of tasks to the processor, so that each task is executed until completion

• Scheduling Policy:

Tasks assigned according to a predefined criterion

• Scheduling Algorithm:

The set of rules that determines the ordering of tasks

• Active Task Ready Task Running Task

(Ready Queue) (Dispatching)

Ready Queue

Definition of Schedule

What does it say?

Preemptive Schedules

Categories of Schedules

Deadlines

• Deadline:

Absolute – with respect to real-time (time zero)

Relative – with respect to arrival time

Real-Time Task Parameters

Real-Time Task Parameters

Periodic vs Aperiodic Tasks

Precedence Constraints

Precedence Example

Critical Sections

Binary Semaphore

Critical Section Example

Critical Section Model

Definition of Scheduling Problems

Classification of Scheduling Algorithms

Guarantee-Based Algorithms

Domino Effect Degradation