Файл прямого доступу

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

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

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

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

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