Download presentation
Presentation is loading. Please wait.
Published byValentine Garrett Modified over 9 years ago
1
Dreams in a Nutshell Steven Sommer steve@mpce.mq.edu.au Microsoft Research Institute Department of Computing Macquarie University
2
2 August 1997USENIX Windows NT Workshop Overview 1. Background 2. Dreams Model 3. Overrun 4. Implementation
3
3 August 1997USENIX Windows NT Workshop Dreams u Distributed Real-time Extensions with Application to Multimedia Systems u Extend conventional operating systems to support distributed real-time applications u Paradigm preserving
4
4 August 1997USENIX Windows NT Workshop Key Paradigm Differences u Multiple competing applications u Temporal protection u Absence of a priori knowledge u Different kinds of applications u Subsystems (servers) u Interrupts u Dynamic distribution
5
5 August 1997USENIX Windows NT Workshop 2. The Dreams Model u Transient Periodic Processes u Periodic Invocations u Specified F Period F Deadline F Execution Time
6
Application Create Real-Time Process Manager Reservations Manager Make Reservation System P1 P9 P5 Free Reserved 100% 0% Schedulability Test Yes / No Distribute Process Table P1 P5 P9 Create the Process Yes / No Real-Time Ready-to-Run Queue Add Process P1P5P9 CPU Allocate to CPU Scheduler 80486 Enforcer 6 The Dreams Model
7
7 August 1997USENIX Windows NT Workshop 3. Overrun Concepts u System guarantee: u A real-time task will receive its reserved resources between each invocation’s start-time and deadline u A task which consumes its reserved capacity without completing has overrun è Only overrun tasks can miss their deadlines u Task continues in overrun state u Overrun tasks receive refreshed resources at the start of their next period
8
Waiting Runnable Overrun Invocation’s Start Time Scheduled Thread Invocation Completion Invocation Overrun Overrun Leave Overrun Try Scheduling and Overrun 8
9
Sample Schedule 0 100 200 300 400 Time ID 01234567890123456789012345678901234567890123456789 ---- 4500 1.......RC........RC........RC........RC........R1O 4500 2.......SR2222222C...............R22222R22C........ 4500 3 33333333........R3R333333333R3333........R333333.R 5000 1.......C.........R1O..RC...R1C.......R1O..C....R1O 5000 2.......R2222222C................R22222.R22C....... 5000 3 33333333.......R33.R33C.........................SR 5500 1.......C.........R1O.......C.........R1O.......C.. 5500 2.......R2222222C................R22222.R22C....... 5500 3 33333333.......R33.R3333333R33333.........R3333R33 Legend:(S)tart(time) (R)un (scheduled) (C)ompleted (O)verrun Multiple Process Period Reservation Av. Execution Time first scheduled T1 100 20 20 ~70 T2 250 110 100 ~70 T3 1000 440 400 ~480. = 10ms
10
10 4. Implementation u Windows NT 3.51 implementation u Minimal impact on: u Non-real-time execution u Existing operating system code u Programming paradigm
11
Win32Subsystem POSIXSubsystem OS/2 ® Client Win32 ™ Client POSIXClient Protectedsubsystems(servers) User mode Kernel mode System Trap Message Passing / Shared Memory OS/2Subsystem DreamsSubsystem Applications DreamsClient System services I/O manager Kernel File systems Cache manager Device drivers Network drivers Hardware abstraction layer SecurityReferenceMonitor ObjectManagerProcessManager VirtualMemoryManager LocalProcedureCall Executive 11
12
Kernel Mode Dreams Window NT Kernel Dreams Subsystem Memory Space Dreams Client Application Memory Space Kernel Call Application Process Dreams DLL Real-Time Thread Dreams DLL Real-Time Scheduler + Enforcer Real-Time Thread Manager API Call Non real-time priority Real-time priority Procedure call via named pipes Shared Data Area Requests / Process Table Blocking Access Non blocking access Non blocking communication Shared Memory Periodic Invocation Reservation Manager Scheduling via NT Priority Control Create Thread 12
13
13 Implementation Experience u Dreams extensions in a subsystem u Meet implementation goals u Simpler development, modification, and testing u Priority inheritance u Useful in all operating systems (not just real-time) u Performance improvement u Two tiered scheduler (with priority inheritance) u Hides scheduling complexities u Simpler scheduling u Simpler schedulability model u Simpler timing and enforcement
14
14 August 1997USENIX Windows NT Workshop Summary u Background u Dreams Model u Overrun u Implementation
15
Sample Schedule 0 100 200 300 400 Time ID 01234567890123456789012345678901234567890123456789 ---- 4500 1.......RC........RC........RC........RC........R1O 4500 2.......SR2222222C...............R22222R22C........ 4500 3 33333333........R3R333333333R3333........R333333.R 5000 1.......C.........R1O..RC...R1C.......R1O..C....R1O 5000 2.......R2222222C................R22222.R22C....... 5000 3 33333333.......R33.R33C.........................SR 5500 1.......C.........R1O.......C.........R1O.......C.. 5500 2.......R2222222C................R22222.R22C....... 5500 3 33333333.......R33.R3333333R33333.........R3333R33 Legend:(S)tart(time) (R)un (scheduled) (C)ompleted (O)verrun Multiple Process Period Reservation Av. Execution Time first scheduled T1 100 20 20 ~70 T2 250 110 100 ~70 T3 1000 440 400 ~480. = 10ms
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.