В чем разница между каталогами «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

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

System32 и SysWOW64

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


/articles/how-to-recover-a-deleted-file-the-ultimate-guide/


На первый взгляд кажется нелогичным. Несмотря на «32» в названии, папка System32 содержит 64-битные библиотеки. И, несмотря на 64 в названии, папка SysWOW64 содержит 32-битные библиотеки – по крайней мере, в 64-разрядных версиях Windows. В общем-то, вам не обязательно в этом разбираться. Операционная система и программы Windows, которые вы используете, автоматически размещают свои файлы в правильном месте. Однако, если вам когда-либо понадобится вручную перенести DLL-файл в нужное место или найти, где он установлен, мы вам поможем разобраться.

Подробнее о WOW64

WOW64

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

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

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

Сохрани себе или поделись с другим
Редактор Greatech
Редактор Greatech

Сайт GreaTech.ru – это медиа-ресурс, посвященный новостям из мира технологий, обзору новых интернет-продуктов и стартапов. Также мы расскажем о том как избежать проблем, связанных с использованием ноутбуков, смартфонов и другой техники. Источник: https://greatech.ru/about-us

Мы будем рады и вашему мнению

Оставить ответ

Greatech
Logo