Доступом называется обращение к файлу с целью чтения или записи в него информации. Файловая система поддерживает два типа доступа к файлам:
Ø последовательный метод доступа;
Ø прямой (непосредственный) метод доступа.
При последовательном доступе записи из файла считываются подряд, строго в порядке их расположения в файле. Поэтому, чтобы обратиться (получить доступ) к определенной записи, необходимо читать все предыдущие. При прямом доступе обеспечивается непосредственное обращение к записи по ее номеру в файле. Механизм доступа к файлу и его записям при программировании также имеет два варианта:
· доступ к файлу с использованием специальной таблицы — управляющего блока файла;
· доступ к файлу по идентификатору.
Управляющий блок файла (FCB — File Control Block) содержит следующую информацию:
· номер (букву) дисковода, где установлен диск с файлом;
· имя файла и его расширение;
· текущий номер блока в файле;
· длину записи в байтах;
· размер файла в байтах;
· дату последней модификации файла;
· относительный номер записи (текущий номер);
· номер записи и т. д.
Некоторые из вышеназванных параметров требуют дополнительного пояснения. Файл состоит из блоков, объединяющих по 128 записей в каждом. Относительный номер записи — это порядковый номер записи в блоке. Текущий номер блока и относительный номер записи используются при последовательном доступе к записям файла. Номер записи — это параметр, объединяющий номер блока и относительный номер записи в блоке, он используется при произвольном доступе к записям файла. Важный параметр — длина записи (точнее, длина логической, кажущейся записи, которая может отличаться от длины физической записи из-за наличия различных служебных элементов в структуре записи и файла). Длина записи используется при определении числа байтов, пересылаемых при обмене информацией с ОЗУ и при определении положения записи внутри блока. Блок FCB позволяет получать доступ к файлам только в текущем каталоге. Идентификатор файла — ASCIIZ-строка, идентифицирующая файл. ASCIIZ- (ASCII-Zero) строка содержит следующую информацию:
· номер (логическое имя) дисковода и путь к файлу (если нужно);