Системный реестр

Описание реестра как иерархически построенной, централизованной базы. История системного реестра Windows: структура, многоуровневая архитектура, включающая в себя четыре нисходящих логических компонента, типы данных. Особенности его расположения.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 16.05.2013
Размер файла 488,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

Согласно словарю Microsoft Computer Dictionary, реестр - это иерархически построенная, централизованная база данных в составе операционных систем Microsoft Windows 9x/NT/2000/XP/2003/Vista, содержащая сведения, которые используются операционной системой для работы с пользователями, программными продуктами и устройствами.

Системный реестр заменяет собой большинство текстовых ini-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS (например, Autoexec.bat и Config.sys).

В нем хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся:

· профили всех пользователей

· сведения об установленном программном обеспечении и типах файлов, которые могут быть созданы каждой программой

· информация о свойствах папок и значках приложений

информация об установленном оборудовании и используемых портах.

Во время запуска операционной системы происходит до тысячи обращений к Реестру, а во время работы на ПК в течение одного сеанса работы - до 10 тысяч!

Отдельные компоненты Реестра хранятся в оперативной памяти ПК в течение всего сеанса работы.

Запись (считывание) информации в Реестр (из Реестра) происходит постоянно: например, если мы устанавливаем какую-нибудь программу, вся информация, необходимая для запуска и работы этой программы, записывается в Реестр. Если мы устанавливаем новое устройство, в Реестре будет отмечено, где находится его драйвер и т.д. Если же мы запускаем какую-либо программу или устройство, то из Реестра считывается вся необходимая для запуска программы (устройства) информация.

1. История системного реестра Windows

реестр системный логический архитектура

Первой операционной системой для персональных компьютеров от Microsoft была MS DOS. В этой операционной системе было два основных конфигурационных файла: config.sys и autoexec.bat. Первый содержал инструкции по загрузке драйверов и резидентных программ. В autoexec.bat указывались команды, которые выполнялись при загрузке DOS, например, устанавливались переменные окружения, вызывались оболочки вроде Norton Commander.

Кроме config.sys и autoexec.bat в MS DOS не было других конфигурационных файлов или реестра. Каждое приложение хранило свои настройки в отдельном файле, формат и местонахождение которого был известен только ему самому. У одних приложений конфигурационные файлы были текстовыми (их можно было редактировать вручную в текстовом редакторе), у других -- двоичными (их можно было редактировать только с помощью самого приложения, которое "знало" формат файла).

DOS не устраивала пользователей своей однозадачностью и отсутствием дружественного интерфейса. Различные разработчики выпускали оболочки для DOS, облегчающие участь пользователя. Microsoft тоже не осталась в стороне, разработав оболочку Windows. Первые версии Windows вообще не заслуживали внимания. Более или менее удачной стала только третья версия Windows -- Windows 3.0. Она все настройки хранила также в текстовом файле Win.ini - который содержал более 1000 строк. Для хранения настроек системы использовались INI-файлы, которые, однако, имели массу недостатков. Главным недостатком INI-файлов была, во-первых, плоская структура, в отличие от современного реестра Windows, имеющего иерархическую структуру. Во-вторых, INI-файлы были текстовыми, что затрудняло хранение в них двоичной информации. С другой стороны, это позволяло редактировать INI-файлы в любом текстовом редакторе, чего нельзя сделать с современным реестром. Нужно отметить также, что INI-файлы стали единым форматом для хранения настроек Windows-приложений. Ведь намного проще использовать уже известный формат и готовые API-функции для работы с ним, чем изобретать велосипед заново, придумывая собственный формат конфигурационных файлов. Некоторые программы до сих пор используют не реестр, а INI-файлы.

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

Технологический шаг в развитии реестра был сделан в Windows 3.1 (апрель 1992). Здесь впервые появился собственно реестр, как древовидная структура данных. Это был всего один файл, который назывался REG.DAT, хранился в каталоге C:\Windows\, имел только одну ветку HKEY_CLASSES_ROOT. Он служил для связи DDE (Dynamic Data Exchange), для хранения настроек механизма DDE (Dynamic Data Exchange), а позднее OLE (Object Linking and Embedding) . Все остальные настройки системы по-прежнему хранились в INI-файлах.

Первый реестр имел ограничение на максимальный размер файла REG.DAT --64К. Если вдруг реестр превышал этот размер -- то файл реестра (REG.DAT) приходилось удалять и собирать заново, либо из *.REG файлов, либо вводить данные вручную.

