Конспект лекций для студентов специальности 5В070200 Автоматизация и управление Алматы 2015



Pdf көрінісі
бет22/33
Дата13.03.2023
өлшемі0,92 Mb.
#73886
түріКонспект
1   ...   18   19   20   21   22   23   24   25   ...   33
Байланысты:
PXcdfzCNmVjtZ8sMK5nLG1UywOruSq


Часть виртуальных страниц размещается в ОП, а часть – во внешней памяти. 
Место во внешней памяти (чаще всего НМД – быстродействующие 
устройства с прямым доступом) называют файлом подкачки или страничным 
файлом (paging file) или swap-файлом, тем самым подчеркивая, что записи 
этого файла – страницы – замещают друг друга в ОП. В Unix-системах для 
этого выделяется специальный раздел.
Разбиение памяти на страницы одинаковой величины приводит к тому, 
что вместо одномерного адресного пространства появляется двухмерное. 
Первая координата – номер страницы, вторая – номер ячейки внутри 
выбранной страницы (индекс). Т.о. физический адрес определяется парой 
(Pp,i), а виртуальный - парой (Pv,i), где Pp – номер физической страницы; Pv – 
номер виртуальной страницы; i – индекс ячейки внутри страницы. Количество 
битов, отводимое под индекс, определяет размер страницы, а отводимое под 


41 
номер виртуальной страницы – объем потенциально доступной для 
программы виртуальной памяти.
Для отображения виртуального адресного пространства задачи на 
физическую память необходимо иметь таблицу страниц. Для описания 
каждой страницы заводится дескриптор, который в отличие от дескриптора 
сегмента не имеет поля длины, т.к. размер страниц одинаковый. Защита 
страничной памяти основана на контроле уровня доступа к каждой странице. 
При обращении к виртуальной странице, не оказавшейся в данный момент в 
ОП, возникает прерывание, и управление передается диспетчеру памяти, 
который должен найти свободное место. Обычно предоставляется первая же 
свободная страница. Если свободной страницы нет, то используется одна из 
дисциплин замещения.
Если объем физической памяти небольшой и даже часто требуемые 
страницы не удается разместить в ОП, возникает так называемая 
«пробуксовка». Пробуксовка – это ситуация, при которой загрузка нужной 
страницы вызывает перемещение во внешнюю память той страницы, с 
которой идет активная работа. Чтобы не допустить этого, желательно 
увеличить объем ОП, уменьшить количество параллельно выполняемых задач 
или использовать более эффективные дисциплины замещения. 
Для большинства современных ОС характерна LRU как наиболее 
эффективная (OS/2, Linux). Однако в ОС Windows NT/2000/XР разработчики, 
желая их сделать максимально независимыми от аппаратных возможностей 
процессора, отказались от LRU и применили FIFO. А чтобы скомпенсировать 
неэффективность FIFO, была введена буферизация тех страниц, которые 
должны быть записаны в файл подкачки на диск или расформированы. 
Принцип буферизации заключается в следующем: прежде чем замещаемая 
страница действительно окажется во внешней памяти или просто будет 
расформирована, она помечается как кандидат на выгрузку. Если в 
следующий раз произойдет обращение к странице, находящейся в «буфере», 
то страница не выгружается и уходит в конец списка FIFO. В противном 
случае страница действительно выгружается, а на ее место в буфер попадает 
следующий кандидат.
В ряде ОС с пакетным режимом работы для борьбы с пробуксовкой 
используется метод «рабочего множества». Рабочее множество – это 
множество (среднее количество) активных страниц задачи за некоторый 
интервал Т, то есть тех страниц, к которым было обращение за этот интервал 
времени.
Достоинство метода – минимальная фрагментация. Недостатки: 
существенные накладные расходы (требуется разместить в памяти и 
обработать все страницы); программы разбиваются на страницы случайно, без 
учета логических взаимосвязей, имеющихся в коде (межстраничные переходы 
осуществляются чаще, чем межсегментные).
Чтобы избежать второго недостатка, сохранив достоинства страничного 
метода, был разработан способ – сегментно-страничный (однако, 


42 
увеличились затраты на реализацию). Программа разбивается на сегменты; 
виртуальный адрес содержит указание на номер соответствующего сегмента. 
Другая составляющая – смещение относительно начала сегмента состоит из 
двух полей: виртуальной страницы и индекса.
Недостаток – задержка доступа к памяти увеличивается в 3 раза. Чтобы 
этого избежать вводится кэширование по ассоциативному принципу
Достоинства: сегменты размещаются в памяти целиком; сегменты 
разбиты на страницы, все страницы сегмента загружаются в память, что 
позволяет сократить число обращений к отсутствующим страницам, т.к. 
вероятность выхода за пределы сегмента меньше вероятности выхода за 
пределы страницы; страницы исполняемого сегмента находятся в памяти 
«россыпью»; наличие сегментов облегчает разделение программных модулей 
между параллельными процессами; минимальная фрагментация. 
Способ требует значительных затрат вычислительных ресурсов и 
сложный в реализации, поэтому используется редко, в дорогих мощных 
вычислительных системах. 


Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   33




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет