Klasické problémy meziprocesové komunikace – producent-konzument aj.

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(→Problémy)
Řádka 122: Řádka 122:
 
* Uvíznutí (Deadlock) - cyklické čekání dvou či více procesů na událost, kterou může vyvolat pouze některý z nich, nikdy k tomu však nedojde
 
* Uvíznutí (Deadlock) - cyklické čekání dvou či více procesů na událost, kterou může vyvolat pouze některý z nich, nikdy k tomu však nedojde
 
* Vyhladovění (starvation) -  proces se nedostane k požadovaným zdrojům
 
* Vyhladovění (starvation) -  proces se nedostane k požadovaným zdrojům
 +
 +
 +
{{fav-kiv-bzinf}}

Verze z 29. 8. 2011, 20:19

Meziprocesova komunikace: // tady by to chtělo rozvést a doplnit...


Problem sdilene pameti


Obsah

Predavani zprav

Synchronizace - blokující (synchronní) (recieve) / neblokující (asynchronní) (send)

problémy, které nejsou u semaforů ani monitorů, zvláště při komunikaci po síti

lokální komunikace

typické aplikace typu klient - server


Volání vzdálených procedur (RPC - Remote Procedure Call)

  1. Klient zavolá spojku klienta, reprezentující vzdálenou proceduru
  2. Spojková procedura argumenty zabalí do zprávy, pošle ji serveru
  3. Spojka serveru zprávu přijme, vezme argumenty a zavolá proceduru
  4. Procedura se vrátí, návrat. hodnotu pošle spojka serveru zpět klientovi
  5. Spojka klienta přijme zprávu obsahující návrat. hodnotu a předá ji volajícímu

dnes nejpoužívanější jazyková konstrukce pro implementaci distribuovaných systémů a programů bez explicitního předávání zpráv


Ekvivalenty uvedených primitiv

Lze implementovat semafory pomocí zpráv a zprávy pomocí semaforů

Lze ukázat, že je možné implementovat


Bariéry

Bariera.png


Producent-konzument

Klasicky se zde sdílená paměť řeší pomocí pole, kde se z jedné strany položky přidávají a z druhé odebírají. Index kam zapisovat/odebírat počítáme modulo velikost pole. Kolizím zabráníme pomocí dvou semaforů, kde jeden obsahuje informaci o počtu plných prvků pole (f) a druhý o počtu prázdných prvků (e).


Problém večeřících filosofů

Problém čtenářů a písařů


Problémy


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