View
228
Download
3
Embed Size (px)
Citation preview
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