De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Module code: Scheduling Het verdelen van processortijd onder processen en threads 1.

Verwante presentaties


Presentatie over: "Module code: Scheduling Het verdelen van processortijd onder processen en threads 1."— Transcript van de presentatie:

1 Module code: Scheduling Het verdelen van processortijd onder processen en threads 1

2 Module code: Scheduling-algoritme: criteria Rechtvaardigheid: ieder proces een rechtvaardig deel van de cpu-tijd Efficiëntie effectieve bezetting CPU Responsetijd minimaal voor interactieve gebruikers Turnaround (doorlooptijd) minimaal voor batchgebruikers Throughput (doorvoer) maximaliseer het aantal per uur verwerkte jobs 2

3 Module code: Scheduling: procestoestanden 3 exitrunning ready blocked new 5-toestanden-model Lange termijn Korte termijn

4 Module code: Scheduling: procestoestanden 4 exitrunning ready blocked suspend ready suspend new 7-toestanden-model Middellange termijn

5 Module code: 5

6 Scheduling: principes Nonpreemptive scheduling –job helemaal afronden –geen task switch Nonpreemptive multitasking –cooperative multitasking –task switch als blocked Preemptive multitasking –OS kan elk moment ingrijpen 6

7 Module code: Scheduling: wachtrijdiagram 7 Processor Scheduling middellange termijn Scheduling middellange termijn Batch jobs Scheduling lange termijn Time-out Interactive gebruikers Ready Queue Ready, Suspend Queue Blocked, Suspend Queue Blocked Queue Event Occurs Event Wait vrijgeven Scheduling korte termijn

8 Module code: Wachtrijen met prioriteiten 8 Processor Event occurs Blocked Queue Event Wait Preemptief onderbreken Toelaten RQn RQ1 RQ0 Dispatch vrijgeven...

9 Module code: First-Come-First-Served (FCFS, FIFO) Een gereed proces komt in de ready queue Bij wisseling komt het oudste proces aan de beurt 9 05 101520 1 2 3 4 5

10 Module code: Voorbeeld fifo (nonpreemptief) Gevraagd: Gemiddelde wachttijd Gemiddelde turn around tijd (tq) Gemiddelde tq / ts 10

11 Module code: Shortest Process Next Niet-preëmptieve strategie Proces met kortste verwachte verwerkingstijd wordt het eerst geselecteerd 11 0 5 101520 1 2 3 4 5

12 Module code: Kortste job eerst Bepaal de gemiddelde turnaroundtijd van a en van b bediend door een fifo scheduler. Aankomsttijd alle jobs = 0 12

13 Module code: Shortest Remaining Time Preëmptieve versie kortste resterende proces tijd strategie Moet een schatting van de verwerkingstijd gebruiken 13 0 5 101520 1 2 3 4 5

14 Module code: Highest Response Ratio Next (HRRN) Het volgende proces met de hoogste ratio wordt geselecteerd 14 time spent waiting + expected service time expected service time 1 2 3 4 5 0 5 101520 RR3 = (5 + 4)/4 = 2.25 RR4 = (3 + 5)/5 = 1,6 RR5 = (1 + 2)/2 = 1,5 Op T = 13 moet je weer kiezen: RR4 = (7+5)/5 = 2,4 RR5 = (5 + 2)/2 = 3,5

15 Module code: Round-Robin preëmptieve verwerking gebaseerd op een klok een tijdquantum wordt aan elk proces toegewezen 15 0 5 101520 1 2 3 4 5

16 Module code: Tijdsquotum & standaardinteractie 16

17 Module code: Wachtrijschema bij een scheduler met virtual round robin 17 Extra queue

18 Module code: Round-Robin scheduling Gevraagd: Gemiddelde turn around tijd tq en tq/ts time quanta = 1 18 0 5 101520 1 2 3 4 5 Vrij laag tq/ts zonder kennis van ts

19 Module code: Feedback Straf processen die lang uitgevoerd worden door prioriteit te verlagen 19 0 5 101520 1 2 3 4 5

20 Module code: Scheduling met feedback 20

21 Module code: Multiprocessorsystemen Gespecialiseerde processors –math.coprocessor, gpu, dma Sterk gekoppelde multiprocessing –meerdere processors op één moederbord –meerdere kernen in één processor Gedistribueerde multiprocessing / clustering –gekoppelde computers of processorboards Praktijk –combinatie van bovenstaande 21

22 Module code: Multiprocessor OS: ontwerpaspecten De toewijzing van processen aan processors Het gebruik van multiprogrammering op de verschillende processors De feitelijke toedeling (dispatching) van een proces 22

23 Module code: Thread scheduling Voordelen –Werklast verdeeld over CPU's –Gemeenschappelijk wachtrij Nadelen –Gemeenschappelijke wachtrij: uitsluiting? –CPU-cache minder efficiënt gebruikt –Veel proceswisselingen door afhankelijkheden tussen threads 23 - Delen van belasting - Groepsscheduling - Vaste processortoewijzing - Dynamische scheduling

24 Module code: Thread scheduling Deel/alle threads van een proces gelijktijdig op/van CPU Voordelen –Eenvoudige scheduling –Threads draaien parallel –Dus minder synchronisatieproblemen Nadelen –Minder efficiënte cpu-belasting 24 - Delen van belasting - Groepsscheduling - Vaste processortoewijzing - Dynamische scheduling

25 Module code: Thread scheduling Wanneer een proces wordt ingeroosterd, dan krijgt elke thread een processor toegewezen gedurende de levensduur van de toepassing Lijkt inefficiënt maar zinvol indien er veel processors zijn (20-100+) 25 - Delen van belasting - Groepsscheduling - Vaste processortoewijzing - Dynamische scheduling

26 Module code: Thread scheduling Proces en OS nemen samen een beslissing over het aantal te gebruiken threads Eén thread kan steeds op een andere processor verdergaan 26 - Delen van belasting - Groepsscheduling - Vaste processortoewijzing - Dynamische scheduling

27 Module code: Tentamenstof Hoofdstuk 9: –Paragrafen 9.1 t/m 9.2 27


Download ppt "Module code: Scheduling Het verdelen van processortijd onder processen en threads 1."

Verwante presentaties


Ads door Google