Организация данныхна устройствах с прямым и последовательным доступом

 

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

1. Последовательная организация. Записи в файле располагаются в физическом порядке. Файл можно рассматривать как одномерный массив. Каждая логическая запись фиксированной или переменной длины характеризуется своим порядковым номером, доступ к которым последовательный: после обработки (чтения или записи) некоторой i-й по порядку записи становится доступной для обработки только запись с номером (i+1). Файлы последовательного доступа используются для решения задач, требующих поочередной обработки записей файла при отсутствии жестких ограничений на время решения

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