Прерывания BIOS, уровни полномочий и подкачка страниц

Я узнавал о Intel 8086-80486 CPUs и их взаимодействиях с аппаратными средствами. Но я все еще не понимаю это вполне хорошо. Помогите мне заполнить пустые пятна.

Во-первых, я знаю, что ЦП связывается с аппаратными средствами с помощью прерываний BIOS. Но, что действительно происходит в ПК, когда я называю некоторую инструкцию INT? Я знаю, что согласно таблице прерываний некоторые инструкции начинают выполняться, но как путем выполнения некоторых инструкций BIOS может распознать то, что я хочу сделать? Поскольку насколько я знаю, ЦП не имеет никакого дополнительного канала передачи с BIOS, он может только адресовать память и получить данные. Таким образом, как я могу дать BIOS команду делать что-то, когда я могу только обратиться к RAM?

Следующая вещь, которую я не понимаю, об уровнях полномочий. Я знаю о кольцевой модели и правах доступа, но как ЦП знает, какой уровень полномочий выполнил инструкцию? Я думаю, что эти полномочия применяются только, когда инструкция пытается обратиться к памяти, но как приложение получает свой уровень полномочий? Я подразумеваю, что знаю его уровень 3, но как он установлен?

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

0
задан 07.04.2010, 11:15

1 ответ

Существует 2 режима: реальный и защищенный. В реальном режиме можно обратиться только к 1 мебибайт памяти. Прерывания BIOS доступны только в реальном режиме. Адреса A0000 - FFFFF отображаются: A0000 - BFFFF является видеопамятью, F0000 - FFFFF является ROM BIOS, где код процедур обработки прерывания BIOS расположен. В реальном режиме нет никаких уровней полномочий. При выполнении "интервала n" инструкция это происходит: флаги, cs, IP хранится на стек. Word в n*4+2 загружается в cs, и слово в n*4 загружается в IP.

Защищенный режим запускается путем установки бита 0 из регистра cr0. Затем у Вас есть эти 4 уровня полномочий. Но прежде, чем запустить его, необходимо включить A20, установить основания прерывания IRQ 0-7 и IRQ 8-15, создать IDT, GDT.

Подкачка страниц запускается путем установки бита 31 из cr0. Прежде, чем запустить его необходимо создать каталог страницы и таблицы страниц и установить cr3 для указания на каталог страницы.

2
ответ дан 24.11.2019, 06:56

Теги

Похожие вопросы