Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Шлюз прерывания




Шлюз прерывания отличается только полем типа = 1110.

При возникновении прерывания, которому соответствует шлюз прерывания, микропроцессор выполняет те же действия, что и для шлю­за ловушки, но с одним важным отличием:

при передаче управления обработчику прерывания через шлюз прерывания, микропроцессор сбрасыва­ет флаг прерывания в регистре eflags в 0, запрещая тем самым обработку аппа­ратных прерываний. Этот факт имеет важное значение для программирования обработчиков аппаратных и программных прерываний.

Совет. Если у вас есть сомнение в том, какой из шлюзов - прерывания или ловушки - использовать — применяйте шлюз пре­рывания.

Шлюз задачи

Шлюз задачи отличается

1) поле типа = 1110

2) поле indicatorвместо селектора сегмента кода указывает на дескриптор сегмента состояния задачи (TSS).

Осуществляется переход на новую задачу, которая будет осуществлять обработку прерывания. Задача является частью механизма многозадачности. Т.е. производится переключение задач. (Текущее состояние прерываемой задачи аппаратно сохраняется в ее собственномTSS.)

Для каждой задачи определяется сегмент состояния задачи TSS (Task Segment Status) со строго определенной структурой. В этом сегменте есть поля для со­хранения всех регистров общего назначения, некоторых системных регистров и другой информации. Всю совокупность этой информации называют контек­стом задачи. Этот сегмент описывается, подобно другим сегментам, дескрипто­ром в таблице GDT или LDT.

Если с помощью некоторого селектора обратить­ся к такому дескриптору, то микропроцессор осуществит переключение на соответствующую задачу. Подобные переключения могут, в частности, осущест­вляться операционной системой, поддерживающей многозадачность, в соответ­ствии с некоторой дисциплиной разделения времени между задачами. Пере­ключение задач может производиться обычными командами межсегментной передачи управления либо по возникновению прерывания при переходе к об­работчику прерывания через шлюз задачи.

 

РЕЗЮМЕ

Шлюзы ло­вушки и прерывания с помощью полей indicator и offset определяют адрес, по которому находится точка входа в программу обработки прерывания.

Шлюз задачи предназначен для реализации принципиально иного перехода к обра­ботчику прерываний — с использованием механизма переключения задач.

 

!

Обратим внимание, разработчики современных ОС редко используют шлюз задачи, т.к. переключение на другую задачу требует существенно больших затрат времени, а полное сохранение всех рабочих регистров часто не требуется. Таким образом, используются чаще всего шлюзы прерываний.

 

Страничное преобразование


Следующее после сегментации преобразование адресов: линейный → физический — имеет множество вариаций в своём алгоритме, в зависимости от того, в каком режиме (32-битном, PAE или 64-битном) находится процессор.


Однако общая идея всегда одна и та же: линейный адрес разбивается на несколько частей, каждая из которых служит индексом в одной из системных таблиц, хранящихся в памяти. Записи в таблицах — это адреса начала таблицы следующего уровня или, для последнего уровня — искомая информация о физическом адресе страницы в памяти и её свойствах. Самые младшие биты не преобразуются, а используются для адресации внутри найденной страницы. Например, для режима PAE с размером страниц 4 кбайт преобразование выглядит так:

В разных режимах процессора различается число и ёмкость этих таблиц. Преобразование может завершиться неудачей, если очередная таблица не содержит валидных данных, или права доступа, хранящиеся в последней из них, запрещают доступ к странице; например, при записи в регионы, помеченные как «только для чтения», или попытке чтения памяти ядра из непривилегированного процесса.

20. Переключение задач в защищенном режиме работы, инструкции.


Поделиться:

Дата добавления: 2015-02-10; просмотров: 211; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты