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

36. Распределение оп страницами и страницами по запросу. Управляющие таблицы, стратегии свопинга

Страничное распределение оперативной памяти (статический метод) – выделение памяти не смежными областями.

Любая страница процесса может быть загружена в любой блок памяти.

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

Load R1, D(X,B) – эта адресация не годится для вычисления в операционной системе она должна быть переведена в другой вид (номер страницы и смещение внутри страницы).

Пересчёт адреса – это задача аппаратуры (в процессе это выглядит как страница и смещение внутри страницы) .

A (B)+b=истинный исполнительный адрес где B – адрес блока (вычисляется динамически). Для исполнения одной команды процессор обращается к таблице страниц два раза таблица страниц хранятся в регистрах памяти (в ней хранятся таблицы страниц всех процессов).

Для защиты памяти используются два регистра границ по аналогии с защитой в таблице страниц. Память, выделенная процессу защищается с помощью числа страниц (адрес не отрицателен и не больше числа страниц).

Управляющие таблицы:

  1. Свободных и занятых блоков – одна на всю систему (для выделения памяти процессам).

  2. Таблица страниц по одной для каждого процесс – используется для вычисления истинного адреса процесса, а так же для освобождения памяти.

Управление оперативной памятью страницами по запросу.

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

Таблица карт файлов (карта файлов):

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

Если свободных блоков не имеется, возникает вопрос, какую страницу выкинуть:

  1. Не страницу выполняемого процесса.

  2. Надо ли записывать станицу на диск или нет.

Две стратегии вытеснения:

  1. FIFO – вытесняется та страница которая дольше всего находилась в памяти.

  2. LRU (Last Resantlu Used) – вытесняется та страница которая дольше всего не использовалась.

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

Бит обращения: в операционной системе периодически биты всех страниц обнуляются при каждом обращении операционной системы к странице этот бит становится равным единице. При вытеснении выбирается любая страница с битом равным нулю.

Для выделения памяти требуется:

  1. Аппаратурная поддержка, связанная с прерыванием

  2. Аппаратурная поддержка, связанная с LRU

  3. Таблица карт

  4. Управляющие таблицы

37. Управление оперативной памятью в ос windows

В операционной системе используется четырех гигабайтное адресное пространство. Всё адресное пространство делится (пополам или в отношении 1/3) на две области – пользовательское (2/3) пространство и пространство операционной системы (1/3).

Четырёх гигабайтное адресное пространство – просто модель. Область в пользовательской области выделяется процессу в монопольное пользование. Пространство операционной системы – одинаково для всех процессов. Все разделы в пользовательском процессе могут быть вытеснены. Разделы операционной системы не вытесняемы.

Адресация происходит парой (p,b)

32 – битовый адрес

Одна страница занимает четыре килобайта.

Таблица страниц разбита на два уровня. Максимально возможно иметь 512 элементов (каждый по 1024 килобайта).

PTE – элемент таблицы страниц. Дескриптор, описывающий страницу.

PTEa – дескриптор активной страницы (физически в операционной системе статус равен единице)

PTEn – недействительна та страница которой нет (должна быть загружена)

PTEs – системная (ссылка на разделённую страницу). Ссылка на другую таблицу страниц.

(Ip, Ie, It, Ib) – два уровня (четыре элемента).

Поддержка в Windows распределения оперативной памяти страницами по запросу.

Для учёта свободных блоков PFN(Page Frane Number) все блоки разбиты на несколько групп:

  1. Активные (содержат активные страницы) – заняты (управляющая информация)

  2. Не модифицированные (могут быть выброшены)

  3. Модифицированные (требуется запись на диске)

  4. Свободные

  5. Обнулённые то есть свободные без информации. Могут быть выделены для повторной загрузки.

  6. Переходные

  7. Системные

  8. Плохие

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