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

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(→Producent-konzument)
(→Problém večeřících filosofů)
Řádka 38: Řádka 38:
 
* přidání prvku: P(e), V(f)
 
* přidání prvku: P(e), V(f)
 
* odebrání prvku: P(f), V(e)
 
* odebrání prvku: P(f), V(e)
 +
  
 
== Problém večeřících filosofů ==
 
== Problém večeřících filosofů ==
Řádka 48: Řádka 49:
 
* Problémy: uvíznutí (všichni filozofové zvednou levou vidličku, žádný z nich už nemůže pokračovat), vyhladovění (pokud by filozofové vzali najednou levou vidličku, budou běžet cyklicky - vidí, že pravá není volná, položí…)
 
* Problémy: uvíznutí (všichni filozofové zvednou levou vidličku, žádný z nich už nemůže pokračovat), vyhladovění (pokud by filozofové vzali najednou levou vidličku, budou běžet cyklicky - vidí, že pravá není volná, položí…)
 
* Řešení - Dijkstra (pomocí semaforů)
 
* Řešení - Dijkstra (pomocí semaforů)
−
 
  
 
== Problém čtenářů a písařů ==
 
== Problém čtenářů a písařů ==

Verze z 29. 8. 2011, 19:14

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


Problem sdilene pameti

Predavani zprav


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řů

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