Как операционная система вызывает функции BIOS? - PullRequest
0 голосов
/ 25 ноября 2018

, поскольку мы знаем, что операционная система работает в защищенном режиме
, а BIOS работает в реальном режиме (16 бит).поэтому, когда прерывание вызывается из
операционной системы или прикладной программы, процессор переключает режим вперед и назад каждый раз?

1 Ответ

0 голосов
/ 25 ноября 2018

в общем;аппаратное обеспечение способно выполнять множество задач одновременно (воспроизведение звуков при создании трехмерной графики, при отправке данных в сеть, при передаче данных на несколько дисков, при ожидании ввода данных пользователем, когда все процессоры заняты фактической обработкой);и функции BIOS не позволяют одновременно выполнять несколько действий (например, потратить 100% процессорного времени на ожидание передачи данных контроллером жесткого диска, пока процессор ничего не делает и в то время как ничто другое не может использовать любую другую службу BIOS длячто угодно).

Только по этой причине службы BIOS не используются и не используются ни одной современной ОС (кроме кратковременных при загрузке).

Конечно, это не единственная причина - нет приоритетов ввода-выводаНет поддержки горячего подключения любого типа, нет поддержки управления питанием, нет поддержки управления системой (например, https://en.wikipedia.org/wiki/S.M.A.R.T.), нет поддержки графического процессора, нет поддержки какой-либо звуковой карты (кроме звукового сигнала динамика ПК)."), нет поддержки сетей (за исключением PXE), нет поддержки IIC APIC и т. д. По иронии судьбы, из всех проблем" службы BIOS предназначены для реального режима "- это наименее важная проблема, потому что это единственная проблема,ОС может обойтись.

Вместо этого у каждой ОС есть встроенные драйверы, у которых нет этих ограничений.

Примечание: отчасти поэтому современные операционные системы относительно легко поддерживают UEFI (где вообще нет сервисов BIOS) - для большинства они заменяют загрузчик / загрузочный код и неМне нужно многое изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...