Поскольку реестр представлял собой двоичный файл, то тогда же появилась программа REGEDIT.EXE для его просмотра и редактирования.

Идеологический шаг был сделан в Windows NT 3.1 (июль 1993). Произошел отказ от файлов AUTOEXEC.BAT и CONFIG.SYS, а так же от INI-файлов, как от основных файлов конфигурации. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY__USERS.

Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД. В комплекте поставки оставался файл REGEDIT.EXE, который по-прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT (это был тот же RegEdit.exe от Windows 3.1, просто с другой датой), который позволял редактировать все ветки реестра.

Далее технология и идеология (назначение) реестра уже не менялись. Все последующие версии Windows использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Версии реестра для разных версий операционных систем семейства Windows имеют определенные различия, связанные с расположением и названием файлов реестра, и названием и назначением ключей

2. Структура системного реестра Windows

Реестр Windows отличается многоуровневой архитектурой, включающей в себя четыре нисходящих логических компонента:

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

К первому компоненту, расположенному в самом верху иерархии реестра, относятся так называемые ветви реестра. Эти ветви обозначаются с использованием англоязычной аббревиатуры HKEY_. После символа подчеркивания идет название самой ветви. Всего в реестре Windows XP есть пять основных ветвей.

Коротко остановимся на каждой из них:

HKEY_CLASSES_ROOT (HKCR). Эта ветвь включает в себя информацию о зарегистрированных в системе типах файлов, порядке обработки файлов каждого типа, а также управлении основными настройками интерфейса (то есть содержит настройки ActiveX-объектов).

HKEY_CURRENT_USER (HKCU). В этой ветви находятся сведения о пользователе, текущий сеанс работы которого обслуживается реестром. В подразделах этой ветви записаны данные о переменных окружения, группах программ пользователя, настройках рабочего стола и экрана, сетевых соединениях, принтерах и дополнительной конфигурации программ (в Windows XP переменные окружения применяются в сценариях, записях реестра и других программах лишь в роли подстановочных параметров). Эта информация передаются из подраздела Security ID (SID) ветви HKEY_USERS для текущего пользователя. Другими словами, в данной ветви предоставлена вся информация, относящаяся к профилю активного пользователя Windows.

HKEY_LOCAL_MACHINE (HKLM). В данной ветви находятся данные об операционной системе и оборудовании, к примеру, тип шины компьютера, объем доступной оперативной памяти, список загруженных в текущий момент времени драйверов устройств, а также информация, связанная с загрузкой Windows. Эта ветвь содержит наибольший объем информации в системном реестре Windows XP и зачастую применяется для тонкой настройки оборудования компьютера. Данные в этой ветви относятся к профилям всех зарегистрированных в системе пользователей.

HKEY_USERS (HKU). В этой ветви расположены подразделы с данными о всех профилях пользователей компьютера. Один из ее подразделов всегда связан с подразделом HKEY_CURRENT_USER (через параметр Security ID (SID) пользователя)). В другом подразделе, а именно, подразделе, HKEY_USERS\DEFAULT, представлены данные о параметрах системы в настоящий момент времени, которые были актуальны до начала сеанса работы пользователя, зарегистрированного в системе.

HKEY_CURRENT_CONFIG (HKCC). В данной ветви представлены подразделы со сведениями обо всех профилях оборудования, активного в текущем рабочем сеансе. Профили оборудования дают возможность выбирать драйверы поддерживаемых устройств для выбираемого сеанса работы (что позволяет, к примеру, не задействовать активацию порта док-станции переносного компьютера в тот период, когда он не подключен к станции). Данные сведения передаются из подразделов HKEY_LOCAL_MACHlNE\SYSTEM\CurrentControlSet.

Ко второму компоненту в системе иерархии реестра относятся разделы, или ключи реестра (keys).

В Windows XP не существует универсального стандарта для обозначения ключей реестра, поэтому имена для них назначались разработчиками согласно типам данных, которые расположены в ключе. Работать с ключами можно в программе Редактор реестра (RegEdit), где они отображаются в виде подпапок ветвей HKEY_, как показано рисунке ниже.

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

По своему функциональному предназначению ключи реестра разделяются на две следующие категории:

Указываются системой. Имена ключей выбираются ОС, их изменение может сделать Windows XP полностью неработоспособной.

Указываются пользователем. Имена ключей может изменять администратор компьютера, и такие модификации не станут причиной каких-либо фатальных проблем.

Ступенькой ниже в структурной иерархии реестра расположены подразделы реестра (subkeys). Подразделы также прямо не связаны с какими-либо типами данных и не используются в рамках каких-либо соглашений, которые ограничивают присвоение им названий. Наравне с именами ключей, названия подразделов определяются как ОС, так и пользователем, причем в первом случае их модификация может стать причиной проблем в работе Windows, а во втором -- нет.

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

3.Типы данных системного реестра Windows

Итак, конечным элементом дерева реестра являются параметры.

Все параметры реестра имеют фиксированный тип. В табл.1 приведен полный список используемых типов. Не все из них используются в разных версиях Windows. Например, REG_QWORD явно предназначен для 64-битной версии XP. Кроме того, сохраняется преемственность поколений Windows - в более поздних версиях используются все типы ранних версий. Также следует учесть, что ряд типов используется только системой в некоторых разделах, и создать свой параметр такого типа с помощью редактора реестра не получится.

Таблица 1. Типы параметров

№ п/п

Тип данных

Описание

Windows

REG_EXPAND_SZ

Строка Unicode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой

REG_MULTI_SZ

Многострочный текст Unicode. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами

REG_DWORD_LITTLE_ENDIAN

32-разрядное число в формате “остроконечников” -- младший байт хранится первым в памяти. Эквивалент REG_DWORD

REG_DWORD_BIG_ENDIAN

32-разрядное число в формате “тупоконечников” -- старший байт хранится первым в памяти

REG_LINK

Символическая ссылка Unicode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы)

REG_NONE

Параметр не имеет определенного типа данных

Ограничения на имена ключей

Имена ключей не могут содержать:

обратные слеши (\),

пробелы ( ),

звездочки ( * )

вопросительные знаки (?).

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

Имеется три типа системных элементов реестра, каждый из которых является корневым и имеет собственную иерархию:

TypeLib,

Interface,

CLSID.

1. Иерархия TypeLib идентифицирует положение инсталлированных в данный момент библиотек типов, которые являются базами данных, описывающими содержимое компонентов OLE. Широко используемая для поддержки автоматизации библиотека типов описывает прототипы функций для всех поддерживаемых интерфейсов, а также включает в себя ссылки на файлы-подсказки, и поэтому инструменты разработки могут вызвать соответствующую страницу подсказки и помочь создателям макрокоманд правильно воспользоваться серверами автоматизации.

2. Иерархия Interface содержит список, отсортированный по идентификаторам интерфейса, всех инсталлированных в системе интерфейсов. Это дает возможность прочитать имя интерфейса (IUnknown, IMalloc и т. д.) и подробности о каждом интерфейсе (количество функций в каждом интерфейсе и его базовый класс).

3. Иерархия CLSID детализирует все инсталлированные в данный момент (открытые) компоненты OLE. CLSID -- это идентификатор класса. CLSID обеспечивает связь между компонентами. Соединение с конкретным интерфейсом конкретного компонента требует сначала идентифицировать CLSID для доступа к компоненту, а затем IID для получения желаемого интерфейса. Так же, как и идентификаторы интерфейсов (типы данных IID и REFIID), идентификаторы классов (типы данных CLSID и REFCLSID) являются 128-разрядными (16 шестнадцатеричных цифр) числами, обеспечивающими машинный способ точной идентификации класса компонента. Также, как тип IID, CLSID имеет тип GUID:

typedef struct_GUID

{ DWORD Data1;

WORD Data2 ;

WORD Data3;

BYTE Data4[8];

}GUID;

Из этих трех типов элементов самым важным является элемент идентификатор класса, поскольку детали модуля компонента (файл с расширением .DLL или .EXE) хранятся в иерархии CLSID.

Например, следующий элемент реестра делает доступным компонент библиотеки PUBMEM:

HKEY_CLASSES_ROOT\CLSID\

{308D0430 - 1090 - 11cf - B92A - 00AA006238F8}\

InprocServer32 = C:\PETZOLD\CHAP20\PUBMEM.DLL

InprocServer32 означает, что файл, на который ссылаются, является 32-разрядным файлом с расширением .DLL.

4.Расположение системного реестра Windows

Ранее была рассмотрена логическая структура реестра, но существует ещё и физическая структура, сохраняющая различные части реестра в отдельных файлах. Хранение реестров разных версий Windows имеют различия.

В качестве примера рассмотрим физическую структуру Windows XP. Элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Кусты хранятся на диске в виде файлов (табл.2). Некоторые файлы, такие, как HKLM\HARDWARE, не сохраняются на диске. Они записываются в память компьютера в процессе его загрузки и удаляются сразу после отключения питания. Такие разделы реестра называются изменяемыми (vola-tile). В практическом плане это значит, что они управляются ОС в рамках одного сеанса, т.е. начиная с момента загрузки Windows и до завершения работы с ней. Примером такого энергозависимого раздела можно считать ветвь HKEY_LOCAL_MACHINE\HARDWARE, в которой расположены данные о подключенном к компьютеру оборудовании и назначенных различным устройствам ресурсах. К таким ресурсам относятся, в частности, запросы на прерывание (IRQ), каналы прямого доступа к памяти (DMA) и диапазоны ввода-вывода (I/O Range).

Поскольку такие операции, как опрос, инициализация устройств и динамическое распределение ресурсов осуществляются непосредственно в ходе загрузки Windows XP, все данные такого типа содержатся в памяти компьютера, поскольку следующем запуске системы комплект оборудования может оказаться совсем иным.

Другие компоненты реестра, содержащие данные об основной конфигурации ОС, ее настройках и параметрах, расположены в папке %systemroot%\System32\Config.

Файлы, которые хранят данные о профилях пользователей Windows XP, расположены в папке %systemroot%\Profiles.

Что же касается данных, связанных с индивидуальными настройками системы для каждого пользователя, а также об их персональной конфигурации среды Windows, они хранятся в папках %Drive%\Documents and Settings\%UserName%, где %Drive% -- имя раздела диска, на котором установлена Windows XP. В свою очередь, a %UserName% -- папка, в качестве названия которой используется имя зарегистрированного в системе пользователя.

Дополнительная информация о локальных пользователях Windows по умолчанию предоставлена в папке %Drive%\Documents and Settings\LocalService, а сведения о настройках системы для удаленных пользователей -- в папке %Drive%\Documents and Settings\NetworkService.

При запуске системы реестр собирается из кустов в единую древовидную структуру с корневыми разделами.

Таблица 2 Кусты реестра

Куст

Расположение

HKLM\SYSTEM

%SystemRoot%\system32\config\system

HKLM\SAM

%SystemRoot%\system32\config\SAM

HKLM\SECURITY

%SystemRoot%\system32\config\SECURITY

HKLM\SOFTWARE

%SystemRoot%\system32\config\software

HKU\<SID_пользователя>

%USERPROFILE%\ntuser.dat

HKU\<SID_пользователя>_Classes

%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat

HKU\.DEFAULT

%SystemRoot%\system32\config\default

На рис.1 показаны взаимосвязи между кустами реестра и соответствующими им файлами. Здесь показан каталог %SYSTEMROOT%\System32\Config, в котором содержатся файлы кустов с настройками для компьютера. Из рисунка видно, что Windows сохраняет содержание подраздела HKLM\SOFTWARE в файле куста, который называется Software.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.

Размещено на Allbest.ru

...

Подобные документы

  • Общая характеристика используемых типов параметров дерева реестра в разных версиях Windows. Сравнение способов хранения реестров Windows. Анализ взаимосвязи между кустами реестра и соответствующими им файлами. Понятие, сущность и значение reg-файла.

    реферат [420,2 K], добавлен 04.10.2010

  • Характеристика понятия и функций системного реестра - регистрационной базы данных, хранящей различные настройки операционной системы компьютера и приложений. Формат отображения данных в системном реестре. Взаимосвязь между ключами и значениями в реестре.

    контрольная работа [906,0 K], добавлен 03.10.2010

  • Возможности настройки операционной системы Windows. Сущность системного реестра. Описание API-функций работы с реестром. Диаграмма взаимодействия модулей. Интерфейс программы, основанный на разделении настроек на категории, представленные вкладками.

    курсовая работа [47,7 K], добавлен 07.12.2010

  • Рассмотрение правил создания, открытия и закрытия собственного ключа реестра. Описание функций, выполняющих процедуры сохранения произведенного изменения, добавления или удаления данных из ключей. Осуществление выборки информации из системного реестра.

    реферат [24,5 K], добавлен 03.10.2010

  • Программа "Редактор реестра". Разделы реестра Windows и их назначение. Хранение настроек экрана, раскладки клавиатуры, сетевых подключений, настроек программ. Сохранение изменений настроек, совершенных пользователем. Информация о настройках компьютера.

    презентация [1008,0 K], добавлен 05.04.2017

  • Реестр операционной системы Windows 2000/XP. Программные компоненты системы, работающие с реестром. Структура параметра реестра, его корневые разделы. Стандартные файлы, обеспечивающие поддержку кустов. Окно установки разрешений программы, аудит действий.

    презентация [424,1 K], добавлен 20.12.2013

  • История развития реестра Windows, описание разделов, WinApi функции. Аналоги программ других разработчиков. Последовательность проектирования Windows-приложения, которое будет выводить аппаратную характеристику ПК на экран. Руководство пользователя.

    курсовая работа [1,2 M], добавлен 23.07.2013

  • Создание системной утилиты, работающей с реестром ОС Windows; структура, функции и роль реестра. Разработка программного обеспечения: интерфейс, структурная схема вызовов окон приложений; реализация и тестирование программы, процедуры; листинг модулей.

    курсовая работа [1,2 M], добавлен 01.06.2013

  • Описание особенностей подсистемы обеспечения медикаментами. Разработка структуры базы данных, схемы алгоритма и программного модуля, структуры реестра. Обоснование выбора языка программирования. Оценка надежности и классификация ошибок программы.

    дипломная работа [1,3 M], добавлен 25.12.2014

  • Эволюция развития персональных компьютеров и программного обеспечения. Переменные и подстановка их значений. Синтаксис языка shell. Подстановка результатов выполнения команд. Структура реестра Windows NT/2000. MS-DOS: ввод информации с клавиатуры.

    контрольная работа [377,9 K], добавлен 22.11.2013

  • Разработка приложения, реализующего формирование заявки в казначейство на кассовый расход бюджетополучателей и ведение их реестра. Средства разработки программы, защита данных. Расчет затрат на разработку программного продукта; эргономика рабочего места.

    дипломная работа [2,6 M], добавлен 21.06.2014

  • Проектирование информационной модели автоматизации реестра сферы бытового обслуживания. Целью разработки является повышение эффективности учета объектов потребительского рынка и услуг, упрощение поисковой системы по конкретному объекту или субъекту.

    дипломная работа [6,5 M], добавлен 08.07.2012

  • Понятие распределённого реестра. Обеспечение независимости данных, распределенных по множеству компьютеров за счет прозрачности сети, репликации и фрагментации. Создание драйвера, запроса, клиентской части. Выборка из данных, находящихся на двух серверах.

    курсовая работа [573,5 K], добавлен 19.05.2016

  • Сведения о предприятии: вид деятельности, техническое и программное обеспечение вычислительной техники. Экранные формы "Интегрированная базы застрахованных". Входные и выходные данные. Вкладка "Поле для печати", "Результат запроса", "Сверка реестра".

    курсовая работа [1,3 M], добавлен 03.07.2012

  • База данных как поименованная совокупность структурированных данных, относящихся к определенной предметной области. Ее типы и структура, особенности архитектуры. Функциональные особенности языка структурированных запросов (SQL). Разработка базы данных.

    курсовая работа [639,8 K], добавлен 14.12.2022

  • Анализ программных решений для учета данных в системах начисления военных пенсий. Анализ возможностей использования решений на базе Microsoft Dynamics AX. Особенности языка FoxPro. Назначение пенсий списком. Формирование файлов электронного реестра.

    дипломная работа [1,9 M], добавлен 18.11.2013

  • Особенности и свойства операционной системы UNIX, ее история, файловая структура, функции и отличия от других. Архитектура ядра системы. Понятия диспетчеризации, прерываний, системного времени (таймера), кеша. Проблема построения многопроцессорных систем.

    курсовая работа [35,6 K], добавлен 10.05.2011

  • Выбор программных и аппаратных средств для создания базы данных. Описание структуры программы. Описание разработки приложения. Подключение к базе данных, выполняемое с помощью компонента ADOConnectio. Создание средств защиты информации в программе.

    курсовая работа [2,1 M], добавлен 16.02.2015

  • Типы файловых систем, поддерживаемые Windows NT. Методика сжатия данных и динамического кэширования диска. Символы, которые нельзя использовать в имени. Уровень дисководов, логических дисков, устройства чтения компакт-дисков, панель управления, принтеры.

    презентация [8,0 K], добавлен 23.10.2013

  • Обслуживание двух встречных потоков информации. Структура информационных систем. Разработка структуры базы данных. Режимы работы с базами данных. Четыре основных компонента системы поддержки принятия решений. Выбор системы управления баз данных.

    курсовая работа [772,0 K], добавлен 21.04.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.