Що таке файлова система, визначення файлової системи, поширені файлові системи, типи

Що таке файлова система

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

Визначення файлової системи

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

Файлова система визначає:

- як зберігаються файли і каталоги на диску;

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

- як можна дізнатися, які ділянки диска вільні, а які - ні;

- формат каталогів та іншої службової інформації на диску.

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

Поширені файлові системи

Операційні системи Microsoft сімейства Windows NT, Windows XP, Windows Vista, Windows 7 не можна уявити без файлової системи NTFS, FAT. Оскільки на IBM PC - сумісних комп'ютерах інформація зберігатися в основному на дисках, то застосовуються на них файлові системи визначають організацію даних саме на дисках (точніше, на логічних дисках). Ми розглянемо чотири файлові системи -FAT 32, NTFS.

типи файлів

Файли бувають різних типів: звичайні файли, спеціальні файли, файли-каталоги.

Звичайні файли в свою чергу поділяються на текстові та двійкові. Текстові файли складаються з рядків символів, представлених в ASCII-коді. Це можуть бути документи, вихідні тексти програм і т.п. Текстові файли можна прочитати на екрані і роздрукувати на принтері. Двійкові файли не використовують ASCII-коди, вони часто мають складну внутрішню структуру, наприклад, об'єктний код програми або архівний файл. Всі операційні системи повинні вміти розпізнавати хоча б один тип файлів - їх власні виконувані файли. Спеціальні файли - це файли, асоційовані з пристроями введення-виведення, які дозволяють користувачеві виконувати операції введення-виведення, використовуючи звичайні команди запису в файл або читання з файлу. Ці команди обробляються спочатку програмами файлової системи, а потім на деякому етапі виконання запиту перетворюються ОС в команди управління відповідним пристроєм. Спеціальні файли, так само як і пристрої введення-виведення, діляться на блок-орієнтовані і байт-орієнтовані.

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

У різних файлових системах можуть використовуватися в якості атрибутів різні характеристики, наприклад:

інформація про дозволений доступ,

пароль для доступу до файлу,

ознака "тільки для читання",

ознака "прихований файл",

ознака "системний файл",

ознака "архівний файл",

ознака "тимчасовий" (видалити після завершення процесу),

покажчик на ключове поле в записі,

часи створення, останнього доступу і останньої зміни,

поточний розмір файлу,

максимальний розмір файлу.

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

Мал. 1. Структура каталогів: а - структура записи каталогу MS-DOS (32 байта); б - структура записи каталогу ОС UNIX

Що таке файлова система, визначення файлової системи, поширені файлові системи, типи

Ієрархія каталогів може бути деревом або мережею. Каталоги утворюють дерево, якщо файлу дозволено входити тільки в один каталог, і мережа - якщо файл може входити відразу в декілька каталогів. У MS-DOS каталоги утворюють деревовидну структуру, а в Unix'е - мережеву. Як і будь-який інший файл, каталог має символьне ім'я і однозначно ідентифікується складовим ім'ям, що містить ланцюжок символьних імен всіх каталогів, через які проходить шлях від кореня до даного каталогу.

Мал. 2. Логічна організація файлової системи а - однорівнева; б - ієрархічна (дерево); в - ієрархічна (мережа)

Що таке файлова система, визначення файлової системи, поширені файлові системи, типи

Програміст має справу з логічною організацією файлу, представляючи файл у вигляді певним чином організованих логічних записів. Логічна запис - це найменший елемент даних, яким може оперувати програміст при обміні з зовнішнім пристроєм. Навіть якщо фізичний обмін з пристроєм здійснюється великими одиницями, операційна система забезпечує програмісту доступ до окремої логічного запису. На малюнку 3 показані кілька схем логічної організації файлу. Записи можуть бути фіксованої довжини або змінної довжини. Записи можуть бути розташовані в файлі послідовно (послідовна організація) або в більш складному порядку, з використанням, так званих індексних таблиць, що дозволяють забезпечити швидкий доступ до окремої логічного запису (індексного-послідовна організація). Для ідентифікації запису може бути використано спеціальне поле записи, зване ключем. У файлових системах ОС UNIX і MS-DOS файл має найпростішу логічну структуру - послідовність однобайтових записів.

Що таке файлова система, визначення файлової системи, поширені файлові системи, типи

Мал. 3. Способи логічної організації файлів