Изменяет ли операционная система BIOS каким-либо образом?

Я читаю книги: Как работают компьютеры: Эволюция технологий а в главе 4 автор говорит:

операционная система не работает в одиночку. Это зависит не только от
сотрудничество других программ, но также на цеплять ровно с
BIOS и программные драйверы. BIOS-или основная система Вход-выхода
код, содержащийся на фишки в ПК. Он действует как посредник
среди оборудования, процессора и операционных систем. Драйвер устройства
похожи на специализированный BIOS. Драйверы переводят команды из
операционная система и BIOS в инструкции для определенной части
оборудование, например принтер, сканер или DVD-дисковод. Когда некоторые
части операционной системы загружаются с диска и добавляются в
в BIOS то и дело включаются драйверы устройств, и все их выполняют
обычные аппаратные функции. Операционная система действительно состоит
из всех трех этих компонентов плюс десятки других запрограммированный,
общий код, и файлы данных.

важная часть здесь:

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

что добавляется в BIOS? Я не знал, что BIOS был изменен ОС? Или я неправильно это понимаю?

20
задан Koray Tugay
23.03.2023 15:38 Количество просмотров материала 2687
Распечатать страницу

1 ответ

во-первых, поймите, что x86 оборудование имеет Таблица Дескрипторов Прерываний который живет в оперативной памяти. На оригинальном процессоре 8086 это было исправлено в месте памяти 0, первое место оперативной памяти, но его можно переместить в более поздние и современные процессоры. BIOS первоначально устанавливает это в ячейку памяти 0.

IDT представляет собой список 32-разрядных указателей на подпрограммы в другом месте памяти (которые могут быть ROM или RAM), пронумерованных от 0x00 до 0xFF.

в эти дни, первые 32 из них зарезервированы для использования самого процессора. Например, общая ошибка защиты вызовет процедуру, на которую указывает вектор 0x0D.

любая подпрограмма, указанная в одном из этих векторов, может быть "вызвана" инструкцией программного прерывания INT. Так INT 0x0D вызовет ту же процедуру, что и при вызове общей ошибки защиты.

BIOS DOS-эпохи использует многие из них, чтобы представить стандартный интерфейс для вызовы BIOS. Некоторые из те, BIOS традиционно использует перекрывается с тем, что использует процессор.

сам DOS также использовал одно прерывание,0x21, чтобы разрешить программам стандартный способ вызова функции DOS.

теперь хорошо известное прерывание BIOS 0x13,что позволяет читать или записывать сектор на дисковое устройство.

во время процесса загрузки область памяти ПЗУ сканируется и вызывается код инициализации любого ПЗУ. ISA и PCI устройства могут иметь ПЗУ на них, которые появляются, и которые будут вызываться во время загрузки. ПЗУ устройства могут изменять векторы, расширяя или заменяя функциональность BIOS. RAID-карты, предназначенные для работы с DOS и 9x версиями Windows, могут это сделать.

процедура BIOS инициализирует видеодисплей и позволяет установить режим отображения. Очень часто видеокарты имеют ПЗУ, которое переопределяет это прерывание, чтобы графическая карта могла использоваться во время процесса загрузки BIOS (и DOS, если вы очень этого хотели).

ничто не мешает после всего, что инициализирует изменять эти векторы, чтобы augument или заменить функцию в BIOS. Путь назад, когда некоторые BIOS не могли получить доступ к секторам жесткого диска через барьер 8 Гбайт, некоторые поставщики предоставили загрузочный диск, который предоставил утилиту, подключенную к Int 0x13, минуя ограничение BIOS.

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

3
отвечен LawrenceC 2023-03-24 23:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх