Wielu z nas widziało, gdy uzyskujemy dostęp do dysku lokalnego C, że w środowiskach Windows istnieją dwa foldery o nazwie „Pliki programów” i „Pliki programów (x86)”:
Powstaje pytanie: Jaka jest różnica między tymi dwoma folderami? Pamiętaj, że celem obu jest hostowanie aplikacji zainstalowanych w systemie.
Ważne i idealne jest, aby pamiętać, że od 2005 roku Microsoft podjął decyzję o udostępnieniu swoich systemów Windows w architekturze 32-bitowej i 64-bitowej dla wszystkich użytkowników, ponieważ początkowo Windows był dostępny tylko jako 32-bitowy system operacyjny. Dlatego w 32-bitowych wersjach systemu Windows, nawet 32-bitowych wersjach systemu Windows 10, które do dziś widzimy, zobaczymy tylko folder C:\Program Files, natomiast w 64-bitowych systemach operacyjnych znajdziemy dwa foldery o nazwie C: \ Program Files (C: \ Program Files) i C: \ Program Files 8x86) lub C: \ Program Files (x86).
Ten folder „Program Files” jest domyślną lokalizacją w systemie Windows, w której instalowane przez nas programy muszą przechowywać swoje pliki wykonywalne, dane i inne typy plików.
Warstwa WoW64 dba o emulację środowiska 32-bitowego, a utrata wydajności na ogół nie jest zauważana jako użytkownicy. Emulowane programy mają tę zaletę, że WoW64 może przydzielić aplikacji maksymalną ilość pamięci RAM (4 GB). W prawdziwym systemie 32-bitowym część tej pamięci RAM zostanie przydzielona do jądra systemu operacyjnego i innych uruchomionych programów.
Jaka jest różnica między tymi dwoma folderami?
Systemy operacyjne Windows uruchamiają aplikacje 32-bitowe w 64-bitowych wersjach systemu Windows przy użyciu czegoś, co nazywa się WOW64, co oznacza „32-bitowy system Windows w 64-bitowym systemie Windows”, ale nie może uruchamiać aplikacji 64-bitowych w środowiskach 32-bitowych.
Kiedy uruchamiamy 32-bitowy program w 64-bitowej wersji systemu Windows, warstwa emulacji WOW64 przekierowuje ten dostęp do plików ze ścieżki „C:\Program Files” do „C:\Program Files (x86)”. Programy 32-bitowe próbują uzyskać dostęp do katalogu „Program Files” i wskazują folder „Program Files (x86)”. Programy 64-bitowe nadal korzystają z normalnego folderu „Pliki”.
Co przechowuje każdy folder
W 32-bitowych środowiskach Windows będziemy mieli tylko folder „C: \ Program Files”, który zawiera wszystkie zainstalowane 32-bitowe programy.
POWIĘKSZAĆ
W 64-bitowej wersji systemu Windows programy 64-bitowe są przechowywane w folderze „C: \ Program Files”, a programy 32-bitowe są przechowywane w folderze „C: \ Program Files (x86).”:
POWIĘKSZAĆ
Powody, dla których istnieją oba foldery, a nie tylko jeden
- Aby odróżnić różne wersje
- Zmniejsz prawdopodobieństwo konfliktu podczas uruchamiania aplikacji 32-bitowych w środowiskach 64-bitowych
- Zwiększa prawdopodobieństwo prawidłowego działania starszych programów
Ponadto programy 32-bitowe nie mogą ładować bibliotek 64-bitowych (plików DLL) i mogą ulec awarii, jeśli spróbują załadować określoną bibliotekę DLL i znaleźć plik 64-bitowy zamiast 32-bitowego. To samo dotyczy programów 64-bitowych, ponieważ przechowywanie różnych plików programów dla różnych architektur procesora zapobiega takim błędom, które wpływają na produktywność.
Powodem, dla którego folder „Program Files” zawiera wtyczkę x86, jest to, że x86 to inny sposób odnoszenia się do procesorów 32-bitowych. Pierwotnie procesory 16-bitowe (w szczególności architektury procesorów 8086 i 8088) były nazywane „x86”. Nazwa ta została przez jakiś czas rozszerzona o 32-bitową rodzinę procesorów 80386 i 80486. Gdy wprowadzono procesory 64-bitowe, nazwano je x64, aby odróżnić je od starszych linii procesorów.
System Windows automatycznie instaluje programy we właściwym folderze, dzięki czemu nie musimy się martwić, czy znajdują się we właściwej ścieżce.
Wszystkie 32-bitowe i 64-bitowe programy i aplikacje powinny przechowywać swoje dane w folderach, takich jak AppData i ProgramData, a nie w żadnym folderze „Program Files”.
Aby dowiedzieć się, które programy lub aplikacje są 32 lub 64 bitowe, możemy przejść do każdego folderu na dysku C i zobaczyć, gdzie program jest zainstalowany, lub z menedżera zadań Windows możemy zobaczyć architekturę wspomnianego programu:
POWIĘKSZAĆ
Każda aplikacja została opracowana w specjalnym typie architektury, a system Windows dba o umieszczenie jej na właściwej ścieżce.