BASH Programming - Введение


Доступ к Диску


Перед тем, как прочитать или записать что-либо на диск, надо определить позицию с которой мы хотим начать читать или писать информацию. Позицию можно определить например путем передачи номера сектора или блока диска. Если рассматриваемый диск является SCSI диском, то номер сектора переводится в команды SCSI, а далее сам диск находит нужную позицию. Если диск имеет интерфейс IDE и использует LBA, то происходит почти то же самое. Если же диск нам достался с доисторических времен (RLL, MFM или IDE, когда не знали LBA), в этом случае диску для поиска нужной позиции требуется три значения: цилиндр, считывающая головка, сектор.

Между последовательной нумерацией и 3D нотацией(под выражением 3D нотация подразумевается поиск нужного сектора по трем параметрам c,h,s) имеется следующее соответствие: для диска с C цилиндрами, H считывающими головками и S секторами/дорожками - позиция (c,h,s) в 3D или CHS нотации соответствует позиции c*H*S + h*S + (s-1) в последовательной или LBA нотации. (Минус 1, это следствие того, что по традиции номер сектора в 3D нотации начинается с 1, а не с 0.)

Следовательно, чтобы получить доступ к очень старому не SCSI диску, надо знать его геометрию.



Содержание раздела