Scheduling Basic Concepts Processes - Tasks - Threads

Post on 25-Feb-2016

25 views 0 download

Tags:

description

Scheduling Basic Concepts Processes - Tasks - Threads. Nostalgia. Apollo Guidance Computer First Microprocessor Microcontroller. Automobile Computers: 2006: 1-2 million lines of code 2010: 10 million lines of code. - PowerPoint PPT Presentation

Transcript of Scheduling Basic Concepts Processes - Tasks - Threads

Scheduling

Basic Concepts

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

Formal Definition of Schedule

See text page 22 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

Precedence Graph for 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

Best Effort Algorithms

Metrics for Performance Evaluation

Attempting to Minimize Lateness

Example Cost Functions

Scheduling Anomalies

Example

Adding a processor

Reducing Computation Times

Weaken Constraints

Resource Constraints

Exorcises