Компьютерное железо

Как с жесткого диска считывается информация?

"Как с жесткого диска считывается информация? "

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

"Интересует в данном случае драйвер жесткого диска. Поэтому не надо ...писать о том, что там крутятся диски и с них информацию считывает головка. ..не могу понять как это устроено механически"

Так что все-таки Вас интересует то? Как работает "драйвер жесткого диска" - посылает набор команд соответствующего интерфейса контроллера (pata/sata/scsi) с lba-адресом нужного сектора. На очень старых дисках использовался формат chs (цилиндр-головка-сектора) и формат адреса соответствовал геометрии диска - т. е. состоял из такого-то цилиндра, такой-то головки и такого-то сектора. Как только объем диска стал больше 500 Мб (вроде), контроллер диска стал скрывать истинную геометрию/механику диска. И на более новых дисках стали придумывать всякие извращения для обратной совместимости со старыми программами. Суть извращений была в использовании той-же адресации chs, только с добавлением несуществующих на самом деле головок с уменьшением реального числа цилиндров. Дальше на это дело забили и появился lba - просто последовательность номеров с нуля и до ...(версия интерфейса/lba). Что касается сугубо того, что происходит внутри механики современного диска - то можно ограничиться общим представлением о нескольких блинах, раскручиваемых двигателем, и считывающих головках на блинами. Пытаться разобраться в более подробных обстоятельствах механизма современных дисков - в вашем случае бесполезная затея т. к. только разработчик знает как все устроено внутри конкретной серии дисков (и эту инфу особо не распространяет, а если распространяет - Вам потребуется гораздо больше знаний, чем есть сейчас, дабы что-то понять). Еще раз повторюсь - что происходит за контроллером самого диска - темная тайна, контроллер подсовывает некую легенду о якобы одинаковых по размеру физических секторах, о геометрии в формате chs и т. д. Хотя на самом деле все это далеко не так внутри этого диска.

"Поэтому не надо мне скидывать ссылки... "

"Не хочешь, чтобы тебе открывали Америку - не будь Колумбом".
Дастан
Дастан
32 822
Лучший ответ
Вы можете синхронизировать обращение к диску по положению ротора диска -- прошла метка, пошло обращение. Считали дорожку в буфер -- и разбирайте её на кластеры и байты с битами. Не вы, конечно, контроллер.
Николай Лежнин
Николай Лежнин
74 202
Принцип такой-же как и на древних дискетках. Все координаты данных записаны на нулевом треке. От того и вредна сильная фрагментация, когда головке приходится по тысячи раз бегать от фрагментированного куска файла к нулевому треку и обратно на содержимое, с прописанными координатами, соответственно падает быстродействие, ибо вся эта беготня занимает кучу времени, нежели считывание файла одним целым куском. Этим всем занимается контроллер диска.
Asif Murad
Asif Murad
90 944
Головками
Есть карта диска.
Она находится в служебке.
Там прописано - где, как, и сколько.
Улица ленина, дом 3, первый подъезд, пятый этаж, 20 квартира 1 кг сразу за дверью - так понятно?
механически? -в двух словах? =
электромагнит+контроллеры скорости и позиционирования
двигают голову в нужное место
ИД
Иван Дупак
35 427
Это тебе на лекцию в академию, здесь запаришся по клаве стучать.