Найти тему
myWEBpc

Разница между папками System32 и SysWOW64 в Windows 10

Оглавление

Если вы использовали ОС Windows в течение некоторого времени, я уверен, что вы видели эту папку System32. Однако, если вы работаете на 64-битном ПК, вы должно быть заметили, что в вашем каталоге C:\Windows есть две папки. Первая - это System32, а вторая - SysWOW64. Разберем в чем разница между этими папками.

Кому интересно, я уже писал В чем разница между 32-битной и 64-битной Windows, Компьютером и Программами?

Что такое папка System32

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

При установке программы происходят две вещи. Основная программа (EXE) устанавливается в папку « Programs », а ее DLL (которая упаковывается в свои функции и т. Д.) Хранятся в папках System32. Это обычная практика.

Что такое папка SysWOW64

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

Теперь вы можете подумать, что папка SysWOW64 должна содержать только 64-битные библиотеки DLL. Это не совсем так. Если вы проверите вручную, в папке System 32 много 64-битной DLL, и 32-битной DLL в папке SysWOW64.

Итак, почему 64-разрядная папка содержит все 32-разрядные библиотеки DLL? Затаривайтесь кофем, сейчас будет вынос мозга.

Разница между папками System32 и SysWOW64

Оба этих каталога являются системными папками и содержат общесистемные DLL или файлы. Тем не менее, они просто не придерживаются своего имени, благодаря жестко запрограммированному программированию.

На 64-битном компьютере хранилище 64-битных программ:

  • Первичные файлы, такие как EXE в C:\Program Files.
  • Общесистемные файлы, такие как DLL и т. Д. В папке C:\Windows\System32, содержат 64-битные библиотеки.

Тем не менее, 32-битные программы хранят:

  • Первичные файлы в C:\Program Files (x86)
  • Общесистемная папка C:\Windows\SysWOW64.

Когда 32-разрядная программа хочет установить свои 32-разрядные файлы DLL в C:\Windows\System32, она будет перенаправлена ​​в C:\Windows\SysWOW64. Это по сути заставляет System32 хранить только 64-битные библиотеки. Microsoft не могла удалить его, потому что это сломало бы много программ.

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

Это гарантирует, что все происходит в фоновом режиме, и разработчикам не нужно много работать. Когда 32-разрядная программа запрашивает что-либо из папки System32, она автоматически перенаправляется в папку SysWOW64, в которой хранятся все 32-разрядные библиотеки DLL. Для 64-битной программы перенаправление не требуется, поскольку у них есть папки по умолчанию.

Вкратце: Windows x64 имеет папку System32, которая содержит 64-разрядные библиотеки DLL. Вторая папка SysWOW64 содержит 32-разрядные библиотеки DLL. Родные 64-битные процессы находят свои библиотеки DLL там, где они ожидают, а именно в папке System32. Для 32-битных процессов ОС перенаправляет запросы и показывает им папку SysWOW64.

То же самое было сделано и для реестра Windows -> 32-битные и 64-битные программы, разделены.

WOW в SysWOW64

Вместо того, чтобы называть его System64, Microsoft назвала эту папку SysWOW64. WOW означает Windows (32-разрядная версия) в Windows (64-разрядная версия). 32-разрядные приложения могли работать на 64-разрядных приложениях, и именно так оно и получило свое название.

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

Ставь лайк, подписывайся на канал и вступай в фан-группу Вконтакте.