- •Адресация памяти в защищенном режиме.
- •Привилегии и защита памяти защищенного режима
- •Сегментно-страничная адресация памяти
- •Вызов процедур и задач
- •Прямой вызов подпроцедур
- •Вызов задач (многозадачность)
- •Обработка прерываний в защищенном режиме
- •Кэширование в м/п Intel
- •История ос
- •Функции ос
- •Классификация ос
- •Мультипрограммирование и мультипроцессирование
- •Структуры ос
- •Средство межпроцессорных взаимодействий ipc
- •Очередь
- •Средства синхронизации
- •Планирование и диспетчеризация потоков(процессов)
- •Алгоритмы планирования для систем разделения:
- •Приоритетное планирование:
- •3. Системы реального времени.
- •Алгоритмы замещения страниц
- •Учет свободного и занятого пространства памяти.
- •Системы управления ввода-вывода.
- •Отказоустойчивые системы хранения
Обработка прерываний в защищенном режиме
Также как и в реальном режиме, в защищенном режиме м/п обрабатывает прерывания, которые подразделяются на 3 класса:
внешние (аппаратные), которые вырабатываются аппаратурой или внешними устройствами. Часть аппаратных прерываний может временно запрещаться или маскироваться. Для этого используется флаг IF в регистре флагов (1 – прерывания разрешены, 0 – запрещены). Изменяются флаги команд: STI, CLI.
Исключающие. Вырабатываются самим м/п при возникновении особых ситуаций в выполняемой программе (деление на 0, переполнение). В защищенном режиме добавляется отсутствующая страница в памяти и т д. Флаг IF на исключения не работает.
Программные. Вырабатываются с помощью команд Int n (n – номер прерывания).эВсе прерывания и исключения пронумерованы от 0 до 31. Каждому обрабатываемому в системе прерыванию назначается свой обработчик прерывания. ОС вызывает этот обработчик (программу) в случае возникновения прерывания.
В реальном режиме в младших адресах ОП располагаются так называемые вектора прерываний. (рис)
Каждый вектор содержит 2 16р слова: CS - содержимое регистра сегментов, задающий адрес сегмента и IP – смещение от начала ??? сегмента до точки входа в обработчик.
Обработчик прерывания в реальном режиме: сохранение текущей выполняемой программы:
IPt – в стек CSt FLAGSt
IR<-IPk CS<-CSk
Передается управление по адресу CS:IP - ???
Каждая обрабатываемая команда должна завершать свою работу командой IRET:
1) IP ^
2) CS^
3) FLAGS
2. CS:IP<-продолжаются выполняться действия прерванной выполняемой программы.
Вектора прерываний в защищенном режиме хранятся в специальной таблице дескрипторов IDT. Эта таблица содержит шлюзы прерываний или исключений, причем 0й дескриптор содержит шлюз 1 – 1го прерывания. Номер дескриптора в этой таблице соответствует номеру прерывания. Шлюз прерывания используется для запуска ??? в режиме запрещенных прерываний. Шлюз исключений вызывает обработчик прерывания в режиме с разрешенными прерываниями. Сам обработчик может прерываться другими прерываниями. Адрес таблицы IDT задается: (рис)
Кэширование в м/п Intel
Для слаженной работы в скоростях между процессором и памятью используют быстродействующую память – кэш-память. В Intel используется 4 уровня кэширования:
скрытые регистры
буфер ассоциативной памяти
внутренний кэш м/п
внешний кэш м/п
(рис)
1. С каждым сегментным регистром связан 64р регистр, в котором хранится дескриптор сегментов, селектор которого расположен в сегментном регистре ??? Они называются скрытыми, т к их видит только м/п.
При 1м обращении к сегментному регистру???, селектор которого находится в сегментном регистре, выполняется полный алгоритм трансляции виртуального адреса. Т е осуществляется просмотр всех таблиц до нахождения нужного дескриптора, потом он копируется в соответствующий скрытый регистр и сохраняется там до тех пор, пока содержимое сегментного регистра не будет изменено, т е пока не изменится селектор. Все последующие обращения к селектору уже не используют весь алгоритм трансляции, а непосредственно работают с дескриптором – в скрытом режиме. Это увеличивает скорость трансляции виртуального адреса.
2. Следующий уровень кэширования работает при страничной организации памяти и используется для хранения физических адресов нескольких наиболее часто используемых страниц. Этот 2й уровень называется буфером ассоциативной памяти TLB и в этом буфере хранятся следующие пары: (рис)
Под логическим номером страницы понимается 20 бит старшего разряда линейного адреса (рис)
внутренний кэш м/п L1. Этот называется внутренним потому, что он расположен внутри м/п и в зависимости от модели м/п имеет размер от 10-в до 100-н Кб. В этом кэше (буфере) м/п временно хранит команды и данные перед их использованием в качестве операнда или команд.
внешний кэш м/п L2. Этот кэш расположен на системной плате и его объем в зависимости от модели от нескольких 100-н Кб до нескольких Мб. Этот кэш также используется для промежуточного хранения команд и данных.
Взаимодействие кэшей различных уровней осуществляется по следующей схеме: (рис)