100 likes | 213 Views
3. konzultace (5 hodin) 21. 3. 2014 Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/. Srovnání plánovacích politik. 20. 0. 5. 10. 15. A. FCFS. B. C. D. E. A. B. RR q=1. C. D. E. A. B. RR q=4. C. D. E. A. B. C. SPN. D. E. A. B. C. SRT.
E N D
3. konzultace (5 hodin) 21. 3. 2014 Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/
Srovnání plánovacích politik 20 0 5 10 15 A FCFS B C D E A B RR q=1 C D E A B RR q=4 C D E A B C SPN D E A B C SRT D E A B Feedback q=1 C D E
Správa procesů Operační systém, to je něco jako socialistická ekonomika: samé plánování a samá fronta. (Roderik Plevka) - 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
Fronty 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
poslední FIFO 3. Prioritní Delta list 2. P = 1 t = 16 1. P = 1 D = 1 1 18 P = 4 D = 4 4 první P = 6 D = 4 LIFO P = 6 D = 5 P = 6 D = 680 poslední první 6 697 P = 10 D = 682 P = 10 D = 1548 10 1580 3. ….. ….. 2. P = n D = 10589 n 12358 1. Typy front
NULL předchozí předchozí . . . . . následující následující NULL PID PID PID První člen Poslední člen 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)
suspended ready current waiting receiving sleeping Stavy procesů Nulový 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
Stavy 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ů
Služby správce procesů Vlastní přepnutí kontextu je „zabaleno“ do resched create suspended resume suspend resched ready current signal wait waiting Využívají ovladače periferií send receive Komunikace se servery receiving wakeup sleep sleeping blocked