Как стать автором
Обновить

В чём различие между папками Windows и System?

Время на прочтение3 мин
Количество просмотров5.3K
Автор оригинала: Raymond Chen
(Windows была выпущена 20 ноября 1985. Сегодня ей исполняется 25. С днём рождения!)

В Windows API с самого начала есть две отдельные функции GetWindowsDirectory и GetSystemDirectory. Почему недостаточно было одной? Обе эти системные папки защищены от записи, обе входят в PATH и в список поиска DLL-библиотек. Зачем было их разделять?

Аксакалы вспомнят, что в те давние времена назначение этих папок различалось. Папка Windows была доступна для записи, и именно в ней хранились все настройки пользователя. Например, функция GetProfileInt читает из файла WIN.INI в папке Windows, и функция GetPrivateProfileInt, если не указан полный путь INI-файла, по умолчанию работает с папкой Windows.
В те давние времена не было отдельных папок с профилями пользователей; в папке Windows, по сути, хранился профиль единственного пользователя в системе.

С другой стороны, большинство системных файлов Windows хранилось в папке System, и эта папка использовалась только для чтения. Даже если не было механизма, фактически запрещавшего запись в эту папку, — сама Windows никогда в неё не писала (исключая установку и удаление приложений, и прочие операции по настройке системы).

Разделение системных файлов на две папки позволяло Windows работать в нескольких различных конфигурациях.

Традиционная
На локальном диске каждого компьютера (на дискете, а у богачей — на жёстком диске) находится папка Windows, а в ней — папка System. Большинство пользователей Windows работали именно так. Хотя в этом случае ничто не запрещает пользователю запись в папку System, Windows при нормальной работе в неё не пишет.

Прошитая в ПЗУ
На локальном диске каждого компьютера находится папка Windows, а в ПЗУ-диске — папка System. ПЗУ-диск — это такой виртуальный диск, содержимое которого хранится не в оперативной памяти, а прошито в ПЗУ. Пользователям смартфонов и коммуникаторов вряд ли нужно подробнее объяснять, что это такое; а остальные могут представить себе флешку, навсегда защищённую от записи.
Поскольку содержимое папки System всё равно никогда не изменялось, прошивка её в ПЗУ позволяла сэкономить ценное место на дискете или (тем более!) на жёстком диске.

Сетевая
На локальном диске каждого компьютера находится папка Windows, но у него есть сетевые драйвера (обалдеть, чудеса какие!), и AUTOEXEC.BAT подключает сетевые диски с центрального сервера, поддержкой которого занимается IT-отдел компании. Этот сетевой диск мог бы выглядеть так:
M:\SYSTEM системные файлы Windows
M:\WINWORD установленный Word для Windows
M:\123 установленный Lotus 1-2-3
... и т.д.
Папки этого сетевого диска доступны только для чтения. Все компьютеры в компании подключаются к одному и тому же диску, и поэтому используют одни и те же физические файлы на сервере — и как часть системных файлов Windows, и как файлы установленных приложений. Если IT-отделу понадобится обновить или переустановить приложение, они могут просто отключить всех от сервера (или, если они более вежливые, то дождаться, пока все выйдут сами), разрешить запись на диск M:, обновить или переустановить нужное приложение, и вновь подключить M: только для чтения. Когда пользователи заходят обратно, — хлоп! — новое приложение уже готово к запуску на их компьютере.

Полностью сетевая
Компьютер загружается с ПЗУ-диска, с дискеты, с локального жёсткого диска, или по сети. При загрузке он подключает сетевые диски, на которых находятся и папка Windows (своя для каждого пользователя), и папка System (одна на всех). С этого момента Windows полностью работает по сети: файлы пользователя сохраняются в папку Windows на сервере, системные файлы читаются из папки System на сервере, и даже обращения к файлу подкачки идут на сервер. Такую конфигурацию обычно называли бездисковой рабочей станцией: после того, как Windows загружена, локальные диски больше не используются.


Наблюдательный пользователь заметит, что в Windows 1.x / 2.x вовсе не было папки System: она появилась только в Windows 3.0. Что же Реймонд имеет в виду?

Как видите, изначально не требовалось, чтобы папка System располагалась внутри папки Windows, или чтобы одна из этих папок располагалась на загрузочном диске. Полагаю, теперь Windows уже не поддерживает большинство из перечисленных конфигураций. Но по крайней мере, теперь вы понимаете, зачем папки Windows и System были разделены.
Теги:
Хабы:
+88
Комментарии112

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн