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

3.2.4 Система керування файлами

Система керування файлами є тим фундаментом, на якому лежить будь-яка сучасна операційна система. Через цю систему зв’язуються через дані усі системні оброблюючи програми, вирішуються проблеми розподілу дискового простору й керування даними. Завдяки цієї системі користувачу надаються слідуючи можливості:

  • побудова, знищення, перейменування наборів даних;

  • робота з пристроями як з файлами;

  • обмін даними;

  • робота з файлами за допомогою звернень до програмних модулів системи керування даними;

  • захист файлів від несанкціонованого доступу.

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

Файлові системи FAT. Операційні системи DOS і Microsoft Windows використовували файлову систему, засновану на таблиці розміщення файлів FAT. Ця система має лінійчату табличну структуру, в якій знаходяться інформація про файли та їх місцезнаходження. Елемент FAT задає фактичну область диска, в якій зберігається початок фізичного файлу. Логічний дисковий простір розподіляється на дві частини: системну область та область даних.

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

- завантажувальний запис (boot record, BR);

- резервні сектори (reserved sector, ResSecs);

- таблиці розміщення файлів (file allocation table, FAT);

- кореневий каталог (root directory, RDir).

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

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

До стандартної FAT (FAT16) добавилися ще дві різновидності VFAT та FAT32. Файлова система VFAT була призначена для виконання файлового вводу/виводу в захищеному режимі, крім того, в VFAT добавилась підтримка довгих імен файлів. В той же час VFAT зберігає сполучення з FAT-підтримкою імен формату «8.3». В ній також присутній механізм для переробки імен «8.3» у довгі імена, і навпаки.

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

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

Файлова система HPFS. Для підвищення продуктивності була створена файлова система HPFS (High Performance File System - високопродуктивна файлова система). Ця файлова система була оптимізована для мультизадачного середовища і прискорювала одночасну роботу програм із файлами, розташованими на дисках великого обсягу.

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

Файлова система HPFS має, порівняно з FAT, наступні основні переваги:

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

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

  • роботу з розширеними атрибутами;

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

Усі ці переваги обумовлені структурою диска HPFS.

На початку диска знаходиться декілька керуючих блоків. Решта дискового простору розбито на частини («полоси» із суміжних секторів - band). Кожна така група даних займає на диску простір в 8 Мбайт і має свою приватну бітову карту розподілу секторів. Бітові карти показують, які сектори даної полоси зайняті, а які - вільні. Бітові карти двох полос розміщуються на диску поряд, також розміщуються і самі полоси. Послідовність полос і карт виглядяє наступним образом: бітова карта, бітова карта, полоса з даними, полоса з даними, біто­ва карта, бітова карта і т. д.

HPFS має три інформаційні структури: завантажувальний блок (boot block), додатковий блок (super block) та резервний блок (spare block). Завантажувальний блок містить в собі ім’я тому, його серійний номер, блок параметрів BIOS та програму початкового завантаження. В додатковому блоці знаходиться вказівник на список бітових карт (bitmap block list), в якому перелічені всі вільні та дефектні блоки диска. Резервний блок містить вказівник на карту аварійного заміщення (hotfix map або hotfix-areas), вказівник на список вільних запасних блоків (directory emergency free block list), які використовуються для операцій на заповненому диску, а також ряд системних прапорів і дескрипторів. Резервний блок дозволяє відновлювати зіпсовані дані на диску.

Файли та каталоги в HPFS базуються на, так званому, файловому вузлі (F-Node) - це структура, яка містить у собі інформацію про розміщення файлу і про його розширені атрибути. «Полоса», яка знаходиться у центрі диску, використовується для збереження каталогів. Це дозволяє значно зменшити середній час пошуку файлів. Однак суттєво більшу продуктивність HPFS надає використання методу збалансованих двоїчних дерев для збереження та пошуку інформації о місце знаходження файлів.

При використанні HPFS користувач може вказувати імена файлів розміром до 254 символів, причому ім'я може складатися з рядкових і прописних букв, а також пробілів і деяких інших символів.

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

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

Файлова система NTFS. Файлова система NTFS була подальшим розвитком файлових систем. При її проектуванні особливу увагу було приділено наступним характеристикам:

- надійність, одним із засобів її збільшення є введення механізму журналіровання файлових операцій;

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

- підтримка стандарту POSIX;

- гнучкість, розмір кластера може змінюватись від 512 байт до 64 Кбайт, підтримує довгі імена файлів, набір символів Unicode і альтернативні імена формату 8.3.

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

POSIX (Portable operating system for computing environments) з 1990 року є міжнародним стандартом на машино-незалежний інтерфейс комп’ютерної середи. Основну увагу стандарту POSIX поділяється взаємодії програм з операційною системою, що дозволяє легко переносити розроблені програми з однієї операційної середи в іншу.

При роботі з NTFS використовується поняття тому (volume). NTFS поділяє весь корисний дисковий простір тома на кластери, які є одиницями адресації даних. NTFS підтримує розміри кластерів від 512 байт до 64 Кбайт.

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

MFT - це централізований каталог усіх файлів диска. Він поділяється на записи фіксованого розміру і кожен запис відповідає конкретному файлові. Перші 16 файлів носять службовий характер, вони звуться метафайлами і недоступні операційній системі. Ці файли мають строго фіксоване положення. Їх копія знаходиться в середині тому. Останні частини MFT-файлу можуть знаходитись в любих місцях диску.

Кожен файл у системі NTFS представляє потік (streams). Більшість атрибутів файлу - це також потоки.

Особливе місце у файловій системі NTFS поділяється організація прав доступу до файлів і каталогів.

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

Це в першу чергу механізми забезпечення безпеки дискових даних. Операційна система не може забезпечити захист даних на диску, що має формат FAT чи VFAT. Найчастіше ці формати використовуються разом із NTFS.

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

Розділ диска, де розміщається файлова система, поділяється на чотири області:

- завантажувальний блок;

- суперблок (superbhck) містить загальну інформацію про файлову систему: розмір файлової системи, розмір області індексних дескрипторів, число індексних дескрипторів, список вільних блоків і список вільних індексних дескрипторів, а також іншу адміністративну інформацію;

- область індексних дескрипторів (inode list), порядок розташування індексних дескрипторів у який відповідає їх номерам;

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

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

- ідентифікатор власника файлу;

- тип файлу; файл може бути файлом звичайного типу, каталогом, спеціальним файлом, а також чи конвеєром символьним зв'язком;

- права доступу до файлу;

- тимчасові характеристики: час останньої модифікації файлу, час останнього звертання до файлу, час останньої модифікації індексного дескриптора;

- число посилань на даний індексний дескриптор, дорівнює кількості псевдонімів файлу;

- адресна інформація;

- розмір файлу в байтах.

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

Запис про файл у каталозі складається усього із двох полів: символьного імені файлу й номера індексного дескриптора.

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

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

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

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

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

Крім того, у ufs імена файлів можуть мати довжину до 255 символів (кодування ASCII, по одному байті на символ), у той час як у s5 довжина імені не може перевищувати 14 символів.

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