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

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 12 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q764810)
m Přepis úvodu
Řádek 1:
'''Sdílená paměť''' ({{Vjazyce2|en|''shared memory''}}) je v [[Informatika (počítačová věda)|informatice]] termín označující část [[Operační paměť|operační paměti]] (tj. [[RAM]]), dokterá kteréslouží může přistupovatpro více subjektů (procesy, procesory apod.). Sdílená paměť mezi [[Proces (program)|procesůprocesy]] zároveňslouží za účelemk zajištění vzájemné komunikace (viz [[meziprocesová komunikace]]) nebo odstraněnípro duplikaceúsporu obsazené paměti (viz [[Knihovna (programování)|sdílené knihovny]], [[deduplikace]] paměti při [[Virtualizace|virtualizaci]]). O sdílené paměti lze hovořit i z hlediska [[hardware]], kdy společnou operační paměť sdílí více procesorů (viz [[Symetrický multiprocesing|SMP]]).
 
== Meziprocesová komunikace ==
== Hardwarově sdílená paměť==
{{Hlavní článek|Meziprocesová komunikace}}
PokudSdílenou mluvímepaměť olze [[software|softwaru]],použít rozumímeke pod pojmem ''sdílená paměť'' metodu komunikacekomunikaci mezi [[proces (program)|procesy]] (IPC[[meziprocesová -komunikace]], {{Vjazyce2|en|''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.
 
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ř. [[Pojmenovaná roura|pojmenované roury]], [[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íť]].
 
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'').
 
== Paměť sdílená více procesory ==
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íceprocesorového počítačového systému.
 
Řádek 13 ⟶ 20:
 
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.
 
== Softwarově sdílená paměť==
 
Pokud mluvíme o [[software|softwaru]], rozumíme pod pojmem ''sdílená paměť'' metodu komunikace mezi [[proces (program)|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.
 
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ř. [[Pojmenovaná roura|pojmenované roury]], [[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íť]].
 
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'').
 
== Literatura ==