Папки «System32» и «SysWOW64» в Windows: в чём разница?

Корпорация «Microsoft» выпустила операционную систему «Windows 10» как продолжение популярной версии «Windows 8», старательно улучшив и доработав ее. Разработка новых современных компьютерных устройств требует от программного обеспечения более надёжного исполнения программной оболочки и возможности широкого применения без использования дополнительных настроек и установок.

В чем разница между папками «System32» и «SysWOW64» в «Windows»?
Содержание:
  1. Что представляет собой папка «System32»?
  2. Принципы распределения разно-разрядных библиотек.
  3. Различия папок «System32» и «SysWOW64».
  4. Что обозначает и как расшифровать значение папки SysWOW64?
  5. В чем причина несоответствия «32-разрядная версия» и «System32»?

Одним из главных достоинств операционной системы «Windows 10» является унификация, которая позволяет применять ее на различных видах устройств: персональных компьютерах и ноутбуках, нетбуках, мобильных устройствах и т.д. В зависимости от вида компьютерных комплектующих на устройстве пользователя может применяться 32-разрядная или 64-разрядная версия операционной системы «Windows», что в свою очередь позволяет шире использовать возможности компьютерного персонального устройства.

В этой статье мы постараемся разобраться, В чем разница между папками «System32» и «SysWOW64» в операционной системе «Windows»? Если у вас на компьютере установлена 64-разрядная версия «Windows», то у вас на системном диске «С» присутствуют две отдельные папки, содержащие в себе установленные программы и приложения: «Program Files» и «Program Files (х86)». Причём, одно и то же приложение может находиться и в той и в другой папке. Но на этом различия c 32-разрядной версией операционной системы «Windows» не заканчивается. У вас также в папке «Windows» находятся две отдельных системных папки «System32» и «SysWOW64», в которых хранятся библиотеки «.DLL» и исполняемые файлы. И если вы посмотрите внимательно на содержимое папок, то обратите внимание, что «System32» содержит в себе огромное количество 64-битных файлов, а «SysWOW64», наоборот, 32-битных файлов. Абсолютно похожая ситуация и с папками «Program Files» и «Program Files(х86)». В первой из них представлены 64-битные файлы, а во второй находятся 32-битные файлы. Какой в этом смысл и для чего это реализовано мы в этой статье и рассмотрим.

Папки Windows

Что представляет собой папка «System32»?

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

Поэтому, любые программы и приложения, которые вы запускаете на вашем компьютере, независимо от места их расположения и хранения (будь то системный диск «С» или другой диск), все используют общесистемные файлы динамических библиотек из папки «System32».

Принципы распределения разно-разрядных библиотек

Папкa System32

Как мы уже указывали ранее, только в 64-разрядной версии операционной системе «Windows» присутствуют две схожих папки: «Program Files» и «Program Files(x86)». Основным отличительным признаком папок является тот факт, что они содержат версии 64-разрядных и 32-разрядных программ и файлов соответственно. Причем, 64- разрядные программы, для которых необходимы 64-разрядные динамически подключаемые библиотеки «.DLL-файлов», расположены в папке «Program Files» в заглавной системной директории «С». В свою очередь, 32-разрядные программы, использующие 32-разрядные библиотеки динамической компоновки «.DLL», расположены в той же директории «С» в папке «Program Files(x86)».

Корпорация «Microsoft» предпочитает, чтобы 32-разрядное и 64-разрядное программное обеспечение не смешивались в одном месте. Поэтому в системной директории и созданы две разные папки «Program Files», содержащие раздельно 64 и 32-разрядное программное обеспечение. Такое разделение позволяет защититься от случаев, когда разные программы используют библиотеку не своего разряда, что может вызвать аварию в системе. Благодаря такому подходу, можно быть стопроцентно уверенным, что у вас не возникнет никаких проблем или конфликта интересов при запуске различных программ и приложений.

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

Различия папок «System32» и «SysWOW64»

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

В стандартном 32-разрядном компьютере операционная система по умолчанию сохраняет все соответствующие программы и приложения на системный диск «С» в папку «Program Files», применяя для корректной работы общесистемную динамическую библиотеку файлов, расположенную по стандартному адресу: «C: \ Windows \ System32».

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

На первый взгляд такое разделение программ по папкам выглядит несколько необычно. Более привычно было бы разместить 32-разрядные файлы в папку с созвучным именем «System32». Однако такая градация исходит из того, что на ранних компьютерах использовались чипы «Intel 8086». Исходные чипы были 16-разрядными, но более продвинутые версии стали 32-разрядными. Поэтому «х86» стали относить к 32-разрядной версии. А новую 64-разрядную архитектуру вместо этого называют «x64». Такое обозначение вы можете встретить в характеристиках системы компьютера, где вместо разрядности указывают значения «х86» и «х64». Поэтому получается, что папка «Program Files(x86)» содержит 32-разрядные программы, использующие старую архитектуру процессора «x86». А в папку «Program Files» переходят 64-разрядные программы на новой архитектуре процессора «х64». А так как папка «System32» системно связана с папкой «Program Files», то поэтому в ней и происходит сохранение динамически подключаемые библиотеки DLL-файлов для 64-разрядных программ.

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

Что обозначает и как расшифровать значение папки SysWOW64

Папкa SysWOW64

Полное название папки «SysWOW64» состоит из двух сокращений. Первое «Sys» является сокращением от «System», что значит система или системная папка. Второе сокращение «WOW64» расшифровывается как «Windows-on-Windows 64-bit», и представляет собой подсистему основной операционной системы «Windows», которая позволяет запускать любые 32-разрядные приложения и программы на всех 64-разрядных версиях «Windows». Используя встроенный механизм, подсистема автоматически перенаправляет доступ к файлам для обеспечения правильной работы программ.

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

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

В чем причина несоответствия «32-разрядная версия» и «System32»

Постараемся рассмотреть этот вопрос более подробно. Как уже было сказано ранее, первоначально появившиеся 32-разрядные приложения и программы были системно запрограммированы на установку в папку «Program Files», и размещение своих динамически подключаемых библиотек «.DLL-файлов» в каталог: «C: \ Windows \ System32». С разработкой более совершенных систем на базе процессоров «х64» данные папки стали применять для новых программ и динамических библиотек «.DLL-файлов» 64-разрядных версий «Windows».

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

Таким образом, получается, что 32-разрядная версия не имеет отношения к системной папке «System32». Сейчас исправить такую нестыковку без массового исправления выпущенных программ и приложений уже не получиться, надо просто всегда учитывать данный способ разделения папок по разрядам в будущем.

Author: Maxim Cherniga

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)