logo
СПЗ_лекції

4.Типи файлів.

Багато операційних систем підтримують різні типи файлів. Наприклад, в системах UNIX і Windows проводиться різниця між регулярними (звичайними) файлами і каталогами. В системі UNIX також розрізняються символьні і блочні спеціальні файли. До регулярних файлів відносяться всі файли, що містять інформацію користувача. Каталоги – це системні файли, які забезпечують підтримку структури файлової системи. Символьні спеціальні файли мають відношення до введення-виведення і використовуються для моделювання послідовних пристроїв введення-виведення (термінали, принтери, мережі). Блочні спеціальні файли використовуються для моделювання дисків.

Інші файли називаються двійковими, тобто вони не є ASCII-файлами. В них є деяка внутрішня структура, яка відома програмі, що їх використовує.

На рис. 9.1(а) показано виконуваний двійковий файл однієї з версій системи UNIX.

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

Файл складається з пяти розділів: заголовку, тексту, даних, релокаційних бітів і таблиці символів. Заголовок розпочинається з “магічного числа”, ідентифікуючого файл як виконуваний. Далі в заголовку розміщуються розміри різних частин файлу, адреса початку виконання файлу і деякі біти прапорів. За заголовком знаходиться текст програми і дані. Вони завантажуються в оперативну память і налагоджуються на роботу за адресою завантаження при допомозі бітів релокації. Таблиця символів використовується для відлагодження.