Počítačová paměť: Porovnání verzí

Smazaný obsah Přidaný obsah
značky: školní IP editace z Vizuálního editoru
m Editace uživatele 193.87.167.50 (diskuse) vráceny do předchozího stavu, jehož autorem je 185.33.136.134
značka: rychlé vrácení zpět
Řádek 1:
Pojmem '''paměť''' se ve [[Výpočetní technika|výpočetní technice]] označují fyzická zařízení, používaná k ukládání programů (posloupností instrukcí) nebo dat (např. informací o stavu programu) pro okamžitou nebo trvalou potřebu v [[počítač]]i nebo jiném [[digitální]]m [[Elektronika|elektronickém]] zařízení. Termín vnitřní paměť nebo také primární paměť se používá pro informace uložené ve fyzických zařízeních, fungujících ve vysokých rychlostech (tj. [[RAM]]). Naproti tomu vnější paměť nebo také sekundární paměť označuje taková fyzická zařízení pro [[Elektronická paměť|ukládání programů a dat]], která mají pomalou přístupovou dobu, ale nabízejí vyšší paměťovou kapacitu. Vnitřní paměť uložená ve vnější paměti se nazývá "[[virtuální paměť]]". Starší synonymum pro paměť je '''úložiště'''.<ref>[[Alan Turing|A.M. Turing]] a R.A. Brooker (1952). [http://www.alanturing.net/turing_archive/archive/m/m01/M01-005.html ''Programmer's Handbook for Manchester Electronic Computer Mark II'']. University of Manchester.</ref>
 
Termínem "paměť" ve smyslu vnitřní paměti se často označuje adresovatelná [[polovodičová paměť]] (tj. [[Integrovaný obvod|integrované obvody]] složené z [[křemík]]ových [[tranzistor]]ů), která má mimo vnitřních pamětí i další využití v počítačích a jiných digitálních elektronických zařízeních. Polovodičová paměť se dělí na dva hlavní typy: energeticky závislou a energeticky nezávislou. Příklady energeticky nezávislé paměti jsou [[flash paměť]] (někdy využívaná jako vnější, někdy jako vnitřní počítačová paměť) a paměť [[ROM]]/[[PROM]]/[[EPROM]]/[[EEPROM]] (používaná pro [[firmware]], například zaváděcí programy). Příklady energeticky závislé paměti jsou vnitřní paměť (typicky dynamická RAM neboli [[DRAM]]) a rychlá vyrovnávací paměť procesoru (typicky statická RAM neboli [[SRAM]], která je sice rychlá, ale spotřebuje více energie a nabízí nižší paměťovou kapacitu na jednotku plochy než DRAM).
<br />{{Podrobně|Ochrana paměti}}
 
Většina polovodičových pamětí je uspořádána do paměťových buněk, tvořených [[Bistabilní klopný obvod|bistabilními klopnými obvody]], z nichž každý uchovává jeden [[bit]] (hodnotu 0 nebo 1). Flash paměti mohou být uspořádány do paměťových buněk s jedním bitem na buňku, nebo s několika bity v jedné buňce (tzv. víceúrovňová buňka). Paměťové buňky se seskupují do [[Slovo (paměťová jednotka)|slov]] s pevnou délkou, například 1, 2, 4, 8, 16, 32, 64 nebo 128 bitů. Ke každému slovu se lze dostat pomocí binární adresy o délce ''N'' bitů, takže lze v paměti uložit celkem 2 na ''N''-tou slov. To znamená, že [[Registr procesoru|registry]] [[Mikroprocesor|procesoru]] se běžně nepovažují za paměť, protože dokáží uložit pouze jedno slovo a nemají žádný adresovací mechanismus.
 
Termín '''paměťové médium''' se často používá k popisu vnějších pamětí, jako jsou pásky, magnetické disky a optické disky ([[CD-ROM]] a [[DVD|DVD-ROM]]).
 
== Historie ==
Na začátku 40. let 20. století umožňovaly paměťové technologie většinou jen kapacitu několika bajtů. První elektronický programovatelný [[Počítač|digitální počítač]] [[ENIAC]] používal několik tisíc osmikolíkových [[Elektronka|elektronek]] a dokázal provádět jednoduché výpočty se 20 desetimístnými čísly, uloženými v elektronkových střadačích.
 
Další významný pokrok v oblasti počítačových pamětí nastal s příchodem [[Paměť se zpožďovací linkou|pamětí s akustickou zpožďovací linkou]], vyvinutých [[J. Presper Eckert|J. Presperem Eckertem]] na začátku 40. let 20. století. Pomocí skleněné trubice naplněné [[Rtuť|rtutí]] a opatřené na obou koncích piezoelektrickým krystalem dokázaly zpožďovací linky zapisovat bity informací pomocí krystalu tak, že je přenášely zvukovými vlnami, šířícími se ve rtuti. Aby mohla spolehlivě fungovat, měla paměť se zpožďovací linkou omezenou kapacitu v řádu několika set tisíc bitů.
 
V roce 1946 se objevily dvě alternativní řešení zpožďovacích linek, [[Williamsova trubice]] a [[Selectron]], které obě využívaly pro ukládání dat elektronový paprsek ve skleněné trubici. Williamsovu trubici vynalezl Fred Williams, využívala [[Obrazovka|katodovou obrazovkovou trubici]], a byla první [[RAM|pamětí s přímým přístupem]]. Měla větší kapacitu než Selectron (ten byl omezen na 256 bitů, zatímco Williamsova trubice dokázala uložit několik tisíc bitů), a byla také levnější. Williamsova trubice se ovšem ukázala být nepříjemně citlivá na rušení z okolí.
 
Na konci 40. let 20. století začaly snahy o vývoj energeticky nezávislých pamětí. [[Jay Forrester]], [[Jan A. Rajchman]] a [[An Wang]] vyvinuli [[Feritová paměť|feritovou paměť]], která umožňovala obnovení obsahu paměti po ztrátě napájení. Feritové paměti se staly hlavním typem používané paměti až do vynálezu paměti na bázi [[tranzistor]]ů koncem 60. let.
 
Vývoj technologie a masová výroba umožnily nástup takzvaných "počítačů s velmi velkou pamětí".<ref>
Například:
{{cite book
| last = Stanek
| first = William R.
| title = Windows Server 2008 Inside Out
| url = http://books.google.com/books?id=SbxixF4iAEcC
| accessdate = 2012-08-20
| year = 2009
| publisher = O'Reilly Media, Inc.
| isbn = 9780735638068
| pages = 1520
|
}}
</ref>
 
Termín "paměť" v oboru počítačů obvykle označuje paměť s přímým přístupem neboli [[RAM]].
 
== Energeticky závislá paměť ==
Energeticky závislá nebo také volatilní paměť je počítačová paměť, která k udržení informace vyžaduje neustálé napájení. Většina moderních [[polovodič]]ových energeticky závislých pamětí je buď statická RAM (viz [[SRAM]]), nebo dynamická RAM (viz [[DRAM]]). SRAM udrží svůj obsah, dokud je připojené napájení, je jednoduchá na obsluhu, ale používá šest tranzistorů na jeden bit. Dynamická RAM je náročnější na obsluhu a řízení a potřebuje pravidelné obnovovací cykly, aby neztratila svůj obsah. DRAM ovšem používá pouze jeden tranzistor a jeden kondenzátor na jeden bit, což umožňuje dosáhnout vyšších hustot, a díky vyššímu počtu bitů na paměťovém čipu také mnohem nižší cenu za bit. SRAM se nevyplatí používat pro systémovou paměť osobních počítačů, kde dominuje DRAM, ale využívá se ve vyrovnávacích pamětech. SRAM se běžně používá v malých [[Vestavěný systém|vestavěných systémech]], které obvykle potřebují jen pár desítek kilobajtů paměti nebo méně. Mezi nastupující technologie energeticky závislých pamětí, které by mohly SRAM a DRAM nahradit nebo s nimi soupeřit, patří [[Z-RAM]], [[TTRAM]], [[A-RAM]] a [[ETA RAM]].
 
== Energeticky nezávislá paměť ==
Energeticky nezávislá nebo také nevolatilní paměť je počítačová paměť, která dokáže uchovat uloženou informaci, i když není napájená. Mezi příklady nevolatilní paměti patří paměť pouze pro čtení (viz [[ROM]]), [[flash paměť]], většina typů magnetických počítačových paměťových zařízení (např. [[pevný disk]], [[disketa]] a [[magnetická páska]]), [[Optický disk|optické disky]] i první metody ukládání počítačových dat jako třeba [[děrná páska]] a [[děrný štítek]]. Mezi nastupující technologie energeticky nezávislých pamětí patří [[Paměť FRAM|FRAM]], [[CBRAM]], [[PRAM]], [[SONOS]], [[RRAM]], [[Nano-RAM|NRAM]] a paměti [[Racetrack Memory|racetrack]] a [[Millipede memory|millipede]].
 
== Správa paměti ==
{{Podrobně|Správa paměti}}
 
Řádná správa paměti je nezbytná pro správnou funkci počítačového systému. Moderní [[operační systém]]y používají pro řádnou správu paměti složité systémy. Pokud by je nepoužívaly, mohlo by docházet k chybám, sníženému výkonu, a v nejhorším případě i k napadení viry a škodlivým softwarem.
 
Při téměř jakékoli činnosti musí počítačový programátor uvažovat nad správou paměti. I při pouhém uložení čísla do paměti musí programátor určit, jak ho má paměť uložit.
 
=== Chyby při správě paměti ===
Nevhodná správa paměti je častou příčinou chyb.
 
* Při [[Přetečení|aritmetickém přetečení]] je výsledkem operace vyšší číslo, než jaké povoluje alokovaná paměť. Například 8-bitové celé číslo se znaménkem umožňuje uložit čísla od -128 do +127. Pokud máme hodnotu 127 a instrukci přičíst jedničku, počítač nemůže výsledné číslo 128 uložit do přiděleného prostoru. V takovém případě dojde k nežádoucí operaci, například ke změně hodnoty čísla na -128 namísto správných +128.
 
* [[Únik paměti]] nastane, když si program vyžádá paměť od operačního systému, a po ukončení operace s pamětí už ji nevrátí zpátky. Program s touto chybou bude postupně vyžadovat více a více paměti, dokud neselže z důvodu nedostatku paměti.
 
* K [[porušení ochrany paměti]] dochází, když se program snaží přistupovat k paměti, ke které nemá přístup povolen. Takový program bývá obvykle ukončen operačním systémem.
 
* [[Přetečení vyrovnávací paměti]] znamená, že program zapisuje data na konec svého alokovaného prostoru, a pak pokračuje v zápisu dat stále dál, do paměti, která už patří jiným programům. To může mít za následek chybové chování programu, včetně chyb přístupu do paměti, nesprávných výsledků, pádu programu nebo narušení bezpečnosti systému. Je tedy základem mnoha softwarových zranitelností a může být zneužito ke zlým úmyslům.
 
=== První počítačové systémy ===
V prvních počítačových systémech programy obvykle uvedly místo, kam chtějí zapisovat a jaká data chtějí zapsat. Místem se rozumělo fyzické umístění přímo v paměťovém hardwaru. Slabý výkon těchto počítačů nedovolovat složité systémy správy paměti, jaké se používají dnes. Protože většina takových počítačů byla jednoúlohová, složité systémy správy paměti nebyly ani tolik zapotřebí.
 
Tento přístup má svá úskalí. Pokud je určené umístění nesprávné, počítač zapíše data do jiné části programu. Následky takové chyby jsou nepředvídatelné. V některých případech mohou nesprávná data přepsat paměť používanou operačním systémem. Toho mohou využívat počítačoví crackeři k tvorbě virů a škodlivého softwaru.
 
=== Virtuální paměť ===
{{Podrobně|Virtuální paměť}}
 
'''Virtuální paměť''' znamená systém, ve kterém je všechna fyzická paměť řízena operačním systémem. Když program potřebuje paměť, vyžádá si ji od operačního systému. Operační systém pak rozhodne, na jakém fyzickém místě se bude přidělená paměť nacházet.
 
To má několik výhod. Počítačoví programátoři se už nemusí starat o to, kde se paměť ve skutečnosti nachází, nebo zda bude mít uživatelův počítač dostatek paměti. Dovoluje to také používat více typů paměti. Část paměti může být například umístěna v RAM čipech, zatímco zbytek je uložen na pevném disku. Tím se výrazně zvýší množství paměti, které je programům k dispozici. Operační systém umístí aktivně používanou paměť do fyzické RAM, která je mnohem rychlejší než pevný disk. Když množství RAM nestačí pro všechny aktuálně spuštěné programy, může nastat situace, kdy počítač tráví více času přesouváním obsahu paměti z RAM na disk a zpět než plněním úkolů programu. Tomuto jevu se říká [[hluché stránkování]].
 
Systémy virtuální paměti obvykle obsahují i ochranu paměti, ale nemusí tomu tak být vždy.
 
=== Chráněná paměť ===
<br />{{Podrobně|Ochrana paměti}}
 
'''Chráněná paměť''' znamená systém, ve kterém má každý program přidělen k používání svou oblast paměti a nesmí se pohybovat mimo tento rozsah. Používání chráněné paměti významně zvyšuje jak spolehlivost, tak bezpečnost počítačového systému.