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

UPS

Vypnout počítač v době, kdy na to není připraven, může mít velmi nepříjemné následky - o tom jsme se zmiňovali již v minulém příspěvku této rubriky na téma "Shutdown" neboli "řádné ukončení". Problém je totiž v tom, že jak operační systém, tak i samotné aplikace mohou v daném okamžiku pracovat s daty, která mají uloženy pouze v operační paměti, a nikoli na disku. Dojde-li pak k náhlé ztrátě napájení, obsah operační paměti se nenávratně ztrácí a s ním pak i veškerá data, která nebyla včas přenesena do tzv. trvalé paměti, která svůj obsah s výpadkem napájení neztrácí (tedy např. na disk).

Náhlá ztráta napájení však nemusí být způsobena jen tím, že svůj počítač sami a o vlastní újmě vypneme. Stejný efekt má samozřejmě i náhlý výpadek napájecí sítě a bohužel také různé krátkodobé jevy v rozvodné síti, které některým jiným elektrických spotřebičům nemusí příliš vadit. Patří sem především takové případy, kdy na krátkou dobu (zlomků sekund až celých sekund) dojde k poklesu napájecího napětí - takovéto krátkodobé poklesy do cca 20 % původní hodnoty jsou v angličtině označovány jako sags a dips, zatímco poklesy větší než o 20 % jsou označovány jako brownouts (doslova: zahnědnutí). Trvalý výpadek je pak příznačně označován jako blackout (doslova: zatemnění, zčernání). Spínané impulzní zdroje dnešních počítačů lze připodobnit ke kondenzátoru, který je z jedné strany střídavě nabíjen napětím ze sítě, a z druhé strany zase vybíjen napájenými částmi. Díky tomu mohou tyto zdroje některé velmi krátké poklesy překlenout, ale jiné již nikoli: uživateli se to pak projeví nejčastěji tím, že se mu jeh o počítač náhle tzv. přebootuje.

Neméně nepříjemné jsou však i opačné situace, představované krátkodobým vzrůstem napětí v napájecí síti - špičkami do 100% vzrůstu napětí na dobu kratší než 100 mikrosekund (v angličtině: spikes), či ještě větším a delším přepětím (anglicky: surge), které může zdroje dnešních počítačů i trvale poškodit.

Jak se ale takovýmto poruchám v napájecí síti bránit? Jednou z možností jsou tzv. zdroje nepřerušitelného napájení (anglicky: Uninterruptible Power Supply, zkratkou UPS). Jsou to velmi užitečná zařízení, která si ale své hrdé pojmenování příliš nezaslouží - mohou sice být zdrojem napájení pro nejrůznější výpočetní techniku, a skutečně i nepřerušitelného napájení, ovšem jen po relativně krátkou dobu, maximálně desítek minut. Nejsou určena k tomu, aby napájela počítače po celou dobu výpadku napájecí sítě (který může trvat i celé hodiny) - tuto roli mohou plnit až různé záložní elektrické generátory. Úkolem zdrojů nepřerušitelného napájení (zdrojů UPS) je pouze to, aby při výpadku napájecí sítě umožnily provést akce potřebné k řádnému ukončení (shutdownu) práce počítače.

Zdroje nepřetržitého napájení nejsou schopné elektrický proud samy vyrábět - tak jako elektrické generátory. Mají pouze vlastní baterii, kterou za normálního stavu napájecí sítě neustále dobíjejí, a při výpadku sítě pak mohou z této baterie napájet připojené spotřebiče jen tak dlouho, dokud na to kapacita baterie stačí. Zde proto záleží na konkrétním typu zdroje nepřerušitelného napájení, ale v praxi se tyto zdroje konstruují tak, aby při nominální zátěži "vydržely" několik minut, ev. i přes deset minut.

Po technické stránce mohou být zdroje nepřerušitelného napájení řešeny jako off-line zdroje, které za normálního stavu sítě pouze "propouštějí" napájecí napětí ze sítě přímo k připojeným spotřebičům, a teprve v okamžiku výpadku sítě se automaticky přepnou na napájení z baterie. Alternativou je zapojení on-line, kdy veškerá energie ze sítě prochází "skrz" zdroj nepřerušitelného napájení: ten transformuje napětí ze sítě na takové, kterým může průběžně dobíjet baterii, a současně s tím z tohoto napětí vyrábí i výstupní napětí, kterým napájí připojené spotřebiče. Díky tomu dokáže on-line zdroj zajistit téměř ideální průběh výstupního napětí a odfiltrovat nejrůznější poruchy, včetně přepětí. Off-line zdroje zase mají k dispozici velký zkratový výkon sítě, kterým dokáží pokrýt nárazové potřeby tzv. záběrového proudu při zapínání připojených spotřebičů.

Zajímavá je však komunikace zdroje nepřerušitelného napájení s jeho spotřebiči - jakým způsobem může zdroj přimět operační systém napájeného počítače, aby provedl řádné ukončení neboli tzv. shutdown? Nezbytnou podmínkou je možnost signalizace výpadku napájecí sítě a přechodu na napájení z baterie; zdroj musí mít možnost upozornit počítač na tuto situaci. Technické řešení může být různé: "inteligentní" zdroje nepřerušitelného napájení jsou vybaveny vlastními procesory a s počítačem komunikují např. přes sériový kanál, kterým si vyměňují různé zprávy a hlášení, případně i různé statistiky a další provozní údaje. Jednodušší zdroje se pak spoléhají na inteligenci počítače, který musí být vybaven speciální deskou (tzv. monitorovací kartou), a ta pak průběžně vyhodnocuje stav zdroje i napájecí sítě.

Co se ale má stát v okamžiku, kdy dojde k výpadku sítě a zdroj přejde na napájení z baterie? Má být ihned zahájeno řádné ukončení práce operačního systému (shutdown), nebo se má ještě počkat? Kdyby totiž šlo jen o krátkodobý výpadek, mohl by jej zdroj pokrýt a počítač by nemusel reagovat vůbec. K zahájení řádného ukončení proto dochází obvykle až za určitou dobu (typicky několik málo minut) od okamžiku, kdy byl signalizován přechod na napájení z baterií, pokud výpadek do té doby neskončil . Teprve pak se tedy odehrávají všechny potřebné akce, mezi které patří i signalizace nadcházejícího vypnutí počítače všem jeho uživatelům, a uložení veškerých dosud neuschovaných dat na disk. Poté je velmi žádoucí, aby se celý napájený systém včetně zdroje UPS sám vypnul, aby nedocházelo k dalšímu vybíjení baterií až do jejich úplného vyčerpání).

Zajímavé je také programové řešení. V prostředí víceúlohových operačních systémů může být sledování zdroje nepřerušitelného napájení svěřeno samostatnému procesu, zatímco u jednoúlohového operačního systému je třeba řešit komunikaci formou přerušení právě probíhajícího programu. Ať již je ale příslušný kód spuštěn jakkoli, jeho možnosti mohou být dosti omezené: operační systém i jednotlivé aplikační úlohy mu totiž nemusí vycházet příliš vstříc. Většina víceuživatelských či víceúlohových operačních systémů sice umožňuje, aby některý z právě probíhajících procesů vyvolal řádné ukončení (shutdown) operačního systému jako takového, ale jednotlivé aplikace na takovouto možnost většinou nepamatují. Pak už zbývá vlastně jen jediné - včasná akustická a optická signalizace uživateli, aby si své aplikace ukončil sám ještě dříve, než se práce operačního systému skutečně ukončí.