42
по служебным данным заголовка
15
сектора, считываемым до начала пе-
редачи прикладных данных;
3. Пересылка данных, расположенных в области кластера, в бу-
фер, который физически может быть как частью устройства, так и обла-
стью оперативной памяти;
4. Завершение операции (проверка корректности чтения, например
по контрольной сумме) и возврат управления ОС для обработки считан-
ных данных;
5. Выделение системой данных, относящихся к затребованным за-
писям. Причем во многих случаях в системный буфер считываются не
только данные логической записи, нужные прикладной программе, но и
соседние. Это позволяет сократить суммарные затраты времени при чте-
нии нескольких записей, исключив наиболее долгую операцию пози-
ционирования. Указание на такое блокирование может выдаваться явно
прикладной программой при открытии файла, или операционной систе-
мой, использующей собственные механизмы кэширования для оптими-
зации
16
ввода-вывода;
6. Передача в рабочую область прикладной программы данных за-
прошенной ею логической записи или указателя на соответствующую
область памяти в системном буфере.
В этой последовательности наиболее медленными операциями яв-
ляются механическое позиционирование головок и чтение данных с по-
верхности носителя (выполняемые на порядки медленнее, чем операции
пересылки). Поэтому выигрыш во времени может быть получен только в
случае выполнения ряда запросов на доступ к данным, причем экономия
может достигаться следующими путями:
1. Суммарным сокращением перемещения головок за счет органи-
зации такой последовательности обращения к записям (или такого по-
рядка их физического размещения), когда перемещение от текущего по-
ложения к следующему будет минимальным;
2. Формированием логических записей таким образом, чтобы их
формат (длина данных) соответствовала физическому формату хране-
ния. В случае кратности длин, т.е. если длина логической записи будет
кратной длине кластера или в кластере будет размещаться целое число
записей, будет исключена передача данных, не запрошенных текущей
операцией.
15
Такой подход форматирования (разметки) пространства внешней памяти используется и в случае
таких устройств «истинно» последовательного доступа, как магнитные ленты, для обеспечения уско-
ренного «прямого» доступа к сектору по его номеру – прямому адресу (еще с тех времен, когда не
были созданы дисковые накопители, например, ЭВМ 2-го поколения Минск-22). При этом, поскольку
данные секторов, предшествующих нужному, передавать не надо, позиционирование будет выпол-
няться с максимальной скоростью перемещения ленты.
16
Автоматическое использование системы кэширования и упреждающего чтения (не учитывающее
особенности порядка обращения к данным, обусловленного алгоритмом обработки) может привести к
обратному результату, например в случае обращения к логическим записям в произвольной последо-
вательности (случайной) не соответствующей физическому следованию записей.