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:49]
ofeig
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|}}
                                                    
Řádek 374: Řádek 377:
 {{:temata:35-planovani_synchronizace:uvaznuti.png|}} {{:temata:35-planovani_synchronizace:uvaznuti.png|}}
  
-Nutné podmínky uváznutí +**Nutné podmínky uváznutí** 
-  1) vzájemné vyloučení při používání prostředků +  vzájemné vyloučení při používání prostředků 
-  2) vlastnictví alespoň jednoho zdroje a čekání na další +  vlastnictví alespoň jednoho zdroje a čekání na další 
-  3) prostředky vrací proces, který je vlastní, a to po dokončení jejich využití +  prostředky vrací proces, který je vlastní, a to po dokončení jejich využití 
-  4) cyklická závislost na sebe čekajících procesů+  cyklická závislost na sebe čekajících procesů
  
-Řešení:+**Řešení:**
   * **prevence uváznutí**   * **prevence uváznutí**
     * zrušíme platnost některého z nutných podmínek uváznutí     * zrušíme platnost některého z nutných podmínek uváznutí
-      1) nepoužívat sdílené prostředky nebo používat sdílené prostředky, které umnožňují sdílený přístup a u kterých tedy není nutné vzájmené vyloučení procesů +      nepoužívat sdílené prostředky nebo používat sdílené prostředky, které umnožňují sdílený přístup a u kterých tedy není nutné vzájmené vyloučení procesů 
-      2) proces může žádat o prostředky pouze pokud žádné nevlastní +      proces může žádat o prostředky pouze pokud žádné nevlastní 
-      3) pokud proces požádá o prostředky, které nemůže momentálně získat, je pozastaven, všechny prostředky jsou mu odebrány a čeká se, až mu mohou být všechny potřebné prostředky přiděleny +      pokud proces požádá o prostředky, které nemůže momentálně získat, je pozastaven, všechny prostředky jsou mu odebrány a čeká se, až mu mohou být všechny potřebné prostředky přiděleny 
-      4) prostředky jsou očíslovány a je možné je získávat pouze od nejnižších čísel k vyšším       +      prostředky jsou očíslovány a je možné je získávat pouze od nejnižších čísel k vyšším       
   * **vyhýbání se uváznutí**   * **vyhýbání se uváznutí**
     * procesy předem deklarují určité informace o způsobu, jakým budou využívat zdroje: v nejjednodušším případě se jedná o maximální počet současně požadovaných zdrojů jednotlivých typů     * procesy předem deklarují určité informace o způsobu, jakým budou využívat zdroje: v nejjednodušším případě se jedná o maximální počet současně požadovaných zdrojů jednotlivých typů
Řádek 402: Řádek 405:
  {{:temata:35-planovani_synchronizace:starnuti.png|}}  {{:temata:35-planovani_synchronizace:starnuti.png|}}
  
-<note>Zdroje: +==== Zdroje ==== 
-IOS - Přednáška č. 5: [[http://file.ofeig.cz/file/ios-prednaska-05.pdf|Správa procesů]]+<note>IOS - Přednáška č. 5: [[http://file.ofeig.cz/file/ios-prednaska-05.pdf|Správa procesů]] 
 IOS - Přednáška č. 6: [[http://file.ofeig.cz/file/ios-prednaska-06.pdf|Synchronizace procesů]] IOS - Přednáška č. 6: [[http://file.ofeig.cz/file/ios-prednaska-06.pdf|Synchronizace procesů]]
 +
 http://www.wikipedia.org http://www.wikipedia.org
 http://www.google.com</note> http://www.google.com</note>
temata/35-planovani_synchronizace/main.1301075392.txt.gz · Poslední úprava: 2011/03/25 18:49 autor: ofeig
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki