Kdo někdy otevřel Průzkumníka souborů a proklikal se do systémových adresářů Windows, mohl narazit na zvláštní paradox. Ve Windows 11 verze 26H2, tedy v aktuální verzi systému, obsahuje adresář C:\Windows\System32 především 64bitové systémové knihovny a programy. Naproti tomu složka C:\Windows\SysWOW64, jejíž název může naznačovat 64bitový obsah, je určená pro 32bitové soubory. Na první pohled to vypadá jako chyba, ale Microsoft toto pojmenování zachovává záměrně. Důvod sahá hluboko do historie Windows.
Vysvětlení přitom není nové. Raymond Chen, dlouholetý vývojář Windows a autor známého blogu The Old New Thing, tuto záhadu popsal už v roce 2010 v článku nazvaném „History – the Long Way Through“. Stejný princip potvrzuje i aktuální dokumentace na Microsoft Learn.
Proč se složka jmenuje System32, když je v ní 64bitový obsah
Příběh začíná v době, kdy Windows ještě nebyly 64bitové. V původních 16bitových verzích systému existoval adresář system, do kterého se ukládaly systémové knihovny. Když Microsoft přešel na 32bitovou architekturu, vytvořil nový adresář system32. Název tehdy dával smysl, protože obsahoval 32bitové knihovny DLL. Šestnáctibitové soubory zůstaly v původním adresáři system.
Pak ale přišel přechod na 64 bitů. Microsoft stál před volbou: přejmenovat system32 například na system64 a vytvořit nový adresář pro 32bitové knihovny, nebo zachovat zavedený název a 32bitové soubory přesunout jinam.
Zvolil druhou možnost. Důvod byl pragmatický: tisíce existujících aplikací měly cestu C:\Windows\System32 pevně zapsanou v kódu. Její přejmenování by mohlo způsobit, že přestanou fungovat.
Co znamená WOW64 a proč to číslo mate
Zkratka WOW64 znamená „Windows 32-bit on Windows 64-bit“. Jde o kompatibilní vrstvu, která umožňuje 32bitovým aplikacím běžet na 64bitovém systému. Právě podle této vrstvy se jmenuje i adresář SysWOW64. Číslo 64 v názvu neoznačuje bitovou architekturu souborů uvnitř, ale 64bitový systém, na kterém kompatibilní vrstva pracuje.
WOW64 funguje v uživatelském režimu. Zajišťuje mimo jiné spolupráci mezi 32bitovými aplikacemi a 64bitovým jádrem Windows a přizpůsobuje systémová volání tak, aby aplikace mohly na 64bitovém systému správně fungovat. Microsoft k tomu využívá několik důležitých komponent:
- Wow64.dll – zajišťuje hlavní část fungování kompatibilní vrstvy
- Wow64Win.dll – zprostředkovává volání související s grafickým rozhraním a okny
- Wow64Cpu.dll – zajišťuje potřebné přepínání kontextu procesoru na systémech x64
- xtajit.dll a wowarmw.dll – souvisejí s emulací kódu na zařízeních s architekturou ARM64
Když 32bitová aplikace přistupuje k cestě C:\Windows\System32, Windows její přístup za běžných okolností přesměrují do adresáře SysWOW64, kde najde odpovídající 32bitové knihovny. Aplikace si tohoto přesměrování zpravidla vůbec nevšimne.
Existují však výjimky. Některé cesty, například driverstore, drivers\etc nebo spool, se nepřesměrovávají stejným způsobem. U těchto umístění je totiž potřeba zachovat specifické chování a přístup k souborům bez ohledu na bitovou architekturu aplikace.
Proč Microsoft složky prostě nepřejmenuje
Raymond Chen u podobných rozhodnutí opakovaně připomíná důležitou zásadu: změny zavedených systémových cest mohou rozbít aplikace, které na ně spoléhají. A takových aplikací je obrovské množství. Nejde jen o drobné nástroje, ale také o podnikový software, instalátory, skripty, zásuvné moduly a ovladače, které mají konkrétní cesty zapsané přímo v kódu.
Microsoft proto raději vytvořil systém přesměrování, než aby riskoval rozsáhlé problémy s kompatibilitou.
Zajímavé srovnání nabízí Apple. V systému macOS Catalina (verze 10.15) ukončil podporu 32bitových aplikací. Uživatelé, kteří se spoléhali na starší 32bitové programy, tak museli hledat jiné řešení. Microsoft zvolil opačný přístup. Windows 11 jsou dostupné pouze v 64bitové verzi, přesto vrstva WOW64 nadále umožňuje spouštět většinu 32bitového softwaru bez nutnosti jeho úprav.
Co to znamená v praxi a jak je to na ARM
Pro běžného uživatele zůstává celý mechanismus prakticky neviditelný. Starší 32bitové programy, včetně českého softwaru, se často instalují do adresáře Program Files (x86) a následně běží prostřednictvím WOW64. Díky tomu mohou fungovat i na moderním 64bitovém systému, aniž by uživatel musel řešit rozdíly mezi oběma architekturami. Na klasických počítačích s procesory x64 je dopad na výkon obvykle malý, protože procesory dokážou instrukce x86 zpracovávat přímo.
Složitější je situace u počítačů s procesory ARM, například s čipy Snapdragon X. Windows zde musí při spouštění aplikací určených pro architekturu x86 využívat emulační mechanismy, což může přinášet vyšší režii. Zároveň se postupně mění podpora staršího softwaru. Microsoft označuje 32bitové aplikace ARM jako nepodporované v budoucích verzích Windows a u 32bitových aplikací Microsoft 365 pro ARM mají bezpečnostní aktualizace skončit v prosinci 2026.
Plošné ukončení podpory 32bitových aplikací na platformě x64 však Microsoft zatím neoznámil. Dokumentace WOW64 tuto kompatibilní vrstvu nadále popisuje jako standardní součást Windows.
Matoucí názvy System32 a SysWOW64 tedy nejsou pouhou chybou, kterou by šlo napravit jednoduchým přejmenováním. Jsou důsledkem snahy zachovat zpětnou kompatibilitu a umožnit, aby software napsaný před mnoha lety fungoval i na dnešních počítačích. Dokud bude Microsoft tuto kompatibilitu považovat za důležitou, zůstanou oba adresáře pojmenované tak, jak jsou uživatelé znají.
Zdroj: Mobify.cz - Váš párťák ve světě elektroniky
Autor: Vojtěch Kalivoda