Как взаимодействовать с дисками или CD-ROM в защищенном режиме? - PullRequest
1 голос
/ 28 апреля 2011

Я сейчас пытаюсь написать операционную систему для хобби.И у меня эта проблема.

В реальном режиме я могу полагаться на BIOS для работы с дисками и CD-ROMами (иногда используется расширение LBA BIOS).Но как только я вхожу в защищенный режим, я больше не могу использовать прерывание BIOS.Итак, я должен написать свой собственный драйвер устройства?Есть ли лучшая практика?

Спасибо!

1 Ответ

2 голосов
/ 28 апреля 2011

Существует несколько подходов:

  • виртуализация интерфейса BIOS в защищенном режиме
  • создание собственного драйвера защищенного режима
  • не поддерживает диски

Конечно, последний не очень хорош для систем общего назначения, но он имеет свои применения, как и в военном продукте, над которым я сейчас работаю - им не нужны сменные носители по соображениям безопасности.

Написание собственного драйвера имеет несколько преимуществ:

  • Интерфейс BIOS является реализацией "ожидания ожидания".Каждый доступ к диску BIOS останавливает все процессы в вашей операционной системе.
  • Кроме того, дисковый ввод-вывод является одним из нескольких уровней абстракции, многие из которых намного сложнее реализовать файловую систему.
  • Вам не нужно начинать с нуля.Начните с драйверов дисков Linux.См это .
...