ЗНАЕТЕ ЛИ ВЫ?

Підтримка розріджених файлів



Починаючи із версії для Windows 2000, у NTFS з'явилася підтримка розріджених файлів (див. розділ 3.2.5). Для таких файлів задається спеціальний атрибут, після чого в послідовності номерів кластерів елемента MFT можуть бути утворені «діри», якщо після створення файла до цих кластерів не було звертання. У подальшому, якщо під час читання файла трапляється така «діра», замість неї без

доступу до диска система повертає блок, заповнений нулями. Зазначимо, що можна явно задавати ділянки файла, до яких не планують звертатися.

Для задання атрибутів стискання і розрідженості необхідно використати низькорівневу функцію керування введенням-виведенням DeviceloControl.

Забезпечення надійності

Основою забезпечення надійності у NTFS є те, що це — журнальна файлова система (про принципи роботи таких систем ішлося у розділі 12). Усі зміни структур даних файлової системи відбуваються всередині атомарних транзакцій, які вико-нуються повністю або не виконуються зовсім. У журнал записують інформацію про початок і підтвердження транзакції. У разі відновлення після збою спочатку повторно виконують дії всіх підтверджених транзакцій, а потім відміняють дії всіх тих, які не були підтверджені (у журналі транзакцій завжди наявна інформація, необхідна для виконання як однієї, так і іншої дії).

Кожні 5 с у журналі зберігають інформацію про точку перевірки, тоді ж інформацію про зміни файлів зберігають на диску остаточно. Записи журналу транзакцій до точки перевірки не потрібні й можуть бути вилучені.

Журнал зберігають у файлі метаданих із назвою $LogFile, який створюють під час форматування розділу. Він складається з двох секцій: ділянки записів журналу (log­ging area), яка являє собою циклічний список записів журналу, і ділянки перезапуску (restart area), що містить дві ідентичні копії поточної інформації про стан журналу (наприклад, там зберігають позицію, з якої потрібно буде почати відновлення).

Якщо в журналі бракує місця, Windows ХР ставить транзакції в чергу, і всі нові операції введення-виведення відміняються. Коли всі поточні операції виконані, NTFS звертається до менеджера кеша, щоб той записав весь кеш на диск, після чого журнал очищають і виконують усі відкладені транзакції. .

 

Особливості кешування у Windows XP

У Windows XP реалізовано єдиний кеш, що обслуговує всі файлові системи. Керування цим кешем здійснює менеджер кеша (Cache Manager).

Основною особливістю менеджера кеша є те, що він працює на більш високому рівні, ніж файлові системи (на відміну, наприклад, від традиційної архітектури UNIX, де кеш розташований нижче від файлових систем).

Менеджер кеша тісно взаємодіє із менеджером віртуальної пам'яті. Розмір кеша міняють динамічно залежно від обсягу доступної пам'яті. Менеджер віртуальної пам'яті резервує для системного кеша половину системної ділянки адресного простору процесу (верхні 2 Гбайт). У своїй роботі менеджер кеша використовує технологію відображуваної пам'яті, як описано у розділі 3.3.2: файли відображаються на цей адресний простір, після чого відповідальність за керування введенням-виведенням передають менеджерові віртуальної пам'яті. Кеш розділяють на | блоки по 256 Кбайт, кожен із блоків може відображати ділянку файла.

Блоки у кеші описують за допомогою керуючого блоку віртуальної адреси або 5локу адреси (Virtual Address Control Block, VACB), що містить віртуальну адресу файла і зсув усередині файла для цього блоку. Глобальний список таких блоків підтримує менеджер кеша.

Для відкритих файлів підтримують окремий масив покажчиків на блоки адреси. Кожен елемент масиву відповідає ділянці файла розміром 256 Кбайт і вказує на блок адреси, якщо ділянка файла перебуває в кеші, у протилежному випадку він містить нульовий покажчик.

У разі спроби доступу до файла менеджер кеша визначає за зсувом, якому блоку адреси відповідає запит. Якщо відповідний елемент масиву нульовий, відсилають запит драйверу файлової системи на читання відповідного фрагмента файла із диска в кеш, після чого копіюють дані з кеша у буфер застосування користувача.

Для підвищення продуктивності менеджер кеша відстежує історію трьох попередніх запитів, і коли він може знайти в них закономірність, буде виконано випереджувальне читання на підставі цієї закономірності (наприклад, якщо задають послідовність читання файла, випереджувальне читання зберігатиме в кеші додаткові блоки, розташовані у напрямку читання). Обсяг випереджувального читання фіксований і становить 192 Кбайт.

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

 

Системний реєстр Windows XP

Реєстр — це ієрархічно організоване сховище інформації про налаштування системи і прикладних програм. Крім цього, реєстр використовують для перегляду даних про поточний стан системи.

Незважаючи на те що на фізичному рівні реєстр не є файловою системою, його доцільно розглянути в цьому розділі, оскільки на логічному рівні він дуже подібний до неї. Крім того, реєстр зберігають у файлах на диску.

Важливість реєстру зумовлена тим, що в ньому міститься інформація, необхідна для завантаження і функціонування системи. Втрата або некоректна зміна даних реєстру можуть спричинити непрацездатність системи.

 

Логічна структура реєстру

На логічному рівні реєстр можна розглядати як ієрархічну файлову систему із кількома кореневими каталогами. Аналогом каталогів у цьому разі є ключі (keys), аналогом файлів — значення (values). Ключі характеризуються іменами і містять значення або інші ключі. Кожне значення характеризується іменем, типом і даними, які воно містить. Найпоширенішими типами значень є REGSZ — текстовий рядок, REG_DWORD — ціле число розміром 4 байти, REGBINARY — двійкові дані довільної довжини. Крім цього, можливі посилання на інші значення або ключі (ці посилання аналогічні до символічних зв'язків файлових систем).

Як і у файловій системі, кожне значення характеризується повним шляхом, що включає всі імена ключів, розташованих над ним.

Розглянемо кореневі каталоги реєстру (ключі верхнього рівня). Найважливішими з них є HKEY_LOCAL_MACHINE (скорочено HKLM) i HKEYJJSERS (HKU). Саме ці ключі відповідають фізичним даним реєстру. Ключ HKLM містить інформацію про всю систему, HKU — дані окремих користувачів.

Підмножину дерева ключів, починаючи із ключа другого рівня, називають вуликом (hive). Під ключем HKLM розташований ряд важливих вуликів:

· HARDWARE — містить інформацію про поточну апаратну конфігурацію системи; його вміст формують динамічно і на диску не зберігають;

· SAM — база даних облікових записів, містить інформацію про імена і паролі користувачів, необхідну для реєстрації у системі (ця інформація розглядатиметься в розділі 18);

· SOFTWARE — зберігає налаштування прикладного програмного забезпечення (звичайно підключі цього вулика називають за іменем фірми-виробника);

· SYSTEM - містить інформацію, необхідну під час запуску системи, зокрема список драйверів і служб, які необхідно завантажити, а також їхні налаштування.

В реєстрі можуть зберігатися різні значення.

Прикладом загальносистемного налагодження є значення HKLM\SYSTEM\Current-ControlSet\Services\Cdrom\Autorun типу REG_DWORD, що може містити 0 або 1. Коли воно містить 1, вставлення нового диска у CD-дисковід приводить до автоматичного запуску застосування autorun.exe, якщо воно є на цьому диску.

Прикладом засобу зберігання налагодження програмного продукту може бути ключ HKLM\SOFTWARE\Adobe\Acrobat Reader\6.0, що містить значення конфігураційних параметрів цієї версії продукту.

Ключ HKU містить профілі користувачів (налаштування їхнього робочого стола, конфігурацію застосувань тощо). Інформацію щодо кожного користувача зберігають у вулику, ім'я якого збігається з ідентифікатором безпеки (SID) цього користувача.

Інші ключі верхнього рівня відображають динамічні дані або посилання на інші ключі. Наприклад, ключ HKEY_PERFORMANCE_DATA є засобом доступу до різних поточних характеристик ОС, подібно до файлової системи /proc. A ключ HKEYCURRENT_USER це посилання на ключ НKU\SID-поточного_користувача і відповідає налаштуванням поточного користувача.

Фізична організація реєстру

Більша частина реєстру зберігається на диску у файлах, що відповідають вуликам (файлах вуликів — hive files). Файли вуликів HKLM розташовані в підкаталозі System32\Config системного каталогу Windows. Імена цих файлів збігаються з іменами вуликів (System, Software тощо). Вулики налаштувань користувачів (HKUVSID) зберігаються як файли Documents And Settings\iмя_Kopистувачa\NTUSER.DAT.

Зміни файлів вуликів відбуваються за тими самими правилами, що і для журнальних файлових систем (на базі атомарних транзакцій), крім того, для вулика System автоматично підтримують резервну копію.





Последнее изменение этой страницы: 2016-07-11; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.146.10 (0.014 с.)