Скотт Мюлле- Модернизация и ремонт ПК стр.71

Замечание

Интересно то, что причиной подобной проблемы является вовсе не BIOS, а код файловой системы DOS/Win9x/Me, в котором количество секторов, приходящихся на каждую дорожку, сохраняется в виде 8-разрядного числа. Проблемы возникают при считывании числа 256, представляющего собой в двоичной записи выражение 100000000b, для хранения которого требуется 9-разрядное поле. Число 255 (или 11111111b в двоичной системе) является наибольшим значением, которое подходит 8-разрядному двоичному регистру и определяет максимальное число головок, поддерживаемое той или иной операционной системой.

Для решения этой проблемы CHS-трансляция со сдвигом разряда была переработана и дополнена правилом, согласно которому при наличии 16 физических головок и более чем 8 192 цилиндров (что привело бы к трансляции 256 головок) принимается количество головок P-CHS, равное 15 (вместо 16). Во избежание ошибок при вычислении число цилиндров P-CHS умножается на выражение 16/15. После этого выполняется трансляция скорректированного количества цилиндров и головок. Результаты вычислений показаны в следующем примере.

 

Физические

параметры

CHS

Логические параметры CHS

Логические параметры CHS со сдвигом разряда

Цилиндров Головок

Секторов на дорожке

12 000

Итого секторов

12 096 000

12 096 000

12 096 000

Итого байт Мегабайт

6 193 152 000

6 193 152 000

6 193 152 000

6 193

6 193

6 193

Mebibytes (MiB)

5 906

5 906

5 906

Гигабайт

6,19

6,19

6,19

Gibibytes (GiB)

5,77

5,77

5,77

Как показано в этом примере, жесткий диск, содержащий 12 000 цилиндров и 16 головок, с помощью стандартной схемы СНБ со сдвигом разряда преобразуется в логический диск с 750 цилиндрами и 256 головками. В данном случае в соответствии с правилом переработанной схемы СНБ со сдвигом разряда выполняется двойная трансляция, которая состоит в изменении числа физических головок (принимается число головок, равное 15, а не 16) и последующем умножении числа цилиндров (12 000) на выражение 16/15, в результате чего получается

количество цилиндров, равное 12 800. После этого новое число цилиндров, полученное при CHS-трансляции со сдвигом разряда, делится на 16, в результате чего получается 800 логических цилиндров. По аналогии с этим, при умножении количества головок (15) на число 16 получаем 240 логических головок. Вычисленное количество логических цилиндров, превышающее число 1 024, уменьшается до 1 024. В этом случае 12 000 физических цилиндров и 16 головок транслируются в 800 логических цилиндров и 240 головок (вместо 750 цилиндров и 256 головок), что позволяет не обращать внимания на ошибки, существующие в операционных системах DOS/Win9x/Me.

До сих пор все приводимые примеры были достаточно понятны, т.е. вычисленные логические параметры L-CHS и физические параметры P-CHS соответствовали одной и той же емкости жесткого диска. К сожалению, этот метод подходит далеко не всегда. Ниже приведен довольно типичный пример, взятый из реальной жизни. Накопители емкостью 8,4 Гбайт, созданные в компаниях Maxtor, Quantum, Seagate и др., содержат 16 383 физических цилиндра и 16 головок CHS. При трансляции будут получены следующие параметры этих дисков.


⇐ Предыдущая страница| |Следующая страница ⇒