Sdílená paměť: Porovnání verzí

Smazaný obsah Přidaný obsah
m InterWiki, odstranění HTML značek, formulace?
Řádek 1:
{{Název|Sdílená paměť}}
<br>
== Hardwarově sdílená paměť==
 
<br>
Pokud mluvíme o [[hardware|hardwaru]], rozumíme pod pojmem '''sdílená paměť''' velkou část [[RAM|paměti]] (RAM - Random Access Memory), do které lze přistupovat z několika [[procesor|procesorů]] (CPU - Central Processing Unit) více procesorovéhovíceprocesorového počítačového systému.
 
</br>
<br>
Vytvořit systém se sdílenou pamětí je poměrně lehké pokud zajistíme, aby všechny procesory sdílely jednotný pohled na data a komunikace mezi procesory může být tak rychlá jak paměť dovolí.
 
</br>
<br>
Nevýhodou systémů se sdílenou pamětí je to, že mnoho procesorů potřebuje rychlý přístup k paměti a tak se raději odkážou na [[Cache|Cache paměť]], což má za následek tyto dvě komplikace:
 
</br>
* spojení mezi procesorem a pamětí se stane těžko průchodné. Počítače se sdílenou pamětí nejsou příliš vyvážené. Většina z nich má pouze deset procesorů.
* spojitost Cache: Kdykoliv je jedna Cache paměť naplněna novými informacemi, mělo by to být využito ostatními procesory. Tato změna se musí projevit u dalších procesorů, ovšem jiné procesory budou pracovat s nespojitými daty. Právě protokoly spojitosti mohou, pokud pracují dobře, poskytovat velmi vysoký výkonost při přístupu několika procesorů ke sdíleným informacím. Na druhou stranu mohou být tyto protokoly někdy přetíženy a zpomalovat tak výkon.
 
<br>
Alternativou pro sdílenou paměť je rozdělení paměti a rozdělení sdílené paměti, ale i toto řešení může způsobit podobné problémy jako použití sdílené paměti.
</br>
<br>
</br>
 
== Softwarově sdílená paměť==
 
<br>
Pokud mluvíme o [[software|softwaru]], rozumíme pod pojmem '''sdílená paměť''' metodu komunikace mezi [[proces|procesy]] (IPC - Inter-process communication). Příkladem může být výměna dat mezi programy běžícími současně. Jeden z procesů si vytvoří prostor v [[RAM]] paměti, do kterého může druhý proces vstupovat.
 
</br>
<br>
Jelikož mohou oba procesy vstupovat do oblasti sdílené paměti jako do běžné paměti, jedná se o velice rychlý způsob komunikace (opak k ostatním mechanismům komunikace mezi procesy, jako jsou např. [[named pipes]], [[Unix socket]] nebo [[CORBA]]). Nutno ovšem dodat, že tento způsob je méně výkonný, což je dáno právě tím že komunikace probíhá právě na jednom počítači, kdežto u ostatních IPC metodách může být ke komunikaci využita [[počítačová síť]].
</br>
<br>
IPC prostřednictvím sdílené paměti se využívá především v [[Unix|Unixových]] systémech. [[POSIX]] poskytuje standardizované [[API|rozhraní pro programování aplikací]](API - Application Programming Interface) pro využití sdílené paměti (''POSIX Shared Memory'').
</br>
<br>
 
IPC prostřednictvím sdílené paměti se využívá především v [[Unix|Unixových]] systémech. [[POSIX]] poskytuje standardizované [[API|rozhraní pro programování aplikací]] (API - Application Programming Interface) pro využití sdílené paměti (''POSIX Shared Memory'').
== Reference==
 
[[en:Shared memory]]
http://en.wikipedia.org/wiki/Shared_memory