Організація файлів

 

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

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

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

Модель файлу, відповідно до якої вміст файлу представляється неструктурованою послідовністю (потоком) байт, стала популярною разом з ОС UNIX, а тепер вона широко використовується в більшості сучасних ОС (MS-DOS, Windows2000/NT, NetWare).

Неструктурована модель файлу дозволяє легко організувати поділ файлу між кількома додатками: різні програми можуть по-своєму структурувати і інтерпретувати дані, що містяться в файлі.

Інша модель файлів, яка застосовувалася в ОС OS/360, DEC RSX, VMS, а в даний час використовується досить рідко - це структурований файл. В цьому випадку підтримку структури файлу доручається ОС. ФС бачить файл як упорядковану послідовність логічних записів. Додаток може звертатися до ФС з запитами на введення-виведення на рівні записів, наприклад, «вважати запис 25 з файлу FILE.DOC». ФС повинна володіти інформацією про структуру файлу, достатньої для того, щоб виділити будь-який запис. ФС надає додатком доступ до запису, а вся подальша обробка даних, що міститься в цьому записі, виконується додатком. Зауваження. Розвитком цього підходу стали СУБД.