190 likes | 280 Views
Scheduling Basic Concepts Ref: Hard Real-Time Computing Systems Giorgio Buttazzo Ref: Real-Time Systems & Software Alan Shaw Processes - Tasks - Threads.
E N D
SchedulingBasic ConceptsRef: Hard Real-Time Computing SystemsGiorgio ButtazzoRef:Real-Time Systems & SoftwareAlan ShawProcesses - Tasks - Threads
Real-Time SystemsPeriodic and AperiodicHard & Soft DeadlinesScheduling of Tasks – Static & DynamicSharing of Resources and Critical SectionsDomino Effect
Shaw’s notation: Successive events are separated by at least p The Sporadic process
Cyclic Executives for Scheduling Periodic Tasks: Broken into blocks: Major Cycles (MCT) – shortest period where all task periods align all tasks execute in a major cycle Minor Cycles (mct) – “frames” used to allocate tasks or portions of tasks Example: Say you have two tasks: T1 = (c1, p1, d1) = (1, 2, 2) T2 = (c2, p2, d2) = (1, 3, 3) |xxxxxx______|xxxxxx______|xxxxxx______|…….. |______xxxxxx______|xxxxxx____________|…… 0 1 2 3 4 5 6 MCT = 6 mct = 2 (or 1) Allocations are: {T1,T2} {T1,T2} {T1}, repeat
Can this be scheduled? What is MCT? What is mct? What is a schedule?
Ada-like implementation of this scheduling. Clock returns the current time Delay_until x causes the task to block until at least time x
Some principles about periodic scheduling: We assume all processes are released at time t0. Why? The MCT is the least common multiple (lcm) of the periods. Why? The mct must divide the MCT. Why? The mct must be >= the longest computation block. Why? mct <= di for all I = 1,…, n mct + (mct - gcd(mct, pi)) <= di
Home work #1: (Lecture 4/03) From Buttazzo: From Shaw: Exercises 2.2: 1, 2, 3, 5, 6