Vyšlo v týdeníku Computerworld č. 27/93 v roce 1993
Vytištěno z adresy: http://www.earchiv.cz/a93/a327c120.php3

Shutdown

Zapnout počítač není nic těžkého - stačí zmáčknout příslušné tlačítko, přepnout páčku či otočit vypínačem. Ovšem správně spustit operační systém, to už nemusí být zdaleka triviální.

Běžný uživatel si často ani neuvědomuje, co všechno se odehraje poté, co svůj počítač zapne - jak se zjišťuje konfigurace systému, jak se zavádí jednotlivé části operačního systému, jak se instalují jednotlivé ovladače, jak se startují různé systémové procesy či úlohy, jak se nastavuje systémový čas, jak se kontroluje konzistence systémů souborů atd. Všechny tyto akce naštěstí bývají předem naprogramovány ve formě příkazových (dávkových, skriptových) souborů, které sestavuje správce systému a které se po zapnutí počítače spouští zcela automaticky. Uživatel se pak nemusí téměř o nic starat, ale musí vždy počkat, až mu jeho počítač sám "naběhne". Díky tomu si ale většinou uvědomuje, že spuštění operačního systému je spojeno s určitými akcemi.

Jinak je tomu ale již s vypínáním počítačů. Mnozí uživatelé jsou přesvědčeni, že stačí "schovat" rozpracovaná data právě probíhající aplikace na disk a pak počítači jednoduše vypnout napájení. Například na počítačích PC s operačním systémem MS DOS to ještě může být pravda, ale obecně je to velký a nebezpečný omyl.

Problém je v tom, že operační systém si v zájmu optimalizace rychlosti může udržovat některé aktuální informace v operační paměti a zapisovat je na disk až s určitým časovým odstupem, nebo dokonce až na explicitní pokyn. Příkladem mohou být informace o přesném umístění jednotlivých souborů na disku. Aby k nim měl operační systém co nejrychlejší přístup, načte si je z disku do operační paměti a zde pak s nimi pracuje. To ale znamená, že nadále existují dvě verze jedné a téže informace - jedna na disku a druhá v tabulkách, které si operační systém udržuje v operační paměti. V průběhu práce operačního systému se pak tyto dvě verze mohou stát vzájemně nekonzistentními: když operační systém nějakým způsobem změní způsob uložení souborů na disku, může být pro něj výhodnější zanést si příslušné změny jen do svých tabulek v operační paměti a na disku je aktualizovat později, až k tomu bude vhodná příležitost - například až se těchto změn nahromadí více, po uplynutí určitého časového intervalu, na explicitní pokyn apod.

Jakmile však dojde ke ztrátě napájení (ať již vypnutím či výpadkem sítě), obsah operační paměti se nenávratně ztrácí, a s ním i aktuální verze informací o skutečném umístění souborů, která není konzistentní s (neaktualizovanou) verzí této informace na disku. Při příštím spuštění operačního systému se ovšem načte do paměti právě tato neaktuální informace a operační systém pak podle ní bude na disku hledat jednotlivé soubory - které se však již mohou nacházet někde úplně jinde. Záleží pak na konkrétním operačním souboru, jak dobře se s touto situací dokáže vyrovnat, zda ji dokáže napravit sám, či zda například zcela zhavaruje.

Obecně lze říci, že například operační systém MS DOS v tomto směru problémy nemá (protože veškeré změny údajů o uložení souborů okamžitě aktualizuje i na disku). Jinak je tomu v případě Unixu a dalších víceuživatelských operačních systémů.

Dalším důvodem, kvůli němuž může být nenadálé vypnutí počítače velmi nebezpečné, je používání vyrovnávacích (cache) pamětí s tzv. odloženým zápisem. Jde vlastně o obdobu předchozího případu, s tím rozdílem, že nyní jde o vlastní obsah jednotlivých souborů - ten se při použití vyrovnávacích pamětí s odloženým zápisem zapisuje nejprve jen do paměti, a teprve později se skutečně zapisuje i na disk. Zde by ovšem měli být na pozoru i uživatelé počítačů PC s operačním systémem MS DOS: program SMARTDRV, který je standardní součástí MS DOSu a realizuje diskovou vyrovnávací (cache) paměť, techniku odloženého zápisu podporuje.

Kdy je tedy možné bez nebezpečí vypnout počítač? Obecně poté, co operačnímu systému sdělíme svůj záměr a necháme jej provést všechny k tomu potřebné akce. Mezi ně přitom zdaleka nepatří jen aktualizace informací na disku - u víceuživatelských operačních systémů a serverů sítí je například nutné informovat o záměru vypnout počítač také všechny jeho stávající uživatele a poskytnout i jim dostatek času na to, aby řádně ukončili svou práci a odhlásili se ze systému. Teprve pak, až operační systém ohlásí své "hotovo", je možné počítač bez nebezpečí vypnout.

V této souvislosti se pak hovoří o tzv. řádném ukončení jako protipólu "násilného" ukončení, představovaného náhlým vypnutím napájení počítače. V angličtině se pro řádné ukončení vžil název shutdown.

Řádné ukončení (shutdown) se u jednotlivých operačních systémů provádí nejčastěji prostřednictvím systémových příkazů ve formě příkazových souborů (skriptů), které správce systému může doplnit o další specifické akce. Jména těchto příkazů mohou být různá - od SHUTDOWN či POWERDOWN až např. po lakonické DOWN.