Rozdíly

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

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
mgr-szz:in-pos:1-pos [2019/06/15 21:15]
lachmanfrantisek
mgr-szz:in-pos:1-pos [2020/04/12 16:56] (aktuální)
Řádek 244: Řádek 244:
   * Toto je úkol dlouhodobého (strategického) plánovače   * Toto je úkol dlouhodobého (strategického) plánovače
     * Vybírá který proces lze zařadit mezi připravené procesy.     * Vybírá který proces lze zařadit mezi připravené procesy.
 +    * Řeší přechod ze stavu ''​nový''​ do stavu ''​připravený''​. ​
   * Plánovač je spouštěn je relativně málo často.   * Plánovač je spouštěn je relativně málo často.
     * Typicky při ukončení jednoho procesu rozhodne, kterou úlohu dále vybrat k zavedení do paměti a spuštění.     * Typicky při ukončení jednoho procesu rozhodne, kterou úlohu dále vybrat k zavedení do paměti a spuštění.
     * Nemusí být super rychlý.     * Nemusí být super rychlý.
   * Určuje stupeň multiprogramování.   * Určuje stupeň multiprogramování.
 +  * Nemusí být ve všech systémech přítomen.
  
 === Krátkodobý plánovač === === Krátkodobý plánovač ===
Řádek 369: Řádek 371:
 </​box>​ </​box>​
  
-===== Synchronizace ​procesů =====+===== Komunikace a synchronizace ​procesů =====
  
 Synchronizace běhu procesů = "Jeden proces čeká na událost z druhého procesu."​ Synchronizace běhu procesů = "Jeden proces čeká na událost z druhého procesu."​
Řádek 376: Řádek 378:
 Se souběžně běžícími procesy se můžeme setkat buď v přímo paralelním prostředí,​ kde je jedna paměť sdílena více procesy, nebo v prostředí distribuovaném,​ kde má každý proces vlastní lokální paměť. Hlavním problémem výskytu souběžných procesů je sdílení prostředků (paměť, zařízení,​ soubory, atd.) Tento problém se vyskytuje dokonce i v mnohouživatelských OS, kdy se např. řeší sdílení paměti mezi hlavní linií výpočtu v jádře a obslužnou rutinou přerušení při I/O operaci. Především při sdíleném přístupu do paměti nebo do souboru mohou vznikat neočekávané problémy – časové závislé chyby. Se souběžně běžícími procesy se můžeme setkat buď v přímo paralelním prostředí,​ kde je jedna paměť sdílena více procesy, nebo v prostředí distribuovaném,​ kde má každý proces vlastní lokální paměť. Hlavním problémem výskytu souběžných procesů je sdílení prostředků (paměť, zařízení,​ soubory, atd.) Tento problém se vyskytuje dokonce i v mnohouživatelských OS, kdy se např. řeší sdílení paměti mezi hlavní linií výpočtu v jádře a obslužnou rutinou přerušení při I/O operaci. Především při sdíleném přístupu do paměti nebo do souboru mohou vznikat neočekávané problémy – časové závislé chyby.
 </​note>​ </​note>​
 +
  
  
Řádek 381: Řádek 384:
  
   * **Komunikaci mezi procesy**   * **Komunikaci mezi procesy**
-    * komunikace – způsob ​synchronizace, koordinace různých aktivit +    * zasílání zpráv 
-    * může dojít k uváznutí (každý proces čeká na zprávu od nějakého jiného procesu) +    * synchronizace 
-    * může dojít ke stárnutí ​(dva procesy si opakovaně posílají zprávy zatímco třetí proces čeká na zprávu nekonečně dlouho)+    * sdílená paměť 
 +    * vzdálené volání procedur ​(RPC)
  
   * **Sdílení prostředků**   * **Sdílení prostředků**
Řádek 391: Řádek 395:
       * operace čtení mohou být realizovány souběžně       * operace čtení mohou být realizovány souběžně
     * pro zabezpečení integrity dat se používají kritické sekce     * pro zabezpečení integrity dat se používají kritické sekce
 +
 +
 +
 +Komunikace – způsob synchronizace,​ koordinace různých aktivit
 +  * může dojít k uváznutí (každý proces čeká na zprávu od nějakého jiného procesu)
 +  * může dojít ke stárnutí (dva procesy si opakovaně posílají zprávy zatímco třetí proces čeká na zprávu nekonečně dlouho)
 +
  
  
Řádek 503: Řádek 514:
   * zamezujeme současné platnosti všech nutných podmínek   * zamezujeme současné platnosti všech nutných podmínek
   * prostředek se nepřidělí,​ pokud by hrozilo uváznutí (hrozí stárnutí)   * prostředek se nepřidělí,​ pokud by hrozilo uváznutí (hrozí stárnutí)
- 
  
 <box 95% round blue|Bankéřův algoritmus > <box 95% round blue|Bankéřův algoritmus >
Řádek 560: Řádek 570:
   * postupně předbíhat uváznuté procesy   * postupně předbíhat uváznuté procesy
   * zamezit současné platnosti nutných podmínek   * zamezit současné platnosti nutných podmínek
 +
 +
 +<box 90% blue|Resource-Allocation Graph, RAG>
 +  * množina uzlů (procesy ⚫, zdroje ⬛)
 +  * hrany
 +    * požadavků (proces -> zdroj)
 +    * přidělení (zdroj -> proces)
 +  * zdroje mohou mít více instancí
 +
 +Jestliže se v RAG nevyskytuje cyklus:
 +  * => k uváznutí nedošlo
 +Jestliže se v RAG vyskytuje cyklus:
 +  * existuje pouze jedna instance daného typu => k uváznutí došlo
 +  * existuje více instancí daného typu => k uváznutí může dojít
 +</​box>​
 +
 +
 +<box 90% blue|Wait-for-Graph,​ WFG>
 +  * vztahy pouze mezi procesy
 +  * hrana = proces čeká na uvolnění zdroje druhým procesem
 +
 +  * Systém uvázl, pokud je v grafu cyklus.
 +</​box>​
  
  
mgr-szz/in-pos/1-pos.1560626134.txt.gz · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0