Как процессоры 8086 могут получить доступ к жестким дискам объемом более 1 МБ?

Как процессоры 8086 (или реальный режим на более поздних процессорах) могут получить доступ к жестким дискам размером более 1 МБ, если они могут получить доступ только к 1 МБ (без расширенной памяти) ОЗУ?


person Alpha_Pi    schedule 05.01.2016    source источник
comment
Потому что жесткие диски не отображают память. Им не нужно адресное пространство.   -  person Dark Falcon    schedule 05.01.2016
comment
Взгляните на API и прерывания, используемые для доступа к дискам, и вы увидите, что они адресуются на уровне сектора или головки/цилиндра.   -  person Marged    schedule 05.01.2016


Ответы (1)


Доступ не линейный (побайтовый), а посекторный. Размер сектора может быть, например, 512 байт. Компьютер считывает сектора в память по мере необходимости.

person Cecilio Pardo    schedule 05.01.2016
comment
А как же тогда флешки? Они тоже разделены на сектора? Как ЦП будет сообщать жестким дискам, к какой части он хочет получить доступ? - person Alpha_Pi; 06.01.2016
comment
Это не связано с адресуемой памятью. Даже процессор 8086 может отправить устройству 32- или 64-битное смещение, будь то номер сектора или линейный индекс. - person Cecilio Pardo; 06.01.2016