
- •6. Управление памятью
- •6.1. Требования, технологии управления памятью (Лекция 13)
- •6.1.1. Требования к управлению памятью
- •6.1.1.1. Проблема управления памятью, основные требования
- •6.1.1.2. Типы адресов
- •6.1.2. Технологии управления памятью
- •6.1.2.1. Распределение памяти фиксированными разделами
- •6.1.2.2. Распределение памяти разделами переменной величины
- •6.1.3. Понятие виртуальной памяти. Методы распределения памяти с использованием дискового пространства.
- •Понятие виртуальной памяти
- •6.1.3.2. Страничное распределение виртуального адресного пространства
- •6.1.3.3. Сегментное распределение виртуального адресного пространства
- •Странично-сегментное распределение виртуального адресного пространства
- •Свопинг
- •6.1.4. Принцип кеширования данных
- •6.1.4.1. Иерархия запоминающих устройств. Принцип кеширования
- •6.1.5. Структура таблицы страниц
- •6.1.5.1. Двухуровневая таблица страниц
- •6.1.5.2. Буфер поиска трансляции
- •6.2. Стратегии ос для управления памятью (Лекция 14)
- •6.2.1. Алгоритмы замещения страниц
- •6.2.1.1. Стратегия замещения и алгоритмы
- •6.3. Управление памятью в защищенном режиме процессора Intel Pentium(Лекция 15)
- •6.3.1. Сегменты, дескрипторы сегментов, дескрипторные таблицы
- •6.3.1.1. Сегментная модель памяти, дескриптор сегмента
- •6.3.1.2. Дескрипторные таблицы, селекторы сегментов
6.3.1.2. Дескрипторные таблицы, селекторы сегментов
Все дескрипторы желательно сгруппировать в одном месте. Максимальное число дескрипторов в одной таблице 8192, т.е. 8192*8=64 Кб.
Таблицы бывают 3-х типов:
Глобальная GDT(Global).
Все программы в системы могут использовать эту таблицу.
Дескрипторная таблица прерываний IDT(Interrupt).
Содержит дескрипторы специальных системных объектов (бит S=0), называемых шлюзами (gate), определяющими точки входа процедур обработки прерываний и особых случаев.
Это замена таблицы векторов прерываний.
Шлюз – это как бы «ключ» для входа в процедуру. Одного только адреса здесь мало – нужны еще поля доступа для защиты. Поэтому адрес оформляется как дескриптор.
Локальная дескрипторная таблица LDT.
В многозадачной среде каждая задача для себя может определить собственные дескрипторные таблицы.
GDTиIDTявляются обязательными системными таблицами. Их адреса хранятся в специальных регистрахGDTRиIDTR. Регистры по 48 бит. Они содержат базовый адрес и предел (с байтной гранулярностью).
Рис.3
Регистр GDTR
Рис.4
Регистр IDTR
Для LDTиспользуется 16-битный регистрLDTR, который содержит селектор в таблицеGDT.
До перехода в защищенный режим настраиваются GDT,GDTR,IDT,IDTR, и затем они не меняются.LDTразмещены в обычных сегментах памяти и могут создаваться по мере необходимости. В том числеLDTмогут участвовать в выгрузке их на диск.
Привилегированные LGDTmem48 иLDTRmem48 загружаютGDTRиIDTR. Привилегированная командаLLDT reg16/mem16 загружаетLDTR.