Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Программа разбивается на фрагменты равной длины (кроме м.б. последнего) кратной степени 2 - страницы. Память также разбивается на равные виртуальные страницы. Часть виртуальных страниц размещается в ОП, а часть во внешней (обычно МД) – это файл подкачки или страничный файл или своп-файл.
В некоторых ОС страницы выгружаются не в файл, а в спец. раздел на диске. (UNIX)
Такое разбиение ОП – даёт двумерное адресное пространство:
1-я координата адресного пространства – номер страницы
2-я – номер ячейки внутри страницы – индекс
Число битов под индекс – размер страницы, число битов под номер страницы – макс. размер виртуальной памяти для программы.
При выполнении программы отображение памяти есть сопоставление номера виртуальной страницы номеру физической и приписывание битов адреса индекса.
Для каждой задачи строится Таблица страниц, нужная для отображения адресных пространств. Дескриптор для каждой страницы – не имеет размера страницы (в отличие от сегментной организации).
Бит присутствия | Номер физической страницы или адрес на диске | Права доступа |
Принцип формирования адреса - как в сегментной организации.
Защита страничной памяти также основана на уровне доступа к каждой странице.
Возможны такие уровни доступа:
1. Только чтение
2. Чтение и запись
3. Только выполнение
При отображении адресов коды доступа сравниваются с запросом, при несовпадении – прерывание.
При обращении к виртуальной странице, отсутствующей в ОП – прерывание – диспетчер памяти ищет свободное место (первое же). Если его нет, то замещение по одной из дисциплин.
Если объём физической памяти небольшой, то возникает пробуксовка, когда вытесняется страница, с которой часто работаем.
Большинство ОС используют дисциплину замещения LRU (OS/2 и Linux) но в Windows используется FIFO, для независимости от аппаратных возможностей ЦП. Для компенсации недостатков FIFO была введена «буферизация» страниц, которые должны писаться в файл подкачки. Принцип буферизации: перед выгрузкой страница помечается как кандидат на выгрузку, и если в следующий раз к ней придёт обращение, она не выгружается, а уходит в коней списка. Буфер невелик, поэтому часты пробуксовки.
Для ускорения при страничной организации используется кэширование страничных дескрипторов.– для 8086 на 32 страничных дескриптора. Т.к. размер страницы 4 К. то есть быстрое обращение к 128кб.
Плюс – малая фрагментация.
Минус – время на формирование адреса, а главное – программа разбивается на страницы без учёта логики, поэтому межстраничные перходы более часты, чем в сегментах.
Дата публикования: 2015-10-09; Прочитано: 155 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!