Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unix лекции / lection5.ppt
Скачиваний:
13
Добавлен:
20.04.2015
Размер:
217.6 Кб
Скачать

Формат памяти системы

Физические адреса

Виртуальные адреса

Область - это непрерывная зона виртуального адресного пространства процесса, рассматриваемая в качестве отдельного объекта для совместного использования и защиты

Ядро поддерживает таблицу областей и выделяет запись в таблице для каждой активной области в системе (определяет, где находится физическая память).

Каждый процесс имеет частную таблицу областей процесса!

Области памяти

Команды, данные и стек обычно образуют автономные области, принадлежащие процессу => частная таблица областей

Записи этой таблицы могут располагаться в таблице процессов, в адресном пространстве процесса или в отдельной области памяти.

Каждая запись частной таблицы областей содержит указатель на запись общей таблицы областей и первый виртуальный адрес процесса в данной области.

Используются одни и те же области команд

Страницы памяти

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

Обычный размер страниц составляет от 512 байт до 4 Кбайт и определяется конфигурацией технических средств.

Каждая адресуемая ячейка памяти содержится в некоторой странице и, следовательно, каждая ячейка памяти может адресоваться парой (номер страницы, смещение внутри страницы в байтах).

Целью страничной организации памяти является

повышение гибкости назначения физической памяти, которое строится по аналогии с назначением дисковых блоков файлам в файловой системе.

Страницы памяти. Пример

Объем машинной памяти составляет 2 в 32- й степени байт. Размер страницы – 1 Кбайт. Тогда:

Общее число страниц – 2 в 22-й степени.

Можно считать, что каждый 32-х разрядный адрес состоит из 22-х разрядного номера страницы и 10-разрядного смещения внутри страницы.

Таблицы страниц

Ядро устанавливает соотношение между виртуальными адресами области и машинными физическими адресами посредством отображения логических номеров страниц в области на физические номера страниц в машине

Запись таблицы областей содержит указатель на таблицу физических номеров страниц, именуемую

таблицей страниц.

Записи таблицы страниц содержат машинно- зависимую информацию, такую как права доступа на чтение или запись страницы.

Ядро поддерживает таблицы страниц в памяти и обращается к ним так же, как и ко всем остальным структурам данных ядра.

Пример определения физического адреса

Необходим виртуал адрес 68432

65536 (64К)

2896

848, 2

986К

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

Карта памяти пространства процесса

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

в таблице страниц и права доступа к страницам.

Контекст процесса

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

пользовательский контекстрегистровый контекстсистемный контекст

Пользовательский контекст

КомандыДанныеСтек задачи

Содержимое совместно используемого пространства памяти

Регистровый контекст

Счетчик команд, указывающий адрес (виртуальный) следующей команды для ЦП.

Регистр состояния процессора (PS), указывающий аппаратный статус машины.

Указатель вершины стека, в котором содержится адрес следующего элемента стека ядра.

Регистры общего назначения, в которых содержится информация, сгенерированная процессом во время выполнения.

Соседние файлы в папке Unix лекции