Типи файлів

Важливий аспект організації файлової системи і ОС - чи слід підтримувати і розпізнавати типи файлів. Якщо так, то це може допомогти правильному функціонуванню ОС, наприклад не допустити виводу на принтер бінарного файлу.

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

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

Далі мова піде головним чином про звичайні файли.

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

Текстові файли містять символьні рядки, які можна роздрукувати, побачити на екрані або редагувати звичайним текстовим редактором.

Інший тип файлів - нетекстові, або бінарні, файли. Зазвичай вони мають деяку внутрішню структуру. Наприклад, виконуваний файл в ОС Unix має п'ять секцій: заголовок, текст, дані, биті реаллокации і символьну таблицю. ОС виконує файл, тільки якщо він має потрібний формат. Іншим прикладом бінарного файлу може бути архівний файл. Типізація файлів не дуже строга.

Зазвичай прикладні програми, що працюють з файлами, розпізнають тип файлу по його імені відповідно до загальноприйнятих угод. Наприклад, файли з розширеннями .c, .pas, .txt - ASCII-файлы, файли з розширеннями .exe - здійснимі, файли з розширеннями .obj, .zip - бінарні і так далі