Структура реєстру. Типи даних. Зберігання реєстру

На зміну ini-файлам, які мають ряд концептуальних обмежень, ще в Windows 3.1било введено поняття реєстру - реєстраційної бази даних, що зберігає разлічниенастройкі ОС і додатків. Спочатку реєстр був призначений тільки длязберігання відомостей про об`єкти OLE (Object Linking and Embedding - зв`язок івнедреніе об`єктів) і зіставлень додатків розширень імен файлів, однакопозже його структура і межі використання розширилися. Реєстри різних версійWindows мають разлічія- це потрібно пам`ятати при імпорті reg-файлів. У Windows 2000і XP в архітектуру реєстру були введені важливі нововведення, улучшающіефункціональность даного компонента ОС.

Реєстр зберігається в бінарному (довічним) вигляді, тому для ручної роботи з ним необхідна спеціальна програма-редактор реєстру. В XP це Regedit.exe, в інших версіях NT ними являютсяRegedit.exe і Regedt32.exe, що має додаткові можливості роботи з реєстром (Regedt32.exe є і в XP, але насправді він усього лише викликає Regedit.exe) .Є і інші програми, в тому числі і консольні (Reg.exe). Ручниммодіфіцірованіем параметрів реєстру ми займемося трохи пізніше, а зараз рассмотрімосновние групи відомостей, що зберігаються в цій базі даних.

  • програми установки. Будь-яка грамотно написана программапод Windows повинна мати свій інсталятор-установник. Це може бути встроеннийв ОС Microsoft Installer або будь-який інший. У будь-якому випадку інсталятор іспользуетреестр для зберігання своїх налаштувань, дозволяючи правильно встановлювати і удалятьпріложенія, не чіпаючи спільно використовувані файли.
  • розпізнавач. При кожному запуску комп`ютера программаNTDETECT.COM і ядро ​​Windows розпізнає обладнання і зберігає цю інформаціюв реєстрі.
  • ядро ОС. Зберігає багато відомостей в реєстрі про свою конфігурації, в тому числі і дані про порядок завантаження драйверів пристроїв.
  • Диспетчер PnP (Plug and Play). Абсолютно необхідна вещьдля більшості користувачів, яка позбавляє їх від мук по установкенового обладнання (не завжди, правда :)). Не дивно, що він хранітсвою інформацію в реєстрі.
  • драйвери пристроїв. Зберігають тут свої параметри.
  • адміністративні кошти. Наприклад, такі, як Панельуправленія, MMC (Micro-soft Management Console) і ін.
  • призначені для користувача профілі. Це ціла група параметрів, унікальна для кожного користувача: настройки графічної оболонки, сетевихсоедіненій, програм і багато іншого.
  • апаратні профілі. Дозволяють створювати кілька конфігураційс різним обладнанням.
  • Загальні настройки програм. Чому загальні? Тому, що у кожного користувача є профіль, де зберігаються його налаштування для соответствующейпрограмми.

Ось ми і розібралися з призначенням реєстру. Тепер звернемо свою увагу на логічну структуру реєстру. Для кращого розуміння матеріалу рекомендується запустити Regedit.exe, тільки нічого поки не чіпайте :).

структура реєстру

Перша аналогія, яка приходить в голову при погляді на реєстр в Regedit.exe, - як схоже на файлову систему! І точно, в наявності деревоподібна структура. Папкамздесь відповідають ключі (keys) або розділи (гілки), а файлів - параметри (values). Розділи можуть містити як вкладені розділи (sub keys), так іпараметри. На верхньому рівні цієї ієрархії знаходяться кореневі розділи (rootkeys). Вони перераховані в таблиці 1




Таблиця 1. Кореневі розділи

Відео: Основи програмування. Програма, зберігання в пам`яті, типи даних

Тип данихопис
REG_BINARYДвійкові дані. Більшість відомостей про устаткування компонентаххранітся у вигляді двійкових даних і виводиться в редакторі реестрав шестнадцатеричном форматі
REG_DWORDДані, представлені цілим числом (4 байта). Багато параметрислужб і драйверів пристроїв мають цей тип і відображаються в двійковому, шістнадцятковому або десятковому форматах
REG_EXPAND_SZРядок Unicode змінної довжини. Цей тип даних включає змінні, які обчислюються програмою або службою
REG_MULTI_SZСкладний рядок Unicode. Цей тип, як правило, мають списки інші записи в форматі, зручному для читання. Записи разделяютсяпробеламі, комами або іншими символами
REG_SZТекстова Unicode рядок фіксованої довжини
REG_DWORD_LITTLE_ENDIAN32-розрядне число в форматі "остроконечников" - молодший байтхранітся першим в пам`яті. еквівалент REG_DWORD
REG_DWORD_BIG_ENDIAN32-розрядне число в форматі "тупоконечников" - старший байтхранітся першим в пам`яті
REG_LINKСимволічна посилання Unicode. Тільки для внутрішнього використання (деякі кореневі розділи є таким посиланням на інші підрозділи)
REG_NONEПараметр не має певного типу даних
REG_QWORD64-розрядне число
REG_QWORD_LITTLE_ENDIAN64-розрядне число в форматі "остроконечников". еквівалент REG_QWORD
REG_RESOURCE_LISTСписок апаратних ресурсів. Використовується тільки в розділі HKLM HARDWARE
REG_FULL_RESOURCE_DESCRIPTORДескриптор (описувач) апаратного ресурсу. Застосовується тольков HKLM HARDWARE.
REG_RESOURCE_REQUIREMENTS_LISTСписок необхідних апаратних ресурсів. Використовується тольков HKLM HARDWARE.

типи даних

Відео: Розробка баз даних

Всі параметри реєстру мають фіксований тип. У таблиці 2 я наводиться полнийспісок використовуваних типів. Не всі з них використовуються в різних версіях NT -REG_QWORD явно призначений для 64-бітової версії XP. Слід врахувати, що рядтіпов використовується тільки системою в деяких розділах, і створити свій параметртакого типу за допомогою редактора реєстру не вийде.




Таблиця 2. Типи параметрів

Тип данихопис
REG_BINARY Двійкові дані. Більшість відомостей про аппаратнихкомпонентах зберігається у вигляді двійкових даних і виводиться в редакторереестра в шістнадцятковому форматі
REG_DWORD Дані, представлені цілим числом (4 байта). Многіепараметри служб і драйверів пристроїв мають цей тип і отображаютсяв довічним, шестнадцатеричном або десятковому форматах
REG_EXPAND_SZ Рядок Unicode змінної довжини. Цей тип даннихвключает змінні, які обчислюються програмою або службою
REG_MULTI_SZ Складний рядок Unicode. Цей тип, як правило, мають списки і інші записи в форматі, зручному для читання. Запісіразделяются пробілами, комами або іншими символами
REG_SZ Текстова Unicode рядок фіксованої довжини
REG_DWORD_LITTLE_ENDIAN 32-розрядне число в форматі "остроконечников" -молодший байт зберігається першим в пам`яті. еквівалент REG_DWORD
REG_DWORD_BIG_ENDIAN 32-розрядне число в форматі "тупоконечников" -старший байт зберігається першим в пам`яті
REG_LINK Символічна посилання Unicode. Тільки для внутреннегоіспользованія (деякі кореневі розділи є такий ссилкойна інші підрозділи)
REG_NONE Параметр не має певного типу даних
REG_QWORD 64-розрядне число
REG_QWORD_LITTLE_ENDIAN 64-розрядне число в форматі "остроконечников" .Еквівалент REG_QWORD
REG_RESOURCE_LIST Список апаратних ресурсів. Використовується тольков розділі HKLM HARDWARE
REG_FULL_RESOURCE_DESCRIPTOR Дескриптор (описувач) апаратного ресурсу. Пріменяетсятолько в HKLM HARDWARE.
REG_RESOURCE_REQUIREMENTS_LIST Список необхідних апаратних ресурсів. Іспользуетсятолько в HKLM HARDWARE.

зберігання реєстру

Відео: 5 КРОКІВ. Оптимізація даних користувача

Елементи реєстру зберігаються у вигляді атомарної структури. Реєстр поділяється насоставние частини, звані вуликами (hives), або кущами. Вулики зберігаються на дисках вигляді файлів. Деякі вулики, такі, як HKLM HARDWARE, не зберігаються вфайлах, а створюються при кожному завантаженні, тобто є змінними (vola-tile) .При запуску системи реєстру збирається з вуликів в єдину деревоподібну структуру скорневимі розділами. Перерахуємо вулики реєстру і їх місце розташування на диску (дляNT старше версії 4.0) в таблиці 3

Таблиця 3. Вулики реєстру

вуликРозташування
HKLM SYSTEM % SystemRoot% system32 config system
HKLM SAM % SystemRoot% system32 config SAM
HKLM SECURITY % SystemRoot% system32 config SECURITY
HKLM SOFTWARE % SystemRoot% system32 config software
HKLM HARDWARE змінний вулик
HKLM SYSTEM Clone змінний вулик
HKU % USERPROFILE% ntuser.dat
HKU _Classes % USERPROFILE% Local Settings Application Data Microsoft Windows UsrClass.dat
HKU .DEFAULT % SystemRoot% system32 config default

Крім цих файлів, є ряд допоміжних, з наступними розширеннями:

Відео: Приклад створення бази даних в MS Office Access 2007

  • ALT - резервна копія вулика HKLM SYSTEM (відсутній в XP).
  • LOG - журнал транзакцій, в якому реєструються всі зміни реєстру.
  • SAV - копії вуликів в тому вигляді, в якому вони були після завершення текстовойфази установки.

додаткові відомості

Реєстр є справжньою базою даних, тому в ньому використовується технологіявосстановленія, схожа на ону в NTFS. Вже згадані LOG-файли містять журналтранзакцій, який зберігає всі зміни. Завдяки цьому реалізуетсяатомарность реєстру - тобто в даний момент часу в реєстрі можуть бути лібостарие значення, або нові, навіть після збою. Як бачимо, на відміну від NTFS, тут забезпечується збереження не тільки структури реєстру, а й даних. Дотого ж, реєстр підтримує такі фішки NTFS, як управління ізбірательнимдоступом і аудит подій - система безпеки пронизує всю NT снізудоверху. Так, ці функції доступні тільки з Regedt32.exe або Regedit.exe для XP.А ще весь реєстр або його окремі частини можна експортувати в текстовиеreg-файли (Unicode для Windows 2000 і старше), редагувати їх в блокноті, Азат експортувати назад. У багатьох редакторах реєстру можна подключатьлюбие доступні вулики реєстру, в тому числі і на віддалених машинах (прісоответствующіх повноваження). Є можливість робити резервні копії з допомогою програми NTBackup. І багато іншого. Ну, а на сьогодні наш маленький лікбезокончен

Поділися в соціальних мережах:

Схожі
Відновлення реєстру. Практичний посібникВідновлення реєстру. Практичний посібник
Системний реєстр windows. Загальна теоріяСистемний реєстр windows. Загальна теорія
Структура бази данихСтруктура бази даних
Як створити резервну копію реєстру. Способи відновлення реєстру windowsЯк створити резервну копію реєстру. Способи відновлення реєстру windows
Використання редактора реєстру regedit в командних файлах windowsВикористання редактора реєстру regedit в командних файлах windows
Автоматизація входу в систему на комп`ютері під керуванням windows xpАвтоматизація входу в систему на комп`ютері під керуванням windows xp
Налаштування windows 8 через реєстрНалаштування windows 8 через реєстр
Системний реєстр windowsСистемний реєстр windows
Тонка настройка модуля windows updateТонка настройка модуля windows update
Створення резервної копії реєструСтворення резервної копії реєстру
» » Структура реєстру. Типи даних. Зберігання реєстру