2

Запись на диск более затратная операция, чем чтение с диска. Например - запись файла записей размером 1 ГБ по сравнению с чтением всего файла.

1 ответ1

3

На уровне накопителя операция чтения сектора займет примерно то же (или немного более длительное) время, что и операция записи сектора. Для считываемого сектора команда должна поступить через интерфейс привода (например, SATA), команда декодируется, выполняется поиск, сканировать метки адресов и идентификаторы записи до тех пор, пока сектор не будет найден, считывать данные сектора в буфер, проверять сектор с помощью ECC ( код исправления ошибок), а затем, наконец, отправить данные сектора. (Обратите внимание, что существует распространенное заблуждение о том, что данные сектора могут передаваться непосредственно из считывающей головки в интерфейс. Абсолютно неверно: данные сектора всегда полностью буферизируются и всегда передаются с полной скоростью интерфейса только после того, как весь сектор будет считан и проверен.) Если упреждающее чтение выполняется и кэшируется, то последующее последовательное чтение не будет иметь задержек поиска и вращения. Для сектора записи данные команд и секторов должны поступать через интерфейс привода, декодировать команду, выполнять поиск, сканировать метки адресов и идентификаторы записи до тех пор, пока сектор не будет найден, выписать сектор с ECC и хост будет уведомлен о завершении.

На уровне ОС или файловой системы запись становится более сложной при создании нового файла. Чтение или перезапись существующего файла на диске требует только поиска того, где расположены сектора данных (или кластеры). Запись нового файла или добавление в файл потребует сначала выделения секторов / кластеров из свободного списка, назначения этих секторов / кластеров файлу (обновление записи каталога?), А затем записи данных. Обратите внимание, что таблица (ы) распределения диска, как правило, будет обновляться (т.е. записываться на диск) как можно скорее, возможно, даже до данных файла, чтобы поддерживать целостность файловой системы. Если вы когда-либо замечали / слышали, как много дисков ищет при создании файла, вы можете предположить, что заголовки перемещались между таблицей размещения и новым файлом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .