Я просто хочу знать, и если да, то как он различает, какие драйверы должны быть встроены в операционную систему, а какие нет, даже немного о связи между процессором и периферийными устройствами.
Позвольте мне объяснить - ОС должна иметь драйверы (возможно, их даже не называют драйверами, потому что они настолько элементарны), чтобы выполнять самые простые вещи, такие как отображение чего-либо (но я считаю, что для этого используются процедуры BIOS) и доступ к клавиатуре, жесткому диску.
Но как эти устройства связаны? Давайте возьмем HDD для примера. Он интегрирован в систему Intel через южный мост. Но как ОС может получить к нему доступ? Потому что с процессором вы можете выполнять только операции ввода-вывода порта и ввода-вывода с отображением в памяти. Я полагаю, что благодаря этому он связывается с Северным мостом, который имеет свой внутренний путь для дальнейшего контакта с Южным мостом и другими периферийными устройствами.
И чтобы сделать это еще сложнее, несколько лет назад были даже отдельные контроллеры для клавиатуры, прерываний и т.д. Так как же тогда это работало? Были ли все эти контроллеры подключены к шине portIO ЦПУ и отвечали только по их адресу, или они были подключены к Северному мосту, который отфильтровывал запросы?
У меня есть еще один пример по этому вопросу. Допустим, я что-то набираю на клавиатуре. Теперь контроллер клавиатуры отправляет прерывания контроллеру прерываний, который отправляет прерывания в ЦПУ. Затем процессор должен прочитать, какое прерывание было запущено с контроллера прерываний с помощью PortIO. Если он читает, например, IRQ 5 и обнаруживает, что он связан с клавиатурой, то он должен связаться с контроллером клавиатуры для получения кода клавиши. Я прав?
Пожалуйста, помогите мне разобраться в этом немного. Благодарю.