Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.docx
Скачиваний:
21
Добавлен:
12.02.2016
Размер:
1.06 Mб
Скачать

Внутрішня структура файлів

Файли можуть бути структуровані кількома різними способами. Три найбільш ймовірні структури показані на рис. 4.1. Файл на рис. 4.1,а являє собою безсистемну послідовність байтів. По суті, операційній системі все одно, що міститься в цьому файлі. Вона бачить тільки байти. Якесь конкретне значення цим байтам надається програмами на рівні користувача. Такий підхід використовується як в UNIX, так і в Windows.

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

Перший крок на шляху до якоїсь структури показаний на рис. 4.1, б. У даній моделі файл являє собою послідовність записів фіксованої довжини, кожна з яких має свою власну внутрішню структуру. Основна ідея файлу як послідовності записів полягає в тому, що операція читання повертає один із записів, а операція запису перезаписує або доповнює один із записів. В якості історичного відступу зазначимо, що кілька десятиліть тому, коли в комп'ютерному світі панували перфокарти, що мали 80 стовпців, багато операційних систем універсальних машин використовували файли, що складаються з 80-символьних записів, по суті, образи перфокарт. Ці операційні системи підтримували також файли, що складаються з 132-символьних записів, що призначалися для стрічкових принтерів (які в той час були великими ланцюговими друкуючими пристроями, що мали 132 стовпців). Програми на вході читали блоки по 80 символів, а на виході записували блоки по 132 символів, навіть якщо останні 52 символи були пробілами. Жодна сучасна універсальна система більше не використовує цю модель в якості своєї первинної файлової системи, але, повертаючись до часів перфокарт з 80-стовпцями і 132-символьного принтерного паперу, слід зазначити, що це була дуже поширена модель для універсальних комп'ютерів.

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

Тут основною операцією є не отримання «наступного» запису, хоча таку операцію провести можливо, а отримання запису з вказаним ключем. Для файлу зоопарк на рис. 4.1, в, можна, наприклад, запросити систему видати запис з ключем поні, анітрохи не турбуючись про його конкретну позиція у файлі. Більше того, до файлу можуть бути додані нові записи, і рішення про те, куди їх помістити, прийматиме не користувач, а операційна система. Абсолютно ясно, що цей тип файлу відрізняється від безсистемних бітових потоків, використовуваних в UNIX і Windows, широке застосування він знайшов на великих універсальних комп'ютерах, які досі використовуються при обробці комерційних даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]