Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_AVM_4kurs.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.45 Mб
Скачать

67. Таблица глобальных дескрипторов.

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

Глобальная дескрипторная таблица одна. Она общая для всех задач. Её размер и расположение в физической памяти определяются регистром GDTR. Размер таблицы не может превышать 8192 дескрипторов, поскольку один дескриптор занимает 8 байт, а лимит в регистре GDTR - двухбайтный и хранит размер таблицы минус один (максимальное значение лимита - 65535), а 8192 x 8 = 65536.

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

Особенностью GDT является то, что у неё запрещён доступ к первому (с нулевым смещением относительно начала таблицы) дескриптору. Обращение к нему вызывает исключение #GP, что предотвращает обращение к памяти с использованием незагруженного сегментного регистра.

Дескриптор сегмента — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт .

84. Адресация памяти. Диспетчер памяти.

В архитектуре x86 есть два способа защиты памяти и реализации виртуальной памяти - сегментация и страничная организация памяти.При сегментации доступ к памяти осуществляется внутри сегмента. То есть адрес памяти добавляется к базовому адресу сегмента и проверяется длина сегмента. Вы можете рассматривать сегмент как окно в адресном пространстве. Процесс не знает, что это окно, все, что он видит - линейное адресное пространство, начиная с нуля и до длины сегмента. Что касается страничной организации памяти, то адресное пространство делится на блоки (обычно размером 4 Кб, но его можно изменить), называемые страницами. Каждая страница может быть отображена в физическую память - отображается на то, что называется "фрейм". Либо отображение может не быть. Таким образом, вы можете создавать виртуальные пространства памяти.

Блок управления памятью или устройство управления памятью (англ. memory management unit, MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление доступом к памяти, запрашиваемым центральным процессором. Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной памятью), защите памяти, управлении кеш-памятью, арбитражем шины и, в более простых компьютерных архитектурах (особенно 8-битных), переключением блоков памяти. Иногда также упоминается как блок управления страничной памятью (англ. Paged memory management unit, PMMU)

Блок управления памятью в настоящее время очень часто включается в состав центрального процессора или чипсета компьютера.

Принцип работы современных MMU основан на разделении виртуального адресного пространства (одномерного массива адресов, используемых центральным процессором) на участки одинакового, как правило несколько килобайт, хотя, возможно, и существенно большего, размера равного степени 2, называемые страницами. Младшие n бит адреса (смещение внутри страницы) остаются неизменными. Старшие биты адреса представляют собой номер (виртуальной) страницы. MMU обычно преобразует номера виртуальных страниц в номера физических страниц используя буфер ассоциативной трансляции (англ. Translation Lookaside Buffer, TLB).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]