В чем разница между «System32» и «SysWOW64» в Windows?

0
10586
просмотров
В чем разница между «System32» и «SysWOW64» в Windows?

В 64-разрядных версиях Windows у Вас есть две отдельные папки Program Files. У Вас также есть два отдельных системных каталога, в которых хранятся библиотеки DLL и исполняемые файлы: System32 и SysWOW64. Несмотря на имена, System32 полон 64-битных файлов, а SysWOW64 полон 32-битных файлов. Так что же дает?

Что такое System32?

Каталог System32 содержит системные файлы Windows, файлы библиотек .DLL, используемые программами, и утилиты программ .EXE, которые являются частью Windows. Хотя большинство файлов, которые Вы здесь найдете, являются частью операционной системы Windows, сторонние программные продукты иногда также устанавливают свои собственные DLL-файлы в эту папку.

Приложения, запущенные в Вашей системе, могут быть установлены в папке Program Files или в другом месте, но они часто загружают общесистемные библиотеки из папки System32.

Разделение 32-битных и 64-битных библиотек

В чем разница между «System32» и «SysWOW64» в Windows?

В 64-разрядной версии Windows у Вас есть папка C:\Program Files, содержащая 64-разрядные программы и их файлы, и папка C:\Program Files (x86), содержащая 32-разрядные программы и их файлы. Это полезно для разделения этих файлов, потому что для 64-битных программ нужны 64-разрядные DLL-файлы, а 32-разрядные программы нуждаются в 32-разрядных DLL-файлах.

Если 32-разрядная программа загружает нужный DLL-файл, находит 64-разрядную версию и пытается ее загрузить, она «упадет». Разделяя 64-битное и 32-битное программное обеспечение на две разные папки Program Files, Windows гарантирует, что они не будут перепутаны и не вызовут проблем.

Однако не все файлы DLL хранятся в Program Files. Многие системные библиотеки, включенные в Windows, хранятся в C:\System32, а некоторые программы также выгружают свои собственные файлы библиотек. Таким образом, так же, как Windows имеет отдельные 32-битные и 64-разрядные папки Program Files, у нее также есть отдельные 32-битные и 64-разрядные версии папки System32.

Читайте также  Как открыть панель управления в Windows 11

System32 и SysWOW64

На 32-битном компьютере все 32-разрядные программы хранят свои файлы в C:\Program Files, а общесистемные библиотеки — C:\System32.

На 64-битном компьютере 64-разрядные программы хранят свои файлы в C:\ Program Files, а общесистемная папка C:\Windows\System32 содержит 64-разрядные библиотеки. 32-разрядные программы хранят свои файлы в C:\Program Files (x86), а общесистемная папка — C:\Windows\SysWOW64.

Это определенно нелогично. Несмотря на «32» в названии, папка System32 содержит 64-битные библиотеки. И, несмотря на 64 в названии, папка SysWOW64 содержит 32-битные библиотеки — по крайней мере, в 64-разрядных версиях Windows.

В общем, Вам не нужно это знать. Операционная система и программы Windows, которые Вы используете, автоматически размещают свои файлы в правильном месте и используют правильную папку. Однако, если Вам когда-либо понадобится вручную установить DLL-файл в нужное место или найти, где он установлен, что очень редко, Вам нужно знать, где именно искать.

WOW64

В чем разница между «System32» и «SysWOW64» в Windows?

Часть названия WOW64 здесь относится к программному обеспечению Microsoft Windows «32-разрядная версия Windows 64-bit», которое входит в состав операционной системы. Это позволяет Windows запускать 32-разрядные программы в 64-разрядной версии Windows. WoW64 перенаправляет доступ к файлам для обеспечения правильной работы программ.

Например, если Вы устанавливаете 32-разрядную программу в 64-разрядной версии Windows и пытаетесь записать ее в папку C:\Program Files, WoW64 указывает ее на C:\Program Files (x86). И, если он хочет получить доступ к папке C: Windows\System32, WoW64 указывает на C:\Windows\SysWOW64. Windows делает это, используя перенаправитель файловой системы.

Все это происходит автоматически и прозрачно в фоновом режиме. Программа даже не должна знать, что она работает в 64-битной операционной системе, что позволяет более старым 32-разрядным программам запускаться без изменений в 64-разрядных версиях Windows. WOW64 также перенаправляет доступ к реестру, обеспечивая наличие отдельных областей реестра для 64-разрядных и 32-разрядных программ.

Читайте также  Как сделать Chrome браузером по умолчанию

Итак, почему 64-разрядная система System32 и 32-разрядная SysWOW64?

Все это возвращает нас к вопросу: почему папка «System32» 64-разрядная и SysWOW64 32-разрядная?

Ответ заключается в том, что многие 32-разрядные приложения были жестко запрограммированы для использования каталога C:\Windows\System32. Когда разработчики перекомпилировали эти приложения для 64-разрядных версий Windows, они продолжали использовать каталог C:\Windows\System32.

Вместо того, чтобы переименовывать каталог и заставлять разработчиков переходить на новый, ломая много приложений в этом процессе, Microsoft оставила «System32» в качестве стандартного каталога системной библиотеки. Они создали новый каталог библиотек для приложений, работающих под слоем WoW64, которые они назвали «SysWOW64».

Да, немного глупо, что каталог с «32» в имени теперь 64-битный. Возможно, Microsoft должна была увидеть это, когда они назвали его C:\Windows\System32 в 90-х. Но, хотя более простая схема именования будет приятной, не стоит ломать кучу программ и создавать больше работы для разработчиков, чтобы добраться туда. Это означает, что мы будем придерживаться System32 и SysWOW64 в обозримом будущем.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя здесь

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.