Scheduling Basic Concepts Processes - Tasks - Threads
description
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