Последовательная организация файлов
Первые носители внешней памяти - карты и магнитные ленты - позволяли программисту обрабатывать данные в соответствии с их последовательным физическим расположением. Хотя современные устройства внешней памяти ориентированы на прямой доступ, для многих прикладных задач он не требуется. Более того, последовательный доступ дешевле прямого, если количество записей, к которым требуется доступ, достаточно велико. Таким образом, последовательные файлы продолжают иметь большое значение.
Хотя записи в последовательно организованном файле можно связать в список, эффективность доступа обычно требует, чтобы они были физически упорядочены по ключу Ключами, например, могут быть имя служащего или его номер в списке сотрудников, показание счетчика в счете за электричество или инвентарный номер в списке товаров. Такие документы, как платежная ведомость, счет потребителю электроэнергии и перечень имеющегося в наличии товара, обычно составляются для всех записей с одинаковой частотой. Изменение полей записей файла, таких как имя служащего, его адрес или зарплата, сумма, уплаченная потребителем, или показание счетчика, добавление или изъятие товаров, производится более или менее нерегулярно. Требования на такие изменения могут собираться в пакеты, упорядочиваться в соответствии с организацией файла и затем обрабатываться за один проход по файлу, который обычно совпадает с проходом для вывода необходимой информации. При корректировке последовательно организованного файла не всегда можно отказаться от копирования неизменной информации. Даже на других носителях может не оказаться места, чтобы поместить корректируемые записи переменной длины, если в результате корректировки их размеры увеличиваются. Копирование файла может потребоваться при добавлении к файлу новых записей или удалении старых. Оно может быть предусмотрено даже в том случае, когда не является необходимым. Если окажется, что запрос был ошибочным, то наиболее простым способом исправления ошибки может быть в осстановление файла в то состояние, в котором он был перед выполнением этого запроса. Если откорректированные записи записывать в новый файл, то старая версия файла может оставаться доступной для работы.
Чтобы предоставить доступ к последовательному файлу, управляющая программа должна уметь по имени файла, задаваемого пользователем, определить его размещение. Последнее может быть, например, номером дорожки на постоянно установленном диске. Если для файла, который должен при корректировке копироваться, используется магнитный диск, то движение головки можно уменьшить, аккуратно выделяя место под копии файла, например, используя соседние цилиндры для старой и новой версий или поделив каждый цилиндр на две группы дорожек: одну для старой версии, другую - для соответствующей части новой.
Примером последовательного доступа является чтение программы в оперативную память. В одной системе предусмотрен даже специальный вид организации - секционные файлы, предназначенные главным образом для хранения программ. Каждый из них, по - существу, является группой последовательных файлов, собранных вместе под одним именем.