Jaka jest różnica między folderami "System32" i "SysWOW64" w systemie Windows?

Spisu treści:

Wideo: Jaka jest różnica między folderami "System32" i "SysWOW64" w systemie Windows?

Wideo: Jaka jest różnica między folderami "System32" i "SysWOW64" w systemie Windows?
Wideo: How to Shoot Travel Videos with your Phone in 2023! 2024, Marsz
Jaka jest różnica między folderami "System32" i "SysWOW64" w systemie Windows?
Jaka jest różnica między folderami "System32" i "SysWOW64" w systemie Windows?
Anonim
W 64-bitowych wersjach systemu Windows są dostępne dwa osobne foldery Program Files. Ale na tym się nie kończy. Istnieją również dwa oddzielne katalogi systemowe, w których przechowywane są biblioteki DLL i pliki wykonywalne: System32 i SysWOW64. Pomimo nazw System32 jest pełen 64-bitowych plików, a SysWOW64 jest pełen 32-bitowych plików. Co daje?
W 64-bitowych wersjach systemu Windows są dostępne dwa osobne foldery Program Files. Ale na tym się nie kończy. Istnieją również dwa oddzielne katalogi systemowe, w których przechowywane są biblioteki DLL i pliki wykonywalne: System32 i SysWOW64. Pomimo nazw System32 jest pełen 64-bitowych plików, a SysWOW64 jest pełen 32-bitowych plików. Co daje?

Co to jest System32?

Katalog System32 zawiera pliki systemowe Windows, oba pliki bibliotek.DLL używane przez programy i narzędzia programu.EXE, które są częścią systemu Windows. Podczas gdy większość plików znajdujących się tutaj jest częścią systemu operacyjnego Windows, programy innych producentów czasami instalują własne pliki DLL również w tym folderze.

Aplikacje uruchomione w systemie mogą być instalowane w folderze Program Files lub w innym miejscu, ale często ładują całe biblioteki systemowe z folderu System32.

Oddzielanie bibliotek 32-bitowych i 64-bitowych

W 64-bitowej wersji systemu Windows znajduje się folder C: Program Files zawierający programy 64-bitowe i ich pliki oraz folder C: Program Files (x86) zawierający programy 32-bitowe i ich pliki. Pomocne może być oddzielenie tych plików, ponieważ programy 64-bitowe wymagają 64-bitowych plików DLL, a 32-bitowe programy wymagają 32-bitowych plików DLL.
W 64-bitowej wersji systemu Windows znajduje się folder C: Program Files zawierający programy 64-bitowe i ich pliki oraz folder C: Program Files (x86) zawierający programy 32-bitowe i ich pliki. Pomocne może być oddzielenie tych plików, ponieważ programy 64-bitowe wymagają 64-bitowych plików DLL, a 32-bitowe programy wymagają 32-bitowych plików DLL.

Jeśli 32-bitowy program załaduje potrzebny plik DLL, znajdzie wersję 64-bitową i spróbuje ją załadować, ulegnie awarii. Oddzielając oprogramowanie 64-bitowe i 32-bitowe od dwóch różnych folderów programów, system Windows zapewnia, że nie będą się mylić i powodować problemów.

Jednak nie wszystkie pliki DLL są przechowywane w Program Files. Wiele systemowych bibliotek dołączonych do systemu Windows jest przechowywanych w C: System32, a niektóre programy zrzucają tutaj także własne pliki biblioteki. Tak więc, podobnie jak Windows ma oddzielne 32-bitowe i 64-bitowe foldery Program Files, ma również oddzielne 32-bitowe i 64-bitowe wersje folderu System32.

System32 i SysWOW64

Na komputerze 32-bitowym wszystkie 32-bitowe programy przechowują swoje pliki w C: Program Files, a systemowa lokalizacja biblioteki to C: System32.

Na 64-bitowym komputerze programy 64-bitowe przechowują swoje pliki w C: Program Files, a systemowy folder C: Windows System32 zawiera biblioteki 64-bitowe. Programy 32-bitowe przechowują swoje pliki w C: Program Files (x86), a folder systemowy to C: Windows SysWOW64.

Jest to zdecydowanie sprzeczne z intuicją. Pomimo nazwy "32" w nazwie, folder System32 zawiera biblioteki 64-bitowe. I pomimo 64 w nazwie, folder SysWOW64 zawiera biblioteki 32-bitowe - przynajmniej w 64-bitowych wersjach systemu Windows.

Zasadniczo nie musisz tego wiedzieć. System operacyjny Windows i używane programy automatycznie umieszczają pliki we właściwej lokalizacji i używają właściwego folderu. Jednakże, jeśli kiedykolwiek będziesz musiał ręcznie zainstalować plik DLL we właściwej lokalizacji lub znaleźć miejsce instalacji - co jest bardzo rzadkie - musisz wiedzieć, która jest która.

WOW64, Objaśnienie

Nazwa "WOW64" odnosi się tutaj do oprogramowania Microsoft "Windows 32-bit na Windows 64-bit", które jest częścią systemu operacyjnego. Dzięki temu Windows może uruchamiać programy 32-bitowe w 64-bitowej wersji systemu Windows. WoW64 przekierowuje dostęp do plików, aby upewnić się, że programy będą działać poprawnie.

Na przykład, jeśli zainstalujesz 32-bitowy program w 64-bitowej wersji systemu Windows i spróbujesz napisać do folderu C: Program Files, WoW64 wskaże go w C: Program Files (x86). A jeśli chce uzyskać dostęp do folderu C: Windows System32, WoW64 wskazuje go w C: Windows SysWOW64. System Windows robi to za pomocą readresatora systemu plików.

Wszystko dzieje się automatycznie i transparentnie w tle. Program nie musi nawet wiedzieć, że działa w 64-bitowym systemie operacyjnym, co pozwala starszym programom 32-bitowym działać bez modyfikacji w 64-bitowych wersjach systemu Windows. WOW64 przekierowuje również dostęp do rejestru, zapewniając oddzielne obszary rejestru dla programów 64-bitowych i 32-bitowych.

Dlaczego więc system32 jest 64-bitowy i 32-bitowy SysWOW64?

Wszystko to prowadzi nas z powrotem do pytania za milion dolarów: Dlaczego folder "System32" jest 64-bitowy, a SysWOW64 32-bitowy?

Odpowiedź wydaje się polegać na tym, że wiele 32-bitowych aplikacji zostało zakodowanych na stałe w katalogu C: Windows System32. Gdy programiści skompilowali te aplikacje dla 64-bitowych wersji systemu Windows, nadal używali katalogu C: Windows System32.

Zamiast zmieniać nazwę katalogu i zmuszać programistów do przejścia na nowy, łamiąc wiele aplikacji, Microsoft pozostawił "System32" jako standardowy katalog biblioteki systemowej. Stworzyli nowy katalog bibliotek dla aplikacji działających w warstwie WoW64, które nazwali "SysWOW64". Kiedy myślisz o tym w ten sposób, nazwa ma więcej sensu.

Tak, jest trochę głupio, że katalog z "32" w nazwie jest teraz 64-bitowy. Być może Microsoft powinien był to zauważyć, gdy nazwali go C: Windows System32 w latach 90-tych. Ale, chociaż bardziej prosty schemat nazewnictwa byłby przyjemny, nie warto łamać wielu programów i tworzyć więcej pracy dla programistów, aby się tam dostać. Oznacza to, że utknęliśmy w systemie System32 i SysWOW64 w przewidywalnej przyszłości.

Zalecana: