3. konzultace (5 hodin) Studijní materiály najdete na adrese:
Srovnání plánovacích politik A B C D E A B C D E A B C D E A B C D E A B C D E A B C D E FCFS RR q=1 RR q=4 SPN SRT Feedback q=1
Process Arrival Time Service Time (Ts) A03A03 B26B26 C44C44 D65D65 E82E82 Průměr FCFS Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,00 8,60 2,65 RR q=1 Finish Time Turnaround Time (Tr) Tr/Ts 4 1, , , , ,50 10,80 2,71 RR q=4 Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,50 10,00 2,71 SPN Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,50 7,60 1,84 SRT Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,00 7,20 1,59 FB q=1 Finish Time Turnaround Time (Tr) Tr/Ts 4 1, , , , ,5 10,00 2,63
- správce procesů (dispečer, plánovač) sleduje procesy v systému a řídí jejich chování, předává jim procesor - správce procesů plánuje, který proces bude aktivován, rozhoduje o přerušení aktivního procesu - příští aktivní proces určuje plánovací algoritmus - pro zajištění činnosti udržuje správce procesů několik front procesů, odpovídajících jednotlivým situacím, ve kterých proces na něco čeká - ve frontách čekají procesy na ukončení určité situace - z fronty se vybírá proces podle splnění určitých kritérií, aktivace po odstranění příčiny čekání - zabraňuje monopolizování procesoru procesem Operační systém, to je něco jako socialistická ekonomika: samé plánování a samá fronta. (Roderik Plevka) Správa procesů
- práce s frontami - základní požadavek efektivity správce procesů - fronta je objekt, na který můžeme aplikovat služby: * vytvoření fronty - vznik nového objektu * zrušení fronty * umístění do fronty - vložení na určité místo fronty * odebrání z fronty - vrací proces z fronty (první, obecný) - správce front udržuje několik prioritních front, jednu frontu speciál- ního typu - delta list, fronty typu FIFO - prioritní fronta - parametrem je priorita procesu, podle které se pro- cesy řadí sestupně, proces je zařazen na konec skupiny procesů se stejnou prioritou - delta list - fronta, do které se procesy řadí pro čekání na uplynutí ča- sového intervalu - absolutní čas je pouze u prvního procesu, jinak přírůstky - FIFO – First In First Out, LIFO – Last In First Out Fronty procesů
Typy front Prioritní P = 1 P = 4 P = 6 P = 10 P = n … n Delta list t = 16 … první FIFO poslední LIFO posledníprvní
Fronta jako spojový seznam - žádný proces nemůže být ve více frontách současně, zpětně vázaný seznam (v každém prvku vyjma prvního a posledního je umístěn ukazatel na předcházející a následující prvek) NULL následující PID předchozí následující PID předchozí NULL PID První člen Poslední člen.....
suspended readycurrent waiting receiving sleeping Stavy procesů Situace, kdy jsou všechny procesy mimo pohotovostní stav (ready), jediný aktivní proces potřebuje přerušit (čekání na stisk klávesy) - proces s nízkou prioritou, triviální obsah, nesmí být v jiném stavu než ready nebo current Nulový proces
- suspended: speciální stav procesů, z/do něj se dostane pouze na základě explicitního požadavku jiného procesu nebo OS - ready: čekání na přidělení procesoru, ready (prioritní) fronta, vybírá se první proces - current: aktivní stav, pouze jeden proces, při ukončení změna kontextu - waiting: čekání na periferní operaci, každá událost má svoji frontu - receiving: čekání na příchod zprávy od jiného procesu - sleeping: čekání na uplynutí časového intervalu, delta list z kteréhokoliv stavu lze proces zrušit, při rušení aktivního procesu se mění kontext- změna kontextu - základní kámen multitaskingu, plánování činnosti procesů Stavy procesů
suspended ready current waiting receiving sleeping create suspendresume resched signalwait sendreceive wakeupsleep Služby správce procesů Vlastní přepnutí kontextu je „zabaleno“ do resched blocked Komunikace se servery Využívají ovladače periferií