Подтвердить что ты не робот

Почему существует реестр Windows?

это больше вопрос архитектуры ОС, чем программирование напрямую, но все же. Почему реестр Windows был создан как полностью отдельная подсистема для хранения настроек системы/приложения? В * nix OS'es есть каталог /etc, который совершенно понятен, поскольку файловая система является естественным иерархическим способом хранения настроек, в то время как Microsoft решила создать полностью внешнюю иерархическую подсистему, которая, кажется, является глупой инвестицией, почему они просто используют иерархию файловой системы?

4b9b3361

Ответ 1

  • Централизованный - который полезен для роуминга профили.
  • Транзакция - что усложняет конфигурации.
  • Безопасность. Вы можете обеспечить чтение/запись с большей детализацией, чем файл (за ключ/значение).

Ответ 3

Итак, когда двоичный реестр поврежден, вы просто сдадитесь и купите новейшую версию Windows для новой установки.

Ответ 4

Кроме того, степень детализации файловой системы: один кластер для каждого значения немного, поэтому вам нужно сделать компромисс, где заканчивается файловая система и начинается файл настроек. Это, конечно, не дает вам согласованного API. Итак, почему бы не вывести все настройки в несколько ключевых файлов и предоставить вам совместимый API для доступа к нему? BAM - реестр.

(И так как MS обычно рассматривает API более важный формат, не удивительно, что файлы непрозрачны)

[Raymond Chen voice] Помните, что он был разработан для компьютеров, где было достаточно 4 МБ ОЗУ. [/Raymond Chen voice]

Ответ 5

  • Каждое приложение не нуждается в повторном создании формата файла конфигурации
  • Вы можете легко использовать реестр в коде режима ядра

Как упоминалось в статье Old New Thing, приведенной Бастиеном:

  • Система может обрабатывать проблемы concurrency для вас
  • Вы можете использовать ключи реестра ACL

Я бы также упомянул, что многие * nix-фреймы заново изобрели реестр... Как gconfd на GNOME.

Ответ 6

Идея состоит в том, чтобы иметь все настройки для всех программ, хранящихся в одном месте, а не для их распространения по всему вашему диску.

Ответ 7

Они сделали это, я полагаю, для поддержки отдельной настройки для каждого пользователя входа. В Unix существует концепция домашнего каталога, а в Windows - нет.

Ответ 8

Во-первых, он быстрее читает и записывает в реестр во время сеанса пользователя.

Ответ 9

Он создал единую точку для всего элемента управления конфигурацией системного приложения. Это было бы неплохим вариантом для встроенной сетевой базы данных (например, Raima, используемой Rational) или текстовой базы данных (Bernstein cdb).