Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Питання ректорського контролю_2012_початок_курс...doc
Скачиваний:
3
Добавлен:
20.11.2019
Размер:
1.36 Mб
Скачать

Файлова система ntfs (New Technology File System)

У назву файлової системи NTFS входять слова «New Technology», тобто «нова технологія». Дійсно, NTFS містить ряд значних удосконалень і змін, що істотно відрізняють її від інших файлових систем. З погляду користувачів, файли як і раніше зберігаються в каталогах (часто званих «папками» чи фолдерами в середовищі Windows). Однак у NTFS на відміну від FAT робота на дисках великого обсягу відбувається набагато ефективніше; є засоби для обмеження в доступі до файлів і каталогів, введені механізми, що істотно підвищують надійність файлової системи, зняті багато обмежень на максимальну кількість дискових секторів і/чи кластерів.

Основні можливості файлової системи NTFS.

При проектуванні системи NTFS особлива увага була приділена наступним характеристикам:

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

  • розширена функціональність. NTFS проектувалася з врахуванням можливого розширення. У ній були втілені багато додаткових можливостей — вдосконалена відмовостійкість, емуляція інших файлових систем, могутня модель безпеки, рівнобіжна обробка потоків даних і створення файлових атрибутів, обумовлених користувачем;

  • підтримка POSIX . Оскільки уряд США вимагав, щоб усі закуповувані ним системи хоча б у мінімальному ступені відповідали стандарту POSIX, така можливість була передбачена і в NTFS. До числа базових засобів файлової системи POSIX відноситься необов'язкове використання імен файлів з урахуванням регістра, збереження часу останнього звертання до файлу і механізм так званих «жорстких силок» — альтернативних імен, що дозволяють посилатися на той самий файл по двох і більше іменах;

  • гнучкість. Модель розподілу дискового простору в NTFS відрізняється надзвичайною гнучкістю. Розмір кластера може змінюватися від 512 байт до 64 Кбайт; він являє собою число, кратне внутрішньому кванту розподілу дискового простору. NTFS також підтримує довгі імена файлів, набір символів Unicode і альтернативні імена формату 8.3 для сумісності з FAT.

NTFS чудово справляється з обробкою великих масивів даних і досить добре виявляє себе при роботі з томами обсягом від 300-400 Мбайт і вище. Максимально можливі розміри тому (і розміри файлу) складають 16 Ебайт(один екзабайт дорівнює 264, або приблизно 16000 млрд. гігабайт­­­­­ ). Кількість файлів у кореневому і некореневому каталогах не обмежено. Оскільки в основу структури каталогів NTFS закладена ефективна структура даних, звана «бінарним деревом» (див. розділ «Файлова система HPFS»), час пошуку файлів у NTFS (на відміну від систем на базі FAT) не зв'язано лінійною залежністю з їхньою кількістю.

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

Файлова система NTFS підтримує об'єктну модель безпеки NT і розглядає всі томи, каталоги і файли як самостійні об'єкти. NTFS забезпечує безпеку на рівні файлів; це означає, що права доступу до томів, каталогів і файлів можуть залежати від облікового запису користувача і тих груп, до яких він належить. Щораз, коли користувач звертається до об'єкта файлової системи, його права доступу перевіряються за списком дозволів даного об'єкта. Якщо користувач має достатній рівень прав, його запит задовольняється; у противному випадку запит відхиляється. Ця модель безпеки застосовується як при локальній реєстрації користувачів на комп'ютерах з NT, так і при вилучених мережних запитах. Нарешті, крім величезних розмірів томів і файлів, система NTFS також має вбудовані засоби стиску, які можна застосовувати до окремих файлів, цілим каталогам і навіть томам (і згодом скасовувати чи призначати їх за своїм розсудом).

Структура тому з файловою системою NTFS.

Одним з основних понять, використовуваних при роботі з NTFS, є поняття тому (volume). Можливо також створення відмовостійкого тому, що займає кілька розділів, тобто використання RAID-технології. Як і багато інших систем, NTFS поділяє весь корисний дисковий простір тому на кластери — блоки даних, адресуємі як одиниці даних. NTFS підтримує розміри кластерів від 512 байт до 64 Кбайт; стандартом же вважається кластер розміром 2 чи 4 Кбайт.

Весь дисковий простір у NTFS поділяється на дві нерівні частини (рис.12.1). Перші 12 % диска приділяються під так звану MFT-зону — простір, що може займати, збільшуючись у розмірі, головний службовий метафайл MFT(master file table — це спеціальний файл, головна системна структура даних, яка і дозволяє визначати місцезнаходження всіх інших файлів). Запис яких-небудь даних у цю область неможлива. МFТ-зона завжди тримається порожньою - це робиться для того, щоб самий головний, службовий файл (MFT) по можливості не фрагментувався при своєму росту. Інші 88 % тому являють собою звичайний простір для збереження файлів.

Рис. 12.1. Структура тому NTFS.

MFT (master file table, загальна таблиця файлів) являє собою централізований каталог всіх інших файлів диску, у тому числі і себе самого. MFT поділений на записи фіксованого розміру в 1 Кбайт, і кожен запис відповідає якому-небудь файлу (у загальному значенні цього слова). Перші 16 файлів носять службовий характер і недоступні операційній системі — вони називаються метафайлами, причому найперший метафайл — сам MFT. Ці перші 16 елементів MFT — єдина частина диска, що має строго фіксоване положення. Копія цих же 16 записів зберігається в середині тому для надійності, оскільки вони дуже важливі. Інші частини MFT-файлу можуть розташовуватися як і будь-який інший файл, у довільних місцях диску — відновити його положення можна за допомогою його самого, «зачепивши» за саму основу — за перший елемент MFT.

Згадані перші 16 файлів NTFS (метафайли) носять службовий характер кожний з них відповідає за який-небудь аспект роботи системи. Метафайли знаходяться в кореневому каталозі NTFS-тому. Усі вони починаються із символу імені «$», хоча одержати яку-небудь інформацію про них стандартними засобами складно. У табл.12.1 приведені основні відомі метафайли і їхнє призначення. Таким чином, можна довідатися, наприклад, скільки операційна система витрачає на каталогізацію тому, подивившись на розмір файлу $MFT.

Таблиця 12.1. Метафайли NTFS

Ім‘я метафайла

Призначення метафайла

$MFT

Сам Master File Table

$MFTmirr

Копія перших 16 записів MFT, яка розміщена посередині тому

$LogFile

Файл підтримки операцій журналювання

$Volume

Службова інформація — мітка тому, версія файлової системи і т. д.

$AttrDef

Список стандартних атрибутів файлів на томі

Кореневий каталог

$Bitmap

Карта вільного місця тому

$Boot

Завантажуючий сектор (якщо розділ завантажуючий)

$Quota

Файл, в якому записані права користувачів на використання дискового простору (цей файл почав працювати тільки в Windows 2000 з системою NTFS 5.0)

$Upcase

Файл – таблиця відповідності заглавних і прописних букв в іменах файлів. В NTFS імена файлів записуються в Unicode (що складає 65 тисяч різних символів) і шукати великі і малі еквіваленти в даному випадку – нетривіальна задача

Отже, усі файли тому згадуються в MFT. У цій структурі зберігається вся інформація про файли, за винятком власне даних. Ім'я файлу, розмір положення на диску окремих фрагментів і т.д. – усе це зберігається у відповіднімі записі. Якщо для інформації не вистачає одного запису MFT, то використовується кілька записів, причому не обов'язково йдучих підряд. Файли можуть мати не дуже великий розмір. Тоді застосовується досить вдале рішення: дані файлу зберігаються прямо в MFT, у місці, що залишився від основних даних, у межах одного запису MFT. Файли, що займають сотні байт, звичайно не мають свого «фізичного» втілення в основній файловій області - усі дані такого файлу зберігаються в одному місці, у MFT.

Файл у томі з NTFS ідентифікується так званим файловим посиланням (File Referens), яке представлене як 64-розрядне число. Файлове посилання складається з номера файлу, що відповідає позиції його файлового запису в MFT, і номера послідовності. Останній збільшується всякий раз, коли дана позиція MFT використовується повторно, що дозволяє файловій системі NTFS виконувати внутрішні перевірки цілісності.

Кожен файл у NTFS представлений за допомогою потоків (streams), тобто в нього немає «просто даних» як таких, а є «потоки». Для правильного розуміння досить вказати, що один з потоків і носить звичний нам зміст – дані файлу. Але більшість атрибутів файлу - це теж потоки. У такий спосіб виходить, що базова сутність у файлі тільки одна - номер у MFT, а все інше, включаючи і його потоки, - опційно. Даний підхід може ефективно використовуватися - наприклад, файлу можна «приліпити» ще один потік, записавши в нього будь-які дані. У Windows 2000 у такий спосіб записана інформація про автора і зміст файлу (одна з закладок у властивостях файлу, що переглядаються, наприклад, із провідника). Цікаво, що ці додаткові потоки не видні стандартними засобами роботи з файлами: розмір основного потоку, що спостерігається, що містить традиційні дані. Можна, приміром, мати файл нульової довжини, при стиранні якого звільниться 1 Гбайт вільного місця - просто тому, що яка-небудь хитра програма чи технологія «приліпила» до нього додатковий потік (альтернативні дані) такого великого розміру. Але насправді в даний час потоки практично не використовуються, так що побоюватися подібних ситуацій не потрібно, хоча гіпотетично вони можливі. Просто необхідно мати на увазі, що файл у NTFS — це більш глибоке поняття, чим можна собі представити, переглядаючи каталоги диска.

Стандартні ж атрибути для файлів і каталогів у томі NTFS мають фіксовані імена і коди типу, вони перераховані в табл.12.2.

Таблиця 12.2. Атрибути файлів в системі NTFS

Системний атрибут

Опис атрибута

Стандартна інформація про файл

Традиційні атрибути Read Only, Hidden, Archive, System, відмітки часу, включаючи час створення або останньої модифікації, число каталогів, які посилаються на файл

Список атрибутів

Список атрибутів, з яких складається файл, і файлове посилання на файловий запис і MFT, в якому розміщений кожен з атрибутів. Останній використовується, якщо файлу необхідно більше одного запису в MFT

Ім‘я файлу

Ім‘я файлу в символах Unicode. Файл може мати декілька атрибутів – імен файлу, подібно тому як це має місце в UNIX-системах. Це трапляється, коли є зв‘язок POSIX з даним файлом або, якщо в файла є автоматично згенероване ім‘я в форматі 8.3

Дескриптор захисту

Структура даних захисту (ACL), охороняючи файл від несанкціонованого доступу. Атрибут “дескриптор захисту” визначає, хто господар цього файлу і хто має доступ до нього

Дані

Дані файлу. В NTFS в файлі по замовчуванню є один безіменний атрибут даних, і він може мати доповнюючи іменовані атрибути даних. В каталогу немає атрибуту даних по замовчуванню, але він може мати необов‘язкові іменовані атрибути даних

Корінь індексу, розміщення індексу, бітова карта (тільки для каталогів)

Атрибути, які використовуються для індексів імен файлів у великих каталогах

Розширені атрибути HPFS

Атрибути, які використовуються для реалізації розширених атрибутів HPFS для підсистеми OS/2 і OS/2-клієнтів файл-серверів Windows NT

Атрибути файлу в записах MFT розташовані в порядку зростання числових значень кодів типу, причому деякі типи атрибутів можуть зустрічатися в записі більш одного разу: наприклад, якщо у файлі є кілька атрибутів даних чи кілька імен. Обов'язковими для кожного файлу в томі NTFS є атрибут стандартної інформації, атрибут імені файлу, атрибут дескриптора захисту й атрибут даних. Інші атрибути можуть зустрічатися при необхідності.

Ім'я файлу в NTFS, на відміну від файлових систем FAT і HPFS, може містити будь-які символи, включаючи повний набір національних алфавітів, тому що дані представлені в Unicode — 16-бітному представленні, що дає 65 535 різних символів. Максимальна довжина імені файлу в NTFS — 255 символів.

Великий внесок в ефективність файлової системи вносить організація каталогу. Каталог у NTFS являє собою спеціальний файл, що зберігає посилання на інші файли і каталоги, створюючи ієрархічну будову даних на диску. Файл каталогу поділений на блоки, кожний з який містить ім'я файлу, базові атрибути і посилання на елемент MFT, що вже надає повну інформацію про елемент каталогу. Головний каталог диска — кореневий — нічим не відрізняється від звичайних каталогів, крім спеціального посилання на нього з початку метафайла MFT.

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

Отже, як нам тепер відомо, бінарне дерево каталогу розташовує імена файлів таким чином, щоб пошук файлу здійснювався за допомогою одержання двохзначних відповідей на питання про положення файлу. Бінарне дерево здатне дати відповідь на питання: у якій групі, щодо даного елемента, знаходиться шукане ім'я — вище чи нижче? Ми починаємо з такого питання до середнього елемента, і кожна відповідь звужує зону пошуку в середньому в два рази. Якщо уявити, що файли відсортовані за алфавітом, то відповідь на питання здійснюється очевидним способом - порівнянням початкових букв. Область пошуку, звужена в два рази, починає досліджуватися аналогічним чином, починаючи знову ж із середнього елемента.

Помітимо, що додавати файл у каталог у виді дерева не набагато складніше, ніж у лінійний каталог системи FAT. Це співставлені по часу операції. Для того щоб додати новий файл у каталог, потрібно спочатку переконатися, що файлу з таким ім'ям там ще немає. Тому в системі FAT з лінійною організацією записів каталогу в нас з'являються труднощі не тільки з пошуком файлу. І це компенсує саму простоту додавання файлу в каталог.

Основні відмінності FAT і NTFS.

Якщо говорити про накладні витрати на збереження службової інформації, FAT відрізняється від NTFS більшою компактністю і меншою складністю. У більшості томів FAT на збереження таблиці розміщення, що містить інформацію про усі файли тому, витрачається менше 1 Мбайта. Настільки низькі накладні витрати дозволяють форматувати у FAT жорсткі диски малого обсягу і флопі-диски. У NTFS службові дані займають більше місця, ніж у FAT. Так, кожен елемент каталогу займає 2 Кбайт. Однак це має і свої переваги, тому що вміст файлів обсягом 1500 байт і менше може цілком зберігатися в елементі каталогу.

Система NTFS не може використовуватися для форматування флопі-дисків. Не варто користуватися нею для форматування розділів обсягом менше 50-100 Мбайт. Відносно високі накладні витрати приводять до того, що для малих розділів службові дані можуть займати до 25 % обсягу носія. Корпорація Microsoft рекомендує використовувати FAT для розділів об‘ємом 256 Мбайт і менше, a NTFS — для розділів обсягом 400 Мбайт і більше.

Наступний критерій порівняння — розмір файлів. Розділи FAT мають обсяг до 2 Гбайт, VFAT — до 4 Гбайт і FAT32 — до 4 Тбайт. Проте через особливості своєї внутрішньої будови розділи FAT найкраще працюють для розділів обсягом 200 Мбайт і менше. Розділи NTFS можуть досягати 16 Эбайт, однак на даний час через апаратних і інших системних причин, розмір файлів обмежується 2 Тбайт.

Розділи FAT можуть використовуватися практично у всіх операційних системах. За рідкісними винятками, з розділами NTFS можна працювати прямо тільки з Windows NT, хоча і існують для ряду ОС відповідні реалізації систол керування файлами для читання файлів з томів NTFS. Так, наприклад, утиліта (драйвер) NTFSDOS дозволяє читати дані NTFS на комп'ютері, завантаженому в режимі MS-DOS. Однак повноцінних реалізацій для роботи з NTFS поза системою Windows NT поки немає.

Розділи FAT не забезпечують локальної безпеки. З іншого боку, розділи NTFS забезпечують локальну безпеку як файлів, так і каталогів. Для розділів FAT можуть встановлюватися загальні права, зв'язані з загальним доступом до каталогів у мережі. Однак такий захист не перешкодить користувачу з локальним входом одержати доступ до файлів свого комп'ютера. У відношенні безпеки NTFS виявляється кращим варіантом. Розділи NTFS можуть забороняти чи обмежувати доступ як вилучених, так і локальних користувачів. Отже, до захищених файлів зможуть звернутися лише ті користувачі, яким були надані відповідні права. Нагадаємо, що Windows NT містить спеціальну утиліту CONVERT.EXE, яка перетворить томи FAT в еквівалентні томи NTFS, однак для зворотнього перетворення (з NTFS у FAT) подібних утиліт не існує. Щоб виконати таке зворотнє перетворення, вам доведеться створити розділ FAT, скопіювати в нього файли з розділу NTFS і потім видалити оригінали. Важливо при цьому не забувати і про те, що при копіюванні файлів з NTFS у FAT губляться всі атрибути безпеки NTFS (нагадаємо, що в FAT не передбачені засоби для визначення і наступного збереження цих атрибутів). Останнім часом появилася ще одна дуже важлива обставина, зв'язана з тим, що обсяги дискових механізмів набагато перевищили максимально припустимий розмір, прийнятний для FAT, — 8,4 Гбайт. Ця межа пояснюється максимально можливими значеннями в адресі сектора, для якого, як ми вже знаємо, приділяється всього 3 байти. Тому в переважній більшості випадків при роботі в середовищі Windows-систем використовують або FAT32, або NTFS. Остання, безумовно, краще, але вона не підтримується в широко розповсюджених ОС Windows 98 і нині все більш часто зустрічаєма Windows Millennium Edition.