Poměrně nedávno, bylo to v roce 2010, jsem se vracel k ránu domů do své domácí kanceláře, zapnul jsem počítač a pak jsem vyrazil nahoru, abych si připravil snídani. Když jsem se po chvíli vrátil, měl jsem operační systém na počítači spuštěný a připravený k práci.
Poté jsem se rozhodl provést upgrade počítače a zakoupil jsem diskové pole typu RAID s disky SSD – od té doby mi trvá spuštění operačního systému na mém počítači asi 30 sekund. Je mi jasné, že ne každý chce utratit spoustu peněz za nové úložiště svých dat, a tak jsem se začal zajímat o to, do jaké míry by se dalo urychlit spouštění operačního systému na počítači, aniž bych musel utratit jedinou korunu. Po několika hodinách ladění a testování se mi podařilo snížit dobu načítání operačního systému v počítači z 69 sekund na 47 sekund. Zajímá vás, jak se mi to podařilo? Pak čtěte dále…
1. díl článku: testovací počítač, proces spouštění operačního systému
2. díl článku: zákaz spouštění externích služeb
3. díl článku: zákaz aplikací spouštějících se při startu OS, vyladění BIOSu
4. díl článku: vyčištění registru
5. díl článku: změna doby zobrazení spouštěcí nabídky, závěr
Testovací počítač
Namísto umělého vytváření pomalu se načítajícího operačního systému instalací množství všemožných aplikací z webu jsem se rozhodl použít existující běžně používaný počítač – takový, který většina uživatelů používá takříkajíc každý den. V mém případě se samozřejmě nejednalo o moji sestavu vybavenou disky SSD, ale o sestavu, kterou používám k testování výkonu přídavných grafických karet. Vzhledem k tomu, že tato sestava slouží i jako záložní systém pro úpravu obsahu, nainstaloval jsem na něj Adobe Master Collection 5.0, a to včetně všech dalších doplňků, které Adobe tak rád přidává do každé počítačové sestavy. Další velkým kouskem softwaru pak je Microsoft Office.
V počítačové sestavě se nachází čtyřjádrový procesor Core i7 965X, 6 GB operační paměti RAM a pevný disk Seagate 7200.11 o velikosti 1 TB s rychlostí otáček 7 200 otáček za minutu.
Počítačová sestava v tomto provedení mi umožnila otestovat skutečně dosažené výsledky týkající se doby spouštění operačního systému na počítači, který odpovídá takovému typickému, běžně používanému systému. Postupem času jsem na tento počítač nainstaloval bezpočet grafických karet, což mimo jiné znamená také bezpočet instalací a odinstalací nejrůznějších ovladačů. Stejně tomu bylo s instalacemi a odinstalacemi her či aplikací. V žádném případě však od optimalizace takového postupně zanášeného reálného systému nečekejte tak veliké změny, jakých byste dosáhli s některými uměle připravenými testy.
Proces spouštění operačního systému
Po zapnutí počítače provede procesor několik úvodních spouštěcích operací a poté vyhledává v zavaděči spouštění v paměti ROM určitou adresu v paměti. V dalším kroku procesor spouští kód, který se na této adrese nachází (jedná se o zavaděč operačního systému). Spouštěcí kód v paměti ROM pak vyjmenovává veškerý hardware v počítači a provádí řadu diagnostických testů. V dalším kroku vyhledá na prvním úložném zařízení (pokud nemáte nastaveno spouštění operačního systému ze sítě, pak se pravděpodobně bude jednat o váš pevný disk) určitý sektor a vykoná kód, jenž se tam nachází. Tak začíná proces spouštění operačního systému.
Ve Windows je výše zmiňovaným kódem, který procesor zpracovává, správce spouštění Windows (Windows Boot Manager). Právě správce spouštění stojí na začátku procesu načítání Windows. V příslušné fázi tohoto procesu pak dochází k načítání srdce operačního systému Windows – jádra operačního systému – do paměti. Spolu s ním se načítá vrstva abstrakce hardwaru a několik hlavních ovladačů. Vrstva abstrakce hardwaru následně vytváří rozhraní mezi operačním systémem jako takovým a hardwarem počítače. V dalším kroku se spouští výkonná část Windows, což je v podstatě soubor naprosto nezbytných systémových služeb, jako je správce virtuální paměti a správce vstupu a výstupu. Tato výkonná část posléze načítá registr Windows.
Informace o tom, jaké služby, ovladače či aplikace se načítají při spouštění operačního systému, najdete v registru. Registr Windows v podstatě není ničím jiným než databází, v níž jsou uložena veškerá nastavení, konfigurace a parametry jak pro klíčové aplikace, tak pro služby operačního systému běžící na nejnižší úrovni. Postupem času se registr Windows zanáší nejrůznějším balastem, který se tam dostává instalací a odinstalací aplikací uživateli a činnost operačního systému jako takového se zpomaluje. Je tedy logické, že i doba spouštění operačního systému Windows bude záviset na načtení klíčových služeb a aplikací spouštěných právě při startu operačního systému.
Následující přehled v žádném případě není žádný podrobným popisem procesu spouštění operačního systému Windows. Pokud si přejete získat právě o tomto tématu podrobnější informace, zkuste například následující internetovou stránku – http://sourcedaddy.com/windows-7/configuring-startup-and-troubleshooting-startup-issues.html.
Při pohledu na proces spouštění operačního systému je možné nalézt několik oblastí, v nichž se dá na snížení doby této operace zapracovat:
- Systém BIOS či rozhraní EFI (Extensible Firmware Interface)
- Správce spouštění (Windows Boot Manager)
- Služby poskytované aplikacím (Helpers)
- Programy spouštějící se při startu operačního systému
- Registr Windows
Na každou z výše uvedených položek se blíže podíváme v následujících dílech seriálu.