В общем, я только начал изучать xv6 и то, как он работает. На данный момент я особенно интересуюсь прерываниями и ide.c.
Я знаю, что исходный код xv6 включает рабочий драйвер IDE в ide.c. Кроме того, этот IDE-диск представляет собой простой интерфейс к дисковой системе, состоящий из четырех типов регистров: контрольный, командный блок, статус и ошибка. Эти регистры доступны при чтении или записи по определенным адресам ввода-вывода с использованием инструкций ввода-вывода.
Что я изо всех сил пытаюсь понять, так это то, как операционная система xv6 использует прерывания для планирования запросов ввода-вывода на диск?