Конкретные детали дисковой операции ввода-вывода зависят от компьютерной системы, операционной системы, природы канала ввода-вывода и аппаратного обеспечения контроллера диска. Обобщенная временная диаграмма передачи данных дисковым устройством ввода-вывода представлена на рис. 11.7.
При работе диска его скорость вращения постоянна. Для того чтобы выполнить чтение или запись, головка должна находиться над искомой дорожкой, а кроме того — над началом искомого сектора на этой дорожке. Процедура выбора дорожки включает в себя перемещение головки (в системе с подвижными головками) или электронный выбор нужной головки (в системе с неподвижными головками). В системе с подвижными головками на позиционирование головки над дорожкой затрачивается время, известное как время поиска. В любом случае после выбора дорожки контроллер диска ожидает момент, когда начало искомого сектора достигнет головки. Время, необходимое для достижения головки началом сектора, известно как время задержки из-за вращения, или время ожидания вращения. Сумма времен поиска (если таковой выполняется) и времени задержки из-за вращения составляет время доступа — время, которое требуется для позиционирования для чтения или записи. Как только головка попадает в искомую позицию, выполняется операция чтения или записи, осуществляемая во время движения сектора под головкой, — это и есть непосредственная передача данных при выполнении операции ввода-вывода.
Рис. 11.7. Временная диаграмма работы диска
Кроме этого, существует ряд других задержек, обычно присутствующих в дисковой операции ввода-вывода. Когда процесс выполняет запрос на ввод-вывод, последний должен быть размещен в очереди устройства. После этого выполняется назначение устройства процессу. Если устройство использует каналы ввода-вывода совместно с другими дисками, необходимо дополнительное ожидание доступности канала. И только после этого осуществляется непосредственный доступ к диску, рассмотренный ранее.
В некоторых мейнфреймах используется методика, известная как вращательное позиционное считывание (rotational positional sensing — RPS), работающая следующим образом. При выполнении команды поиска происходит освобождение канала для обработки других операций ввода-вывода. После выполнения поиска устройство определяет момент, когда данные окажутся под головкой. Как только этот сектор подходит к головке, устройство пытается восстановить связь с узлом. Если либо контроллер, либо канал заняты другой операцией ввода-вывода, то попытка восстановления связи оказывается неуспешной и диск совершает полный оборот перед повторной попыткой. Это дополнительный элемент, который следует добавить к полному времени ожидания (рис. 11.7).