@ward_ua

Как читать данные с диска в защищенном режиме x86?

В ходе изучения вопроса разработки собственной операционной системы столкнулся с проблемой отсутствия стандартных прерываний BIOS после перехода в защищенный режим. И, как последствие, невозможность использовать int 13h для чтения данных с диска.
Мой небольшой опыт программирования на "голом железе" демонстрирует, что практически любое взаимодействие CPU с аппаратным обеспечением представляет собой обычный обмен данными с помощью портов ввода/вывода. Можно ли, используя in/out-команды языка ассемблера x86, осуществить чтение (и желательно запись) данных с диска (на диск)? Где можно найти спецификацию взаимодействия с современными носителями информации, и сильно ли отличается (если вообще отличается) чтение данных с floppy-диска и flash-носителя? Заранее спасибо за ответы.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
BIOS потихоньку уходит в небытие, и надо уже читать UEFI

ну а для своей OS из защищенного режима надо делать драйвера для стандартных накопителей (штук 10) - базовый драйвер для стандартов ATA/ATAPI, AHCI, NVMe; потом еще OHCI, UHCI, eHCI и xHCI для USB контроллеров и наконец USB mass storage).
Также еще не забывать что сейчас многие любят в рейды, и все еще живы всякие SCSI, FDD, ленточные накопители и CD/DVD/BR...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы