Presentation laddar. Vänta.

Presentation laddar. Vänta.

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.

Liknande presentationer


En presentation över ämnet: "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning."— Presentationens avskrift:

1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning

2 5.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Innehåll  Introduktion av CPU-schemaläggning, vilket är grunden för multiprogrammerade OS  Beskrivning av olika schemaläggningsalgoritmer  Kriterier för att välja algoritm för ett specifikt system

3 5.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Grundläggande koncept  Schemaläggning är en grundläggande funktion i OS – nästan alla resurser schemaläggs innan användning CPU-schemaläggning:  En process alternerar mellan att använda CPU:n och att göra I/O (CPU–I/O Burst Cycle)  Viktigt att veta distributionen av CPU-burstarna när man väljer algoritm

4 5.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Alternating Sequence of CPU And I/O Bursts

5 5.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Histogram of CPU-burst Times

6 5.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition CPU-schemaläggaren  Väljer en av processerna i minnet som är redo att exekvera och allokerar CPU:n till den  Schemaläggningsbeslut kan göras när en process: 1.Växlar från tillståndet running till tillståndet waiting 2. Växlar från tillståndet running till tillståndet ready 3. Växlar från tillståndet waiting till tillståndet ready 4.Avslutas (terminerar)  Schemaläggning enligt 1 och 4 är nonpreemptive  All annan schemaläggning är preemptive

7 5.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Dispatcher  En annan viktig komponent för CPU- schemaläggningen är dispatchern  Dispatchern ger den utvalda processen kontroll över CPU:n, vilket innebär att den:  Gör en context switch  Växlar till user mode  Hoppar till det ställe i programmet där det skall återstartas  Dispatch latency – tiden det tar att stoppa en process och starta en annan.

8 5.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Kriterier för schemaläggning  CPU-utnyttjande – CPU:n ska utnyttjas så mycket som möjligt  Throughput – antal processer som exekverar klart per tidsenhet  Turnaround time – tiden det tar att exekvera en specifik process  Waiting time – tiden en process får vänta i ready queue  Response time – tiden det tar från det en förfrågan görs tills det systemet svarar

9 5.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition First-Come, First-Served (FCFS) ProcessBurst Time P 1 24 P 2 3 P 3 3  Anta att processerna anländer i följande ordning: P 1, P 2, P 3 Gantt-schemat blir då:  Väntetid för P 1 = 0; P 2 = 24; P 3 = 27  Genomsnittlig väntetid: ( )/3 = 17 P1P1 P2P2 P3P

10 5.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition FCFS-schemaläggning (forts) Anta att processerna istället anländer i följande ordning: P 2, P 3, P 1  Gantt-schemat blir då:  Väntetid för P 1 = 6; P 2 = 0 ; P 3 = 3  Genomsnittlig väntetid: ( )/3 = 3  Mycket bättre än föregående fall  Nonpreemptive, inte bra för tidsdelningssystem P1P1 P3P3 P2P

11 5.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Shortest-Job-First (SJF)  SJF associerar varje process med längden på dess nästa CPU-burst  När CPU:n blir ledig får processen med den kortaste CPU-bursten exekvera  SJF är optimal – den ger en minimal genomsnittlig väntetid för en given mängd processer  Svårigheten är att veta längden på nästa CPU- burst… (går ej i short-term scheduling)

12 5.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Example of SJF ProcessBurst Time P 1 6 P 2 8 P 3 7 P 4 3  Gantt-schema med SJF  Genomsnittlig väntetid = ( ) / 4 = 7 P4P4 P3P3 P1P P2P2 24

13 5.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Bestämma längden på nästa CPU-burst  Vi kan inte veta längden, men vi kan uppskatta den  Kan göras genom att använda längderna på föregående CPU- burstar, genom att beräkna ett exponentiellt medelvärde. 1. t n = längden på CPU-burst n 2. Τ n+1 = uppskattat värde på nästa CPU-burst 3. En konstant α som ligger mellan 0 och 1, typiskt 0,5 4. Definition: Τ n+1 = α t n + (1- α) Τ n

14 5.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Prediction of the Length of the Next CPU Burst

15 5.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Preemptive SJF Process Arrival time Burst Time P108 P214 P329 P435 Hur kommer Gantt-schemat att se ut? Vad blir den genomsnittliga väntetiden?

16 5.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Prioritets-schemaläggning  En prioritet (integer) associeras med varje process  CPU:n allokeras till processen med högst prioritet (lägst heltal  högst prioritet)  Preemptive  Nonpreemptive  Problem  Starvation (svält) – processer med låg prioritet kanske aldrig får exekvera  Lösning  Aging – prioriteten ökar med väntetiden

17 5.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Round Robin (RR)  Varje process exekverar en kort tid (tidskvanta q), vanligtvis millisekunder. När denna tid har gått placeras processen sist i ready queue  Prestanda  q stort  FIFO  q litet  q måste vara stort i förhållande till context switch time  Riktvärde: 80% av CPU-burstarna ska vara mindre än q

18 5.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel: RR med tidskvanta = 4 ProcessBurst Time P 1 24 P 2 3 P 3 3  Gantt-schemat blir:  Oftast längre turnaround-tid än SJF, men lägre response-tid P1P1 P2P2 P3P3 P1P1 P1P1 P1P1 P1P1 P1P

19 5.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Tidskvanta and Context Switch

20 5.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Turnaround Time Varies With The Time Quantum

21 5.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Köer med flera nivåer  Ready queue delas upp i olika köer: foreground (interactive) background (batch)  Varje kö har sin egen schemaläggningsalgoritm  foreground – RR  background – FCFS  Schemaläggning måste göras mellan köerna  Prioritetsschemaläggning; (dvs, först alla från foreground och sen alla från background)  80% till foreground med RR  20% till background med FCFS

22 5.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Multilevel Queue Scheduling

23 5.23 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Multilevel Feedback Queue  En process kan flytta mellan olika köer  Schemaläggaren måste definiera följande parametrar:  Antal köer  Algoritmer för varje kö  Bestämma när en process skall uppgraderas  Bestämma när en process skall nedgraderas  Bestämma vilken kö en process skall läggas i från början

24 5.24 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel på en Multilevel Feedback Queue  Tre köer:  Q 0 – RR med tidskvanta 8 millisekunder  Q 1 – RR med tidskvanta 16 millisekunder  Q 2 – FCFS  Schemaläggning:  En ny process läggs i kö Q 0. När den får CPU:n, får den exekvera 8 millisekunder. Om den inte är klar efter 8 millisekunder flyttas den till kö Q 1.  I kö Q 1 får processen ytterligare 16 millisekunder. Om den fortfarande inte är klar flyttas den till kö Q 2.

25 5.25 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Multilevel Feedback Queues


Ladda ner ppt "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning."

Liknande presentationer


Google-annonser