#operating-system
Вопрос:
Рассмотрим дисковый блок A размером 512 байт. Запись 100 байт данных в блок A занимает примерно столько же времени, сколько чтение 100 байт данных из блока A.
Является ли приведенное выше утверждение истинным или ложным?
Заранее спасибо, Сухас
Ответ №1:
Является ли приведенное выше утверждение истинным или ложным?
Да, утверждение является либо истинным, либо ложным, в зависимости от деталей оборудования и состояния диска.
Обратите внимание, что современные («вращающиеся металлические» и SSD) дисководы имеют сложную/сложную логику управления (часто включающую небольшой процессор и собственное встроенное ПО); и имеют встроенные буферы/кэши; и это делает вероятным, что утверждение ложно (делает вероятным, что чтение сектора занимает разное время для записи сектора). Конкретные случаи включают:
- большинство «вращающихся металлических» жестких дисков, если считываемые данные уже были кэшированы внутри диска
- все, где размер физического сектора больше, чем размер логического сектора (например, где диск должен прочитать физический сектор размером 4 КБ, затем изменить 512-байтовый логический сектор внутри него, а затем записать физический сектор размером 4 КБ).
- все, что имеет какой-либо уровень износа (SSD), где «запись» больше похожа на выделение свободного блока и запись в него данных (затем проверка, был ли выделен предыдущий блок или свободен, и освобождение его при необходимости).
- все, что позволяет буферизировать запись и выполнять ее позже (и позволяет выполнять запись одного сектора очень быстро по сравнению с чтением «еще не кэшированного» сектора)
- все, что имеет проверку целостности на запись (например, сохраните данные для записи во внутреннем кэше, затем запишите данные, затем прочитайте только что записанные данные и сравните их с данными в кэше, чтобы убедиться, что они были записаны правильно; затем, возможно, отметьте этот сектор как неисправный, найдите запасной сектор для замены и повторите запись).
- все, что повторяет неудачные попытки чтения (например, прочитайте блок, проверьте его контрольную сумму, если контрольная сумма не удалась, попробуйте прочитать ее снова; и, возможно, перепишите хорошую копию, если последующая попытка чтения увенчается успехом).