Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / конспект_укр.doc
Скачиваний:
43
Добавлен:
03.03.2016
Размер:
634.37 Кб
Скачать

Файли і потоки

Поняття файлу включає:

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

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

Кожен файл на NTFS, загалом, має декілька абстрактну будову - у нього немає як таких даних, а є потоки (streams). Один з потоків і має звичний сенс - дані файлу. Але більшість атрибутів файлу - теж потоки. Таким чином, виходить, що базова суть у файлу лише одна - номер в MFT, а все інше - опціонально. Дана абстракція може використовуватися для створення досить зручних речей - наприклад, файлу можна "приліпити" ще один потік, записавши в нього будь-які дані - наприклад, інформацію про автора і вміст файлу. Ці додаткові потоки не видно стандартними засобами: спостережуваний розмір файлу - це лише розмір основного потоку, який містить традиційні дані. Можна, наприклад, мати файл нульової довжини, при стиранні якого визволиться 1 Гбайт вільного місця - просто тому, що яка-небудь хитра програма або технологія приліпила в йому додатковий потік (альтернативні дані) гігабайтного розміру. Ім'я файлу може містити будь-які символи, включаючи набір національних алфавітів, оскільки дані представлені в Unicode ,що дає 65535 різних символів. Максимальна довжина імені файлу - 255 символів.

Каталоги

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

Існує дві форми списку файлів. Невеликі списки файлів (small indexes). Якщо кількість файлів в каталозі невелика, то список файлів може бути резидентним в записі MFT, що є каталогом (рис 3.1). В цьому випадку він називається невеликим каталогом. Невеликий список файлів містить значення атрибутів файлу. За умовчанням це ім'я файлу, а також номер запису MTF, що містить початковий запис файлу.

Рис.3.1 Невеликі каталоги

Великі списки файлів (large index). У міру того, як каталог зростає, список файлів може зажадати нерезидентної форми зберігання. Проте початкова частина списку завжди залишається резидентною в кореневому записі каталогу таблиці MFT (рис. 3.2). Імена файлів резидентної частини списку файлів є вузлами B-дерева. Останні частини списку файлів розміщуються зовні MFT. Для їх пошуку використовується спеціальний атрибут "розміщення списку" (Index Allocation - IA), що є набором номерів кластерів, які вказують на останні частини списку. Одні частини списків є листям дерева, а інші є проміжними вузлами, тобто містять поряд з іменами файлів атрибут Index Allocation, вказуючий на списки файлів нижчих рівнів.

Рис. 3.2. Великі каталоги

Соседние файлы в папке СПО