Устройство винчестера.
Винчестер - это устройство, имеющее внутренний контроллер чтения, записи и обработки информации. Таким образом, компьютеру нет необходимости раскручивать диск и выполнять подобные процедуры - их берет на себя контроллер. Собственно программирование жесткого диска - это передача ему команд, а также передача/прием от него информации.
Винчестер имеет следующую логическую внутреннюю структуру: на нем существует некоторое количество цилиндров. В каждом цилиндре имеется определенное количество головок. И каждая головка имеет некое количество секторов. Если перемножить все эти значения, то получим общее количество секторов (по 512 байт) на жестком диске. Разделив это число на 2, мы узнаем его объем.
Само собой разумеется, что логическая структура винчестера не имеет ничего общего с его реальными физическими параметрами. То есть 16 головок вовсе не значит, что их в винчестере действительно 16. Обычно физических головок 3-4, а количество секторов на каждой дорожке варьируется, как и на компакт-диске. Тем не менее, общаться с жестким диском необходимо через его логические параметры, за исключением случая, когда адресация задается в режиме LBA (Logical Block Addressing), то есть винчестеру вместо цилиндра/головки/сектора сразу указывается относительный адрес. Но режим LBA здесь мною описан не будет, поскольку я не знаю точно регистры, куда этот 28-разрядный адрес записывается.
СЭти регистры вы можете подобрать сами. Насколько я помню, вот они: регистры цилиндра (оба), регистр секторов, регистр накопителя/головки и регистр возможностей (то же, что и регистр ошибок, только при записи).
>>
|