Operativsystem - Processkedulering Mats Björkman 2015-02-02.

Slides:



Advertisements
Liknande presentationer
PTS Bredbandskartläggning
Advertisements

En Dag i Ramadan Ramadan
Här ser ni några sidor som hjälper er att lösa uppgifterna:
Kap 1 - Algebra och linjära modeller
Restauranger och service Våren 2005 T SHR: Leif Holmström Temo: Arne Modig, David Ahlin Datum:
Innehåll, huvudpresentation 4. Rangordning av ordningsstörningar (fråga 1) 5. Problem med nedskräpning (fråga 1a) 6. Problem med skadegörelse (fråga 1b)
Joomla © 2009 Stefan Andersson 1. Kontaktformulär  På varje seriös webbplats bör det finnas ett kontaktformulär.  Använd ej maillänkar, risk för spam!
hej och välkomna EKVATIONER Ta reda på det okända talet.
1 Arbetsmarknadsanknytning och övergång till arbete Bertil Holmlund Nationalekonomiska institutionen Uppsala universitet.
PROJEKT TRAPPSTEGET Bilaga 1 PROJEKT TRAPPSTEGET
Konstföreningen Dragning På sista sidan finns konstnärerna för respektive tavla.
BENÄMNA lätta ord SPRÅKTRÄNING VID AFASIKg VIII
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.
Kundundersökning mars 2010 Operatör: Granbergs Buss AB Trafikslag: Buss Sträcka: Skellefteå - Bodö.
Tillämpning av bolagsstyrningskoden vid årsstämmor 2005 och 2006.
Hela Sverige ska leva Totalrapport. Regeringens bidrag har medverkat till kunskapsförmedling?
Leif Håkansson’s Square Dancer Rotation
Projektföljeforskning
Redovisning av drogvaneundersökning åk 7-9 Strömsunds kommun 2010
Eddie Arnold - Make The World Go Away Images colorées de par le monde Déroulement automatique ou manuel à votre choix 1 för dig.
Kundundersökning mars 2010 Operatör: Västtrafik Trafikslag: Tåg Sträcka: Göteborg - Nässjö.
UNIONEN - tillgänglighet under semestern 2014
Karolinska Institutet, studentundersökning Studentundersökning på Karolinska Institutet HT 2013.
Punktprevalensmätning av trycksår 2011, v.40 Resultat från landstingen
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
| Trycksår Kommun/Områdes-skillnader (inklusive könsdimensionen) Dennis Nordvall Statistiker/Datamanager,
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
Fastighetsbyrån Konjunkturundersökning Oktober 2012.
INFÖR NATIONELLA PROVET
SWEPOS Kundnöjdhetsundersökning Undersökningen Webenkät under 3 veckor i september 2012 Bruttourval ca huvudutskick och 2 påminnelser Triss-lott.
Enkätresultat för Grundskolan Elever 2014 Skola:Hällby skola.
Information statistik Ej med i statistik: Konradsbergs lokaler (utgår VT13) Nya lokalerna i Frescati backe (ej med i gamla systemet) Övrigt: Mätningen.
Finländarnas uppfattningar om äldrevården Kirsi Markkanen Utvecklingschef Tehy rf.
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Kostnader för läkemedelsförmån Utveckling t.o.m. september 2014 Materialet: avser kostnader inklusive moms är ej åldersstandardiserat Lennart Tingvall:
Hittarps IK Kartläggningspresentation år 3.
Beräkna en ekvation (metod 1)
1 Individ Kompetens 60%66%67% Motivation 59%64%60% Ansvar & Initiativ 77%74%68% Befogenheter 82%69%61% Organisation Samarbete 52%66%68% Organisatorisk.
Från Gotland på kvällen (tågtider enligt 2007) 18:28 19:03 19:41 19:32 20:32 20:53 21:19 18:30 20:32 19:06 19:54 19:58 20:22 19:01 21:40 20:44 23:37 20:11.
Arbetspensionssystemet i bilder Bildserie med centrala uppgifter om arbetspensionssystemet och dess funktion
Brukarundersökning socialpsykiatri Kön 1. Man16 (44%) 2. Kvinna20 (56%)
TÄNK PÅ ETT HELTAL MELLAN 1-50
Greppa Näringen Medlemsundersökning, kvartal 1. 1.
/hp Beräkning av kommunernas och samkommunernas utgifter år 2013 Övriga utgifter 0,81 md € Investeringar 4,70 md € Övr. verksamhetskostn. 0,79.
Helhet Händelse Agerande Kunskap om vardagsverksamheten Förståelse av vardagsverksamheten.
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Student Ekonomi Erik Nygårds Hang-Jin Lee Vina Balaghi Projektarbete 2 732G22 Grunder i statistisk metodik Ht-08.
Novus Unga om vården Vårdförbundet Lina Lidell 1718.
Resultat sammanhållen vård och omsorg om de mest sjuka äldre i Örebro län Västra länsdelen mätperiod 2014.
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
Arbetspensionssystemet i bilder Bildserie med centrala uppgifter om arbetspensionssystemet och dess funktion
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Enkätresultat för Grundskolan Föräldrar 2014 Skola - Gillberga skola.
Regional handlingsplan ”Det goda livet för sjuka äldre” RESULTAT i VG+Skaraborg.
OpCon/xps - A case study. Club2200Page 1 OpCon/xps – A case study Club2200 Magnus Nyman & Hans Forslind.
UNIONEN – ALLMÄNHETEN OM EGET FÖRETAGANDE MINDRE MÄTNING I SYFTE ATT TITTA PÅ INTRESSET FÖR MENTORSKAP VID START AV FÖRETAG Kund: Unionen Kontakt: Åsa.
Smittspårarutbildning
Kartminne En serie bilder som ger övning av ”rutinen” Tänk på: –Vart är jag på väg? –Varifrån är kontrollen lättast att ta? –Vilken är sista säkra? –Förenkla.
Schemaläggning Mål –Att förstå den roll som schemaläggning och schemaläggnings-analys spelar för att förutsäga hur realtids-tillämpningar uppfyller sina.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje.
Förskoleenkät Föräldrar 2012 Förskoleenkät – Föräldrar Enhet:Hattmakarns förskola.
Operativsystem - Processer I
Bild 1 Prognos för länets arbetsmarknad Stefan Tjb.
Grundskola Elever 2013 Grundskoleenkät - Elever Enhet: Gillberga skola.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Operativsystem - Baklås Mats Björkman
Presentationens avskrift:

Operativsystem - Processkedulering Mats Björkman

Operativsystem, © Mats Björkman, MDH 2 Innehåll Processer (föreläsning 2) Processmodell Processtillstånd Trådar Processkommunikation (föreläsning 3) Semaforer Monitorer Meddelandesystem Skedulering/schemaläggning (föreläsning 4, den här) Kriterier för en skedulerare Skeduleringsalgoritmer

Operativsystem, © Mats Björkman, MDH 3 Lärandemål Mål för en skedulerare Preemptive, Icke-preemptive Skeduleringsalgoritmer – för- och nackdelar Beräkning av medelomloppstid

Operativsystem, © Mats Björkman, MDH 4 Skedulering och kontextbyte 1. Spara den exekverande processens tillstånd i processens PCB 2. Låt skeduleraren välja en ny process för exekvering 3. Ladda den nya processens tillstånd i processorn 4. Starta processorn med den nya processen

Operativsystem, © Mats Björkman, MDH 5 Kontextbyten är kostsamma! Den stora kostnaden för ett kontextbyte är inte själva exekveringen av kontextbytet (spara register etc.) Den stora kostnaden kommer av att det blir en massa cachemissar i systemet

Operativsystem, © Mats Björkman, MDH 6 Lokalitet (Locality of Reference) Programexekvering uppvisar ofta stor lokalitet i användandet av både kod och data Sannolikheten är stor att kod som just exekverats kommer att exekveras igen Likaså är sannolikheten stor att data som just accessats kommer att accessas igen

Operativsystem, © Mats Björkman, MDH 7 Cachning är effektivt På grund av lokalitet är det effektivt med cachning, att spara kod och data som vi använder i ett snabbare minne närmare CPU:n Cachning sker i flera nivåer: den mest intensivt använda datan ligger i register Därefter i en liten snabb cache Sedan i allt större och långsammare…

Operativsystem, © Mats Björkman, MDH 8 Kontextbyten bryter lokaliteten Vid ett kontextbyte tar man bort den process som precis har fyllt cacharna med kod och data som just den processen använde, och ersätter den processen med en annan process

Operativsystem, © Mats Björkman, MDH 9 Kontextbyten bryter lokaliteten Den nya processen vill (troligen) använda helt annan kod och andra data Den nya processen kommer att råka ut för en lång rad cachemissar eftersom den nya processens nyligen använda kod och data inte finns i cacharna

Operativsystem, © Mats Björkman, MDH 10 Kontextbyten bryter lokaliteten Samma sak händer med minneshanteringen, den gamla processens använda sidor finns tillgängliga i primärminnet, men troligen inte den nya processens sidor Detsamma drabbar cachar för sidtabeller

Operativsystem, © Mats Björkman, MDH 11 Kontextbyten bryter lokaliteten Ett kontextbyte innebär alltså att cachar för kod och data och minnessidor och cachar för sidtabeller och annat behöver fyllas på med innehåll från långsammare minnen Detta gör att den nya processen exekverar långsammare till dess allt är inläst

Operativsystem, © Mats Björkman, MDH 12 Kontextbyten och thrashing Kontextbyten är även en viktig orsak till thrashing Thrasing är ett oönskat tillstånd i operativsystemet när en process inte hinner få effektivt arbete gjort för att alltför stor del av tidskvantat går åt till att läsa in saker som ramlat ut ur cachar och primärminne

Operativsystem, © Mats Björkman, MDH 13 Kontextbyten och thrashing Problemet bakom thrashing är ett för litet tidskvantum och/eller för små minnesresurser i förhållande till processens working set, d.v.s. den uppsättning av kod och data som processen för närvarande behöver för att kunna arbeta

Operativsystem, © Mats Björkman, MDH 14 Kontextbyten och thrashing För lite minnesresurser gör att processens kod och data inte finns kvar i cachar och/eller primärminnet när det är dags för processen att exekvera igen För kort tidskvantum gör att processen får ägna en stor del av tidskvantat till att läsa in till primärminne och cachar

Operativsystem, © Mats Björkman, MDH 15 Kontextbyten och thrashing En lösning på thrashing är att öka tidskvantat, det försämrar dock responstiden En annan lösning är att minska graden av multiprogrammering, d.v.s. antalet processer som är aktiva samtidigt

Operativsystem, © Mats Björkman, MDH 16 Swapping Minska graden av multiprogrammering görs genom att swappa ut ett antal processer, lägga dem åt sidan en stund (görs av ”medeltidsskeduleraren”) Detta ökar förstås responstiden för de processer som blir utswappade

Operativsystem, © Mats Björkman, MDH 17 Swapping vs swapping För att förvirra används begreppet swapping både om att tillfälligt flytta undan processer ur readykön, och om det som borde kallas paging, att flytta minnessidor mellan primärminne och disklagring

Operativsystem, © Mats Björkman, MDH 18 Skedulerare Skeduleraren bestämmer vilken process som skall få exekvera, när och hur länge Flyttar aktiva processer mellan READY och RUNNING (och ev. andra tillstånd) Skeduleringen kan antingen vara Preemptive Icke-preemptive Tidskvantum/timeslice

Operativsystem, © Mats Björkman, MDH 19 Vad gör idle-processen? De flesta OS håller sig med en idle-process Idle-processen gör ingenting Idle-processen har lägst prioritet och exekveras endast om det inte finns någon annan process i ready-kön

Operativsystem, © Mats Björkman, MDH 20 Varför idle-process? Det finns flera anledningar till att vilja ha en idle-process: Förenklar implementationen av skeduleraren; det finns alltid en process att skedulera Idle-processens förbrukade CPU-tid är ett mått på hur mycket underutnyttjad CPU:n är

Operativsystem, © Mats Björkman, MDH 21 När skall det skeduleras? När en ny process skapas När en process avslutas/termineras När den exekverande processen blockerar exv. p.g.a. I/O eller väntan på en semafor Ett I/O-interrupt inträffar Vid preemption: när tidskvantat tagit slut

Operativsystem, © Mats Björkman, MDH 22 En ny process skapas Någon (en process) har bett OS:et att skapa en ny process När detta sker måste skeduleraren ta ställning till om den nya processen skall få exekvera direkt, eller om den skapande processen skall fortsätta exekvera (eller om en tredje process skall exekvera)

Operativsystem, © Mats Björkman, MDH 23 En process avslutas/termineras När den exekverande processen avslutas, antingen frivilligt genom att den är klar, eller genom att den termineras av en eller annan anledning, då måste en ny process väljas att exekvera

Operativsystem, © Mats Björkman, MDH 24 En process blockeras När den exekverande processen blockerar exv. p.g.a. I/O eller väntan på en semafor måste skeduleraren välja en annan process som skall exekvera

Operativsystem, © Mats Björkman, MDH 25 Ett I/O-interrupt inträffar När ett I/O-interrupt inträffar kan det betyda att en väntande process borde få exekvera Exempel: fil-I/O klar, inläsnng p.g.a. sidfel i minnet klar, nätverks-I/O (exv. inkommande paket) När något sådant inträffar finns det troligen en process i ett väntetillstånd som skall flyttas till ready-kön och som kan vara aktuell att få exekvera

Operativsystem, © Mats Björkman, MDH 26 När skall det skeduleras? Sammanfattningsvis, skedulera: När det blir färre processer att välja mellan (den exekverande processen är inte längre aktuell att exekvera) När det blir fler processer att välja mellan (nytillkomna i ready-kön) Vid preemption: När tidskvantat tagit slut

Operativsystem, © Mats Björkman, MDH 27 Tidskvantat Tidskvantats storlek är viktigt vid skedulering med preemption Varje processbyte p.g.a. att tidskvantat tar slut innebär ett kontextbyte Kontextbyten är kostsamma Alltså borde tidskvantat vara stort …men… då blir responstiden lidande

Operativsystem, © Mats Björkman, MDH 28 Tidskvantat Vissa system (exv. Windows) har olika eller variabelt tidskvantum för olika processer Syftet är att ge bättre responstid åt interaktiva processer utan att ha alltför små (genomsnittliga) tidskvanta

Operativsystem, © Mats Björkman, MDH 29 Tidskvantat - implementation Tidskvantat implementeras som ett regelbundet klockavbrott till processorn Variabla tidskvanta implementeras som att processer får exekvera en viss multipel av klockavbrott Exempel Windows: interaktiva trådar får tredubbelt tidskvantum, tråden får då exekvera till det tredje klockavbrottet innan den byts ut

Operativsystem, © Mats Björkman, MDH 30 Tidskvantat - implementation Klockavbrott utan omskedulering är inte alls lika kostsamma, därför funkar det att ge en process en multipel av klockavbrott som tidskvantum

Operativsystem, © Mats Björkman, MDH 31 Typer av system Olika typer av system kräver olika typer av skedulerare Boken ger följande tre kategorier: Batchsystem (utan interaktion med användare) Interaktiva system (med interaktion med användare) Realtidssystem (förutsägbarhet viktigt)

Operativsystem, © Mats Björkman, MDH 32 Typer av jobb Olika typer av jobb finns också, beroende på vilka resurser de använder mest CPU-bundna jobb utför många tunga beräkningar, exv. bildbehandling, simulering I/O-bundna jobb utför mycket I/O, exv. databassökningar, filkopieringar Dessa olika typer av jobb är inte hårt kopplade till föregående olika typer av system

Operativsystem, © Mats Björkman, MDH 33 Batchsystem Inte riktigt som gamla tiders batchsystem, men: Liten eller ingen interaktion med användare Ofta stora jobb (mycket data att processa) med lång körtid Tidskvantat kan vara stort, responstiden är mindre viktig än att inte slösa systemresurser på ideliga kontextbyten

Operativsystem, © Mats Björkman, MDH 34 Batchsystem Exempel I/O-bundna: lönekörning, bankränta, “data mining” Exempel CPU-bundna: väderprognoser, rendrering av animeringar, simuleringar

Operativsystem, © Mats Björkman, MDH 35 Interaktiva system System där en eller flera processer interagerar med en eller flera användare Kort responstid viktigt för att användaren skall vara glad och nöjd Tidskvantats storlek blir ett avvägande mellan kort responstid och overheadkostnad

Operativsystem, © Mats Björkman, MDH 36 Interaktiva system I vanliga system (Windows, UNIX, …) ligger tidskvantat typiskt mellan 10ms och 100 ms Vissa system anpassar tidskvantat efter processen. Exempelvis Windows håller reda på vilka processer/trådar som är interaktiva och ger dessa ett längre tidskvantum

Operativsystem, © Mats Björkman, MDH 37 Interaktiva system Interaktionen innebär i sig mycket I/O, därför är många interaktiva processer I/O-bundna Spel etc. kan vara CPU-bundna

Operativsystem, © Mats Björkman, MDH 38 Realtidssystem System som utför uppgifter där tidsåtgången måste vara förutsägbar Exempel: Styrsystem för bromsar och airbag i bilar, reglersystem för kärnkraftverk Ovanstående är exempel på hårda realtidssystem, system där tidskraven bara måste hållas

Operativsystem, © Mats Björkman, MDH 39 Realtidssystem Det finns även en klass som kallas mjuka realtidssystem Mjuka realtidssystem har fortfarande strikta tidskrav, men konsekvenserna av att inte hålla tiden är mindre Exempel på detta är uppspelning av video och audio

Operativsystem, © Mats Björkman, MDH 40 Realtidssystem Det är svårt för ett operativsystem att ge hårda realtidsgarantier om inte väldigt många förutsättningar är kända Exempel är att i ett hårt realtidssystem måste ofta alla processer vara kända från början och inget dynamiskt skapande av processer tillåts Ofta finns också krav på att det finns kända gränser för utnyttjande av resurser, exv. känd exekveringstid för alla processer

Operativsystem, © Mats Björkman, MDH 41 Realtidssystem Realtidssystem är I/O-bundna närmast som regel, de flesta styr- och reglertillämpningar har relativt enkla algoritmer och spenderar en stor del av tiden med att få in sensordata från omgivningen och skicka ut styrdata Realtidssystem som hanterar video kan använda mycket processorkraft, ofta dock på separata grafikprocessorer (GPU:er)

Operativsystem, © Mats Björkman, MDH 42 Vart är vi på väg? Notera gärna Tanenbaums notering att eftersom CPU-er blir snabbare snabbare än I/O blir snabbare, så blir fler och fler jobb I/O-bundna Den gamla principen att optimera för att hålla CPU:n maximalt sysselsatt kan därför diskuteras

Operativsystem, © Mats Björkman, MDH 43 Vart är vi på väg? En annan intressant notering (som inte är Tanenbaums utan min) är att tidskvantat inte blivit kortare i takt med att CPU:er har blivit snabbare Om processorerna blivit typ 1000 gånger snabbare på 15 år, varför är inte tidskvantat 1000 gånger kortare idag?

Operativsystem, © Mats Björkman, MDH 44 Vart är vi på väg? Varför? Min gissning: människor har inte blivit 1000 gånger snabbare på 15 år Den stora anledningen till korta tidskvanta är responstid för interaktiva processer För oss människor räcker en responstid i området ms för att vi skall uppleva “samtidighet”

Operativsystem, © Mats Björkman, MDH 45 Olika skeduleringsalgoritmer Eftersom olika typer av system har olika krav, så är det inte säkert att den skeduleringsalgoritm som är bra för en typ av system även passar till en annan typ av system

Operativsystem, © Mats Björkman, MDH 46 Mål för skeduleringsalgoritmer Alla system: Rättvisa – alla processer med samma prioritet skall ges lika möjligheter att utnyttja systemets resurser Policy Enforcement (exv. safety, security) Balans i systemet – alla delar skall vara så väl utnyttjade som möjligt

Operativsystem, © Mats Björkman, MDH 47 Mål för skeduleringsalgoritmer Batchsystem Minimera omloppstiden (turnaround time), dvs tiden för ett jobb att utföras Maximera genomströmningen (throughput), dvs antalet jobb per tidsenhet Maximera CPU-utnyttjandet (CPU utilization)

Operativsystem, © Mats Björkman, MDH 48 Mål för skeduleringsalgoritmer Interaktiva system Minimera svarstiden (Response Time), användaren skall inte behöva vänta i onödan Proportionalitet, väntetiden skall stå i rimlig proportion till vad man väntar på

Operativsystem, © Mats Björkman, MDH 49 Mål för skeduleringsalgoritmer Realtidssystem Möta deadlines – övergripande mål för realtidsskedulering Förutsägbarhet – ett mål för de flesta realtidssystem

50 Skeduleringsalgoritmer

Operativsystem, © Mats Björkman, MDH 51 Skeduleringsalgoritmer First come first served (FCFS) Interactive programs Starvation free Efficiency Pre- emptive P1P2P3 CPU P4

Operativsystem, © Mats Björkman, MDH 52 Skeduleringsalgoritmer Round robin (Cirkulär kö) Interactive programs Starvation free Efficiency Pre- emptive P1 P2 P3 CPU P4 Quantum Setting the Quantum?

Operativsystem, © Mats Björkman, MDH 53 Skeduleringsalgoritmer Prioritetsbaserad Interactive programs Starvation free Efficiency Pre- emptive P1 Medium P2 Low P3 Low CPU P4 High

Operativsystem, © Mats Björkman, MDH 54 Skeduleringsalgoritmer Multipla köer Interactive programs Starvation free Efficiency Pre- emptive P1 P2 P3 CPU P4 High Medium Low Quantum = 1 unit Quantum = 2 units Quantum = 4 units P4 P1

Operativsystem, © Mats Björkman, MDH 55 Skeduleringsalgoritmer Shortest job first (sjf) Interactive programs Starvation free Efficiency Pre- emptive P1P2P3 CPU P4

Operativsystem, © Mats Björkman, MDH 56 Skeduleringsalgoritmer Lotteriskedulering Interactive programs Starvation free Efficiency Pre- emptive P1 P2 P3 P4 ? ? CPU

Operativsystem, © Mats Björkman, MDH 57 Skedulering i Windows Prioritetsdriven Tråden (som är ready) med högst prioritet kommer alltid att skeduleras Preemptive Trådar kan avbrytas av andra trådar Round robin inom varje prioritetsnivå Använder flera olika tidskvanta Processor affinity I multiprocessorsystem kan trådar bindas till ett subset av tillgängliga processorer

Operativsystem, © Mats Björkman, MDH 58 Prioritetsnivåer (interna) 16 ”realtids“-prioriteter (16-31) 15 variabla prioriteter (1-15)

Operativsystem, © Mats Björkman, MDH 59 Prioritetsnivåer (Win32 API) Win32 definierar: Fyra prioritetsklasser för processer: real-time, high, normal och idle Sju prioritetsnivåer för trådar: time critical, highest, above normal, normal, below normal, lowest och idle

Operativsystem, © Mats Björkman, MDH 60 Mappning av Win32 API-prioriteter till interna prioriteter Time critical Highest Above normal Normal Below normal Lowest Real- time High Normal Idle T H R E A D P R O C E S S Idle

Operativsystem, © Mats Björkman, MDH 61 Justeringar i Windows av prioriteter och tidskvanta Varför gör de på detta viset? Bättre responstider Bättre throughput Exempel på justeringar Öka tidskvantat för just nu interaktiva trådar Öka prioriteten för nyss väckta trådar Öka prioritet och tidskvanta för trådar som fått vänta ett tag på CPU:n

62 Beräkningar av egenskaper för skeduleringsalgoritmer

Operativsystem, © Mats Björkman, MDH 63 Medelomloppstid (Average turnaround time) Ett mått på genomströmning Var är den genomsnittliga omloppstiden för alla processer?

Operativsystem, © Mats Björkman, MDH 64 Övning Beräkna medelomloppstiden för 5 batchjobb som alla vill starta vid tid=0 (i ordningen A, B, C, D, E), och som har exekveringstiderna A=10, B=6, C=2, D=4 respektive E=8. Beräkna medelomloppstiden för var och en av följande skeduleringsalgoritmer: 1. FCFS 2. SJF 3. Round Robin, kvanta = 1 enhet

Operativsystem, © Mats Björkman, MDH 65 Lösning - FCFS Exekveringstider A=10, B=6, C=2, D=4 och E=8 0 A 10 C 18 B 16 D 2230 E

Operativsystem, © Mats Björkman, MDH 66 Lösning - SJF Exekveringstider A=10, B=6, C=2, D=4 och E=8 A 300 C 2 B 12 D 620 E

Operativsystem, © Mats Björkman, MDH 67 Lösning - Round robin Execution times A=10, B=6, C=2, D=4 and E= ABCDE

Operativsystem, © Mats Björkman, MDH 68 Lärandemål, igen Mål för en skedulerare Preemptive, Icke-preemptive Skeduleringsalgoritmer – för- och nackdelar Beräkning av medelomloppstid

Operativsystem, © Mats Björkman, MDH 69 Processer, summering 00008abe : 8abe: mov.w#0x5 8ac2: bsr.+2 (8ac6) 00008ac4 : 8ac4: rts 00008ac6 : 8ac6: sub.wr1,r1 8ac8:1d 01 1d 01 cmp.wr0,r1 8aca:4e 20 4e 20 bgt.+32 (8aec) 00008acc : 8acc:0d 13 0d 13 mov.wr1,r3 8ace: add.wr3,r3 8ad0:6b 02 a8 d4 6b 02 a8 d4 8ad4: add.wr3,r2 8ad6:6b 82 a8 d4 6b 82 a8 d4 8ada: add.wr1,r3 8adc:6b 02 a8 d6 6b 02 a8 d6 8ae0: add.wr3,r2 8ae2:6b 82 a8 d6 6b 82 a8 d6 8ae6:0b 01 0b 01 adds#0x1,er1 8ae8:1d 01 1d 01 cmp.wr0,r1 8aea:4f e0 4f e0 ble.-32 (8acc) 00008aec : 8aec: rts PC SP REGS P R I O R I T Y T I M E A B y=0 t0t0 t1t1 t2t2 t3t3 t4t4 y++ I KONTEXTBYTE PSEUDOPARALLELL MULTITASKING CPU SKEDULERARE EGENSKAPER KRAV SYNKRONISERING SEMAFORER MEDDELADESYSTEMN