Plánování procesů v interaktivních systémech

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Založena nová stránka: Zakladni stavy procesu � bezici � pripraven -ceka na CPU � blokovan { ceka na zdroj nebo zpravu � novy (new) { proces byl prave vytvoren � ukonceny (terminated) {...)
 
Řádka 1: Řádka 1:
−
Zakladni stavy procesu
+
Základní stavy procesu
−
� bezici
+
* běžící
−
� pripraven -ceka na CPU
+
* připravený - čeká na CPU
−
� blokovan { ceka na zdroj nebo zpravu
+
* blokovaný - čeká na zdroj nebo zprávu
−
� novy (new) { proces byl prave vytvoren
+
* novy (new) - proces byl právě vytvořen
−
� ukonceny (terminated) { proces byl ukoncen
+
* ukončený (terminated) - proces byl ukončen
−
Spravce procesu { udrzuje tabulku procesu. Zaznam o konkretnim procesu { PCB (Process Control Block) { souhrn
+
 
−
dat potrebnych k rizeni procesu.
+
Správce procesů - udržuje tabulku procesů. Záznam o konkretním procesu - PCB (Process Control Block) - souhrn dat potrebnych k řízení procesu.
−
planovac vs. dispatcher
+
 
−
� dispatcher predava rizeni procesu vybranemu short time planovacem
+
Plánovač vs. dispatcher
−
{ prepnuti kontextu
+
 
−
{ prepnuti do user modu
+
* dispatcher předává řízení procesu vybranému short time planovacem
−
{ skok na vhodnou instrukci daneho programu
+
** prepnuti kontextu
−
� vice pripravenych procesu k behu { planovac vybere, ktery spusti jako prvni
+
** prepnuti do user modu
−
� planovac procesu (scheduler) - pouziva planovaci algoritmus (scheduling algorithm)
+
** skok na vhodnou instrukci daneho programu
−
� Preemptivni vs. non-preemptive planovani
+
* vice pripravenych procesu k behu { planovac vybere, ktery spusti jako prvni
 +
* planovac procesu (scheduler) - pouziva planovaci algoritmus (scheduling algorithm)
 +
* Preemptivni vs. non-preemptive planovani
  
 
· Základní problém - každý proces je jedinečný a nepredikovatelný, nedá se říci, jak dlouho poběží, než se zablokuje
 
· Základní problém - každý proces je jedinečný a nepredikovatelný, nedá se říci, jak dlouho poběží, než se zablokuje

Verze z 23. 8. 2011, 23:12

Základní stavy procesu

Správce procesů - udržuje tabulku procesů. Záznam o konkretním procesu - PCB (Process Control Block) - souhrn dat potrebnych k řízení procesu.

Plánovač vs. dispatcher

· Základní problém - každý proces je jedinečný a nepredikovatelný, nedá se říci, jak dlouho poběží, než se zablokuje · Aby proces neběžel příliš dlouho, má počítač vestavěné hodiny, které provádějí pravidelné přerušení · Při přerušení se vyvolá obslužný podprogram přerušení v jádře · OS rozhodne, zda dovolí procesu pokračovat nebo zda dá CPU jinému procesu Algoritmus cyklické obsluhy · Každému procesu je přiřazen časový interval = časové kvantum, po které může běžet · Pokud běží ještě na konci kvanta, je provedena preempce a je naplánován a spuštěn další připravený proces · Pokud proces skončil, nebo se zablokoval ještě před spotřebováním časového kvanta, je také naplánován a spuštěn další připravený proces · Délka časového kvanta: - Krátké: vysoká režie - Dlouhé: vyšší efektivita, může zhoršovat dobu odpovědi Prioritní plánování · Interaktivní procesy mohou mít vyšší prioritu než procesy běžící na pozadí - Staticky - např. při startu procesu - Dynamicky - např. pokud mají I/O procesy vyšší prioritu, budou se moci po krátkém použití CPU opět zablokovat Plánovač spravedlivého sdílení · Přidělovat čas každému uživateli proporciálně bez ohledu na to, kolik má procesů Plánování pomocí loterie · Procesy obdrží tikety (losy) · Plánovač vybere náhodně jeden tiket · Vítězný proces obdrží cenu - 1 kvantum času na CPU · Důležitější procesy mohou obdržet více tiketů, aby se zvýšila jejich šance na výhru · Spolupracující procesy si mohou předávat losy

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje