Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

temata:35-planovani_synchronizace:main [2011/03/25 18:56]
george [Modelování synchronizačních problémů]
temata:35-planovani_synchronizace:main [2012/02/27 21:13] (aktuální)
conyx [35 - Plánování a synchronizace procesů, transakce]
Řádek 1: Řádek 1:
-====== Plánování a synchronizace procesů, transakce ====== +====== 35 - Plánování a synchronizace procesů, transakce ====== 
 +~~ODT~~
 Plánování procesů je jeden z úkolů operačního systému. Týká se systémů s více současně běžícími procesy, které podporují multitasking (schopnost provádět více úloh současně). Plánování řeší výběr procesů, kterým má být aktuálně přidělen procesor a pamět. V oblastech operačních systémů se setkáváme s oblastí __správy procesů__ (process managmentú, který zahrnuje: Plánování procesů je jeden z úkolů operačního systému. Týká se systémů s více současně běžícími procesy, které podporují multitasking (schopnost provádět více úloh současně). Plánování řeší výběr procesů, kterým má být aktuálně přidělen procesor a pamět. V oblastech operačních systémů se setkáváme s oblastí __správy procesů__ (process managmentú, který zahrnuje:
   * plánovač (scheduler), který přiděluje CPU procesům   * plánovač (scheduler), který přiděluje CPU procesům
Řádek 18: Řádek 18:
 {{:temata:35-planovani_synchronizace:stavy.png|}} {{:temata:35-planovani_synchronizace:stavy.png|}}
  
-V OS bývá proces reprezentován strukturou **PTB** (Process control block), která zahrnuje:+V OS bývá proces reprezentován strukturou **PCB** (Process control block), která zahrnuje:
   * identifikátor procesu   * identifikátor procesu
   * stav plánování procesu   * stav plánování procesu
Řádek 70: Řádek 70:
    * je zapotřebí se vyhnout    * je zapotřebí se vyhnout
     * **uváznutí (deadlock)** - situace, kdy každý ze skupiny procesů čeká na uvolnění zdrojje s výlučným (omezeným) přístupem vlastněným nějakým procesem z dané skupiny     * **uváznutí (deadlock)** - situace, kdy každý ze skupiny procesů čeká na uvolnění zdrojje s výlučným (omezeným) přístupem vlastněným nějakým procesem z dané skupiny
 +{{:temata:35-planovani_synchronizace:deadlock.png|}}
 +
     * **bloknutí (blocking)** - situace, kdy proces, jenž žádá o vstup do KS, musí čekat, přestože KS je volná (tj. žádný proces se v ní nenachází) a ani o žádnou z dané množiny sdílených KS žádný další proces nežádá     * **bloknutí (blocking)** - situace, kdy proces, jenž žádá o vstup do KS, musí čekat, přestože KS je volná (tj. žádný proces se v ní nenachází) a ani o žádnou z dané množiny sdílených KS žádný další proces nežádá
     * **stárnutí (hladovění, starvarion)** - situace, kdy proces čeká na podmínku, která nemusí nastat       * **stárnutí (hladovění, starvarion)** - situace, kdy proces čeká na podmínku, která nemusí nastat  
 Zvláštním případem stárnuí je **livelock**, kdy všechny procesy z určité množiny běží, ale provadějí jen omezený úsek kódu, které by mohly opustit jen tehdy, kdyby získaly zdroj vlastněný některým z procesů dané skupiny. Zvláštním případem stárnuí je **livelock**, kdy všechny procesy z určité množiny běží, ale provadějí jen omezený úsek kódu, které by mohly opustit jen tehdy, kdyby získaly zdroj vlastněný některým z procesů dané skupiny.
 +{{:temata:35-planovani_synchronizace:livelock.png|}}
  
-== Petersonů algoritmus ==+== Petersonůalgoritmus ==
 Možné řešení problému KS pro 2 procesy (existuje i jeho zobecnění pro n procesů). Možné řešení problému KS pro 2 procesy (existuje i jeho zobecnění pro n procesů).
-<code>+<code c>
 bool flag[2] = {false, false}; bool flag[2] = {false, false};
 int turn = 0; int turn = 0;
Řádek 334: Řádek 337:
  
  
-== Problém řících filozofů ==+== Problém večeřících filozofů ==
 {{:temata:35-planovani_synchronizace:filozofove.png|}} {{:temata:35-planovani_synchronizace:filozofove.png|}}
                                                    
temata/35-planovani_synchronizace/main.1301075772.txt.gz · Poslední úprava: 2011/03/25 18:56 autor: george
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki