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

Структура системи файлів.

Файлові системи VFAT і FAT32.

Однією з найважливіших характеристик вихідної FAT було використання імен файлів формату «8.3», у якому 8 символів приділяється на вказівку імені файлу і 3 символи - для розширення імені. До стандартного FAT (мається на увазі насамперед реалізація FAT16) додалися ще два різновиди, використовувані в широко розповсюджених операційних системах Microsoft (конкретно - у Windows 95 і Windows NT): VFAT (віртуальна FAT) і FAT32, використовувана в одній з редакцій ОС Windows 95 і Windows 98. Нині ця файлова система (FAT32) підтримується і такими ОС, як Windows Millennium Edition, і всіма ОС сімейства Windows 2000. Є реалізації систем керування файлами для FAT32, Windows NT і ОС Linux.

Файлова система VFAT уперше з'явилася в Windows for Workgroups 3.11 і була призначена для виконання файлового введення/виведення в захищеному режимі. З виходом Windows 95 у VFAT додалася підтримка довгих імен файлів (long file name, LFN). Проте VFAT зберігає сумісність з вихідним варіантом FAT; це означає, що поряд з довгими іменами в ній підтримуються імена формату «8.3», а також існує спеціальний механізм для перетворення імен «8.3» у довгі імена, і навпаки. Саме файлова система VFAT підтримується вихідними версіями Windows 95, Windows NT 4. При роботі з VFAT вкрай важливо використовувати файлові утиліти, що підтримують VFAT взагалі і довгі імена зокрема. Справа в тім, що більш ранні файлові утиліти DOS запросто модифікують те, що здається їм вихідною структурою FAT. Це може привести до втрат чи псування довгих імен з таблиці FAT, підтримуваної VFAT (чи FAT32). Отже, для томів VFAT необхідно користуватись файловими утилітами, що розуміють і зберігають файлову структуру VFAT.

У вихідній версії Windows 95 основною файловою системою була 32-розрядна VFAT. VFAT може використовувати 32-розрядні драйвери захищеного режиму чи 16-розрядні драйвери реального режиму. При цьому елементи FAT залишаються 12- чи 16-розрядними, тому на диску використовується та ж структура даних, що й у попередніх реалізаціях FAT. VFAT обробляє всі звертання до жорсткого диска і використовує 32-розрядний код для всіх файлових операцій з дисковими томами.

Основними недоліками файлових систем FAT і VFAT є великі втрати на кластеризацию при великих розмірах логічного диска й обмеження на сам розмір логічного диска. Це привело до розробки нової реалізації файлової системи з використанням тієї ж ідеї використання таблиці FAT. Тому в Microsoft Windows 95 OEM Service Release 2 (ця версія Windows 95 часто називається Windows 95 OSR2) на зміну системі VFAT прийшла файлова система FAT32. FAT32 є цілком самостійною 32-розрядною файловою системою і містить численні удосконалення і доповнення в порівнянні з попередніми реалізаціями FAT.

Принципова відмінність полягає в тім, що FAT32 набагато ефективніше витрачає дисковий простір. Насамперед, система FAT32 використовує кластери меншого розміру в порівнянні з попередніми версіями, що обмежувалися 65535 кластерами на том (відповідно, зі збільшенням розміру диска приходилося збільшувати і розмір кластерів). Отже, навіть для дисків розміром до 8 Гбайт FAT32 може використовувати 4-кілобайтні кластери. У результаті в порівнянні з дисками FAT16 заощаджується значний дисковий простір (у середньому 10-15%).

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

Windows 95 OSR2 і Windows 98 можуть працювати і з розділами VFAT, створеними Windows NT. To, що говорилося раніше про використання файлових утиліт VFAT з томами VFAT відноситься і до FAT32. Оскільки колишні утиліти FAT (для FAT32 у цю категорію входять обидві файлові системи, FAT і VFAT) можуть зашкодити чи знищити важливу службову інформацію, для томів FAT32 не можна користуватись ніякими файловими утилітами, крім утиліт FAT32. Крім підвищення ємкості FAT до величини в 4 Тбайт, файлова система FAT32 вносить ряд необхідних удосконалень у структуру кореневого каталогу. Попередні реалізації вимагали, щоб вся інформація кореневого каталогу FAT знаходилася в одному дисковому кластері. При цьому кореневий каталог міг містити не більш 512 файлів. Необхідність представляти довгі імена і забезпечити сумісність з колишніми версіями FAT привела розроблювачів компанії Microsoft до компромісного рішення: для представлення довгого імені вони стали використовувати елементи каталогу, у тому числі і кореневого. Розглянемо спосіб представлення в VFAT довгого імені файлу (мал. 10.9).

Рис. 10.9. Елементи каталогів для FAT, VFAT і FAT32.

Перші одинадцять бітів елемента каталогу DOS використовуються для збереження імені файлу. Кожне таке ім'я розділяється на дві частини: у перших восьми байтах зберігаються символи власне імені, а в останніх трьох — символи так званого розширення з допомогою якого реалізуються механізми визначених типів. Були уведені відповідні системні угоди, і файл; визначеного типу необхідно (бажано) іменувати з обговореним розширенням. Наприклад, файли, що виконуються з розширенням СОМ визначають двійкову програму, що виконується, з найпростішою односегментною структурою. Більш складні програми мають розширення ЕХЕ. Визначено розширення для великої кількості типів файлів, і ці розширення використовуються для асоційованого запуску оброблюючих файли програм.

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

У дванадцятому байті елемента каталогу зберігаються атрибути файлу. Шість з восьми зазначених розрядів використовуються DOS. До атрибутів DOS відносяться наступні:

  • атрибут «архівний» (А — archive). Показує, що файл був відкритий програмою таким чином, щоб у неї була можливість змінити вміст цього файлу. DOS установлює цей розряд атрибута в стан ON (включено) при відкритті файлу. Програми резервного копіювання нерідко встановлюють його в OFF (виключено) при виконанні резервного копіювання файлу. Якщо застосовується подібна методика, то в наступну створювану по порядку резервну копію будуть додані тільки файли з даним розрядом, встановленим у стан ON;

  • атрибут каталогу (D- directory). Показує, що даний елемент каталогу вказує на підкаталог, а не на файл;

  • атрибут тому (V - volume). Застосовується тільки до одного елемента каталогу в кореневому каталозі. У ньому, власне, і зберігається ім'я дискового тому. Це атрибут також застосовується у випадку довгих імен файлів, про що можна буде довідатися з наступного розділу;

  • атрибут «системні» (S — system). Показує, що файл є частина операційної системи чи спеціально відзначений подібним чином прикладною програмою, що іноді робиться в якості складеної частини методу захисту від копіювання;

  • атрибут «схований» (Н — hidden). Сюди відносяться, зокрема, файли з встановленим у стан ON атрибутом «системний» (S), що не відображаються в звичайному списку, виведеному по команді DIR;

  • атрибут «тільки для читання» (R — read only). Показує, що даний файл не підлягає зміні. Зрозуміло, оскільки це лише розряд байта, що зберігається на диску, то будь-яка програма може змінити цей розряд, після чого DOS вільно дозволила би зміну даного файлу. Цей атрибут в основному використовується для примітивного захисту від користувацьких помилок, тобто він дозволяє уникнути ненавмисного видалення чи зміни ключових файлів.

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

На дисках FAT12 чи FAT16 наступні за ім'ям десять байтів не використовуються. Звичайно вони заповнюються нулями і вважаються резервними значеннями. А на диску з файловою системою FAT32 ці 10 байт містять саму різну інформацію про файл. При цьому байт, відзначений як «зарезервовано для NT», являє собою, що видно з його назви, поле, не використовуване в DOS чи Windows 9х, але застосовуване в Windows NT.

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

Як видно з мал.10.9, для довгого імені файлу використовується кілька елементів каталогу. Таким чином, поява довгих імен фактично привело до подальшого зменшення кількості файлів, що можуть знаходитися в кореневому каталозі. Оскільки довге ім'я може містити до 256 символів, всього один файл із повним довгим ім'ям займає до 25 елементів FAT (1 для імені 8.3 і ще 24 для самого довгого імені). Кількість елементів кореневого каталогу VFAT зменшується до 21. Очевидно, що це не саме витончене рішення, тому компанія Microsoft радить уникати довгих імен у кореневих каталогах FAT при відсутності FAT32, у якого кількість елементів каталогу відповідно просто збільшений. Пам‘ятайте і про те, що довжина повної файлової специфікації, що включає шлях і ім'я файлу (довге чи у форматі 8.3), теж обмежується 260 символами. FAT32 успішно справляється з проблемою довгих імен у кореневому каталозі, але проблема з обмеженням довжини повної файлової специфікації залишається. З цієї причини Microsoft рекомендує обмежувати довгі імена 75-80 символами, щоб залишити досить місця для шляху (180-185 символів).

Файлова система HPFS.

Скорочення HPFS розшифровується як «High Performance File System» — високопродуктивна файлова система. HPFS уперше з'явилася в OS/2 1.2 і LAN Manager. HPFS була розроблена спільними зусиллями кращих фахівців компанії IBM і Microsoft на основі досвіду IBM по створенню файлових систем MVS, VM/CMS і віртуального методу доступу. Архітектура HPFS-початку створюватися як файлова система, що зможе використовувати переваги багатозадачного режиму і забезпечить у майбутньому більш ефективну і надійну роботу з файлами на дисках великого обсягу.

HPFS була першою файловою системою для ПК, у якій була реалізована підтримка довгих імен. HPFS, як FAT і багато інших файлових систем, має структуру каталогів, але в ній також передбачені автоматичне сортування каталогів і спеціальних розширених атрибутів, що спрощують реалізацію безпеки файлового рівня і створення множинних імен. HPFS підтримує ті ж самі атрибути, що і файлова система FAT, по історичних причинах, але також підтримує і нову форму file-associated, тобто інформацію, так звану розширеними атрибутами (EAs). Кожен ЕА концептуально подібний змінній оточення. Але самою головною відмінністю все-таки є базові принципи збереження інформації про місце розташування файлів.

Принципи розміщення файлів на диску, покладені в основу HPFS, збільшують як продуктивність файлової системи, так і її надійність і відмовостійкість. Для досягнення цих цілей запропоновано кілька способів: розміщення каталогів у середині дискового простору, використання методів бінарних збалансованих дерев для прискорення пошуку інформації про файл, розосередження інформації про місце розташування записів файлів по всьому диску, при тім що записи кожного конкретного файлу розміщаються (по можливості) у суміжних секторах і поблизу від даних про їхнє місце розташування. Дійсно, система HPFS прагне, насамперед, до того, щоб розташувати файл у суміжних кластерах, чи, якщо такої можливості немає, розмістити його на диску таким чином, щоб екстенти (фрагменти, фрагменти файлу, що розташовуються в суміжних секторах диска. Файл має принаймні один екстент, якщо він не фрагментований, а в противному випадку декілька екстентів) файлу фізично були якнайближче один до одного. Такий підхід істотно зменшує час позиціювання голівок запису/читання жорсткого диска і час чекання (rotational latency — затримка між установкою голівки читання/запису на потрібну доріжку диска і початком читання даних з диска). Можна сказати, що файлова система HPFS має, у порівнянні з FAT, що випливають основні переваги:

  • висока продуктивність;

  • надійність;

  • робота з розширеними атрибутами, що дозволяє керувати доступом до файлів і каталогів;

  • ефективне використання дискового простору.

На початку диска розташовано кілька керуючих блоків. Весь інший дисковий простір у HPFS розбито на частини («смуги», «стрічки» із суміжних секторів, в оригіналі — band). Кожна така група даних займає на диску простір у 8 Мбайт і має свою власну бітову карту розподілу секторів. Ці бітові карти показують, які сектори даної смуги зайняті, а які — вільні. Кожному сектору стрічки даних відповідає один біт у її бітовій карті. Якщо біт має значення 1, то відповідний сектор зайнятий, а якщо 0 — вільний.

Дисковий простір у HPFS виділяється не кластерами, як в FAT, а блоками. У сучасній реалізації розмір блоку взятий рівним розміру одного сектору, але в принципі він міг би бути й іншого розміру. По суті діла, блок – це і є кластер. Розміщення файлів у таких невеликих блоках дозволяє більш ефективно використовувати простір диска, тому що непродуктивні втрати вільного місця складають у середньому всього 256 байт на кожен файл. Згадайте, що чим більше розмір кластера, тим більше місця на диску витрачається дарма. Наприклад, кластер на відформатованому під FAT диску обсягом від 512 до 1024 Мбайт має розмір 16 Кбайт. Отже, непродуктивні втрати вільного простору на такому розділі в середньому складають 8 Кбайт (8192 байт) на один файл, у той час як на розділі HPFS ці втрати завжди будуть складати всього 256 байт на файл. Таким чином, на кожен файл заощаджується майже 8 Кбайт.

Файли і каталоги в HPFS базуються на фундаментальному об'єкті, називаному F-Node. Ця структура характерна для HPFS і аналога у файловій системі FAT не має.

Будь-яка файлова система повинна мати засоби виправлення помилок, що виникають при записі інформації на диск. Система HPFS для цього використовує механізм аварійного заміщення (hotfix).

HPFS відноситься до так званих монтуючих файлових систем. Це означає, що вона не вбудована в операційну систему, а додається до неї при необхідності. Файлова система HPFS встановлюється оператором IFS у файлі CONFIG.SYS. Цей оператор завжди поміщається в першому рядку даного конфігураційного файлу.