Vyšlo v týdeníku Computerworld č. 35/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a235c120.php3

Volatile vs. nonvolatile

Mezi bohatýrské historky opravdových programátorů patří i barvité líčení těžkostí při ladění úloh na takovém počítači, jehož chování se měnilo podle toho, kdy byl předchozí den vypnut.

Ano, i takovéto věci se mohly stávat. V době, kdy se pro realizaci operační paměti počítačů používala tzv. feritová jádra, stačilo poměrně málo: zapomenout provést počáteční nastavení (inicializaci) určitého paměťového místa, a číst z něj jeho obsah. Ten ovšem u feritových pamětí nebyl náhodný, ale odpovídal naposledy zapsanému obsahu - jednotlivé buňky feritové paměti si totiž svůj obsah podržely i po vypnutí celého počítače. Jestliže pak byla takovýmto způsobem použita paměť, která před vypnutím počítače sloužila jako čítač času (resp. uchovávala se v ní aktuální hodnota systémového času), byla zdánlivě nemožná závislost na době předchozího vypnutí naopak zcela zákonitá.

Schopnost podržet si svůj obsah i po vypnutí počítače (přesněji: po ztrátě napájecího napětí) však není výsadní doménou dnes již nepoužívaných feritových pamětí. Stejnou vlastnost vykazují obecně všechny magnetické paměti (tj. kromě feritových pamětí i např. paměti bublinkové a všechny druhy magnetických pásek, disků a disket), dále paměti mechanické (děrné pásky, štítky), paměti optické (např. systémy CD ROM), a v neposlední míře také polovodičové paměti pouze pro čtení (tj. paměti ROM, PROM a EPROM) či převážně pro čtení (tj. paměti EAROM a EEROM).

Alternativou jsou pak takové paměti, které svůj obsah po vypnutí počítače (ztrátě napájecího napětí) nenávratně ztrácí. Patří mezi ně vlastně jen polovodičové paměti pro čtení i zápis (správně: paměti RWM, lidově označované jako paměti RAM), a to jak statické, tak i dynamické. Operační paměť dnešních počítačů je však dnes realizována výhradně tímto druhem pamětí.

Paměti, které při ztrátě napájecího napětí přichází o svůj obsah, se v angličtině označují přívlastkem volatile (česky: nestálé, nebo též: volatilní). Paměti alternativní kategorie, které si svůj obsah dokáží podržet i po dobu nepřítomnosti napájecího napětí, se pak označují jako non-volatile (stálé, nevolatilní).

Někdy je ovšem zapotřebí, aby si jinak nestálá (volatilní) paměť podržela svůj obsah i po vypnutí počítače, tedy aby se vlastně chovala jako paměť stálá (nevolatilní). Příkladem mohou být počítače PC/AT, které si ve zvláštní vyhrazené paměti udržují důležité systémové údaje o vlastní konfiguraci (např. o počtu a typu pevných disků a disketových mechanik, V/V adresách sériových a paralelních rozhraní i různých řadičů, druhu videoadaptéru, rozsahu a způsob organizace operační paměti apod.). Z technických i dalších důvodů se ale nevyplatí či dokonce není možné uchovávat tato data v paměti, která je stálá (nevolatilní) již svým fyzikálním principem - například na disku či dokonce nastavením přepínačů a propojek na systémové desce, jako tomu bylo ještě počítačů kategorie PC/XT. Místo toho je nejvýhodnější použít malou (např. 64-bytovou) volatilní paměť, a vybavit ji vlastním trvalým zdrojem napájení. Nejvýhodnější jsou pro tento účel polovodičové paměti, vyrobené technologií CMOS. Ty mají totiž tak zanedbatelnou spotřebu, že i velmi malé baterie je dokáží napájet nepřetržitě i několik let. Z nestálé (volatilní) paměti se tak stává paměť stálá (nevolatilní), a uživatel často ani netuší, že jeho počítač je vlastně "na baterky".