Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Занятие 2.3. Страничная память
Цель занятия: освоить основы организации виртуальной страничной памяти, оценить эффективность страничного управления памятью
Краткое изложение теоретического материала Страничная память основана на несвязном выделении ОП процессу. Оперативная память компьютера разбивается на участки фиксированной длины, именуемые страницами. Адресное пространство процесса также разбивается на страницы той же самой длины. Каждая из страниц процесса может быть размещена в произвольной странице оперативной памяти:
Кроме того, применяется концепция виртуальной памяти. Виртуальная (моделируемая ОС) память процесса может превышать размеры физической ОП и ограничена лишь суммой объёмов ОП и внешней (дисковой) памяти компьютера:
Для обеспечения виртуальной памяти было решено отказаться от принципа полного размещения процесса в ОП. В ОП загружается лишь начальная страница (несколько начальных страниц) процесса; остальные страницы подкачиваются по мере обращения к ним в процессе свопинга страниц. Свопинг обеспечивает замещение страниц процессов, если свободная страница ОП отсутствует. Возникает проблема отображения адресов. При каждом обращении к ОП требуется вычислить физический адрес памяти по заданному виртуальному адресу. Указанная проблема решается с помощью набора специальных страничных таблиц, обеспечивающих отображение:
Множества свободных страниц оперативной внешней памяти описываются аналогичными таблицами Таблица страниц МД
При реализации свопинга встаёт вопрос выбора страницы процесса для вытеснения в случае, если все физические страницы ОП заняты. Наиболее распространённым является алгоритм LRU вытеснения страницы, которая дольше всего не использовалась. Непосредственная реализация алгоритма требует хранения значения таймера последнего обращения к странице, однако практически применяются более простые модификации, использующие лишь несколько битов информации. Следует отметить, что страничная память может быть реализована ОС только в случае специальной архитектуры ВС и, в особенности, ЦП. Для быстрого аппаратного отображения адресов используются страничные регистры, обеспечивающие параллельный ассоциативный поиск требуемой страницы и последующее вычисление физического адреса: Свопинг страниц инициируется страничным прерыванием, которое генерируется процессором в том случае, если требуемая страница отсутствует в ОП. Для экономной реализации алгоритма LRU, как правило, применяют пару бит страничных регистров, которые модифицируются автоматически: бит обращения А и бит записи W. Биты AW всех страниц периодически сбрасываются; затем биты некоторых страниц устанавливаются процессором во время выполнения процессов. В первую очередь вытесняется страница со значениями битов 00, если такие страницы отсутствуют, то с 01, иначе любая из страниц со значениями битов 11. Операция вытеснения страницы с битами 00 не требует её записи во внешнюю память и является наиболее быстрой. При реализации страничной памяти важным является также вопрос выбора размера страницы. Малая длина страницы приводит к увеличению частоты свопинга, большая - к увеличению процента хранимого в ОП, но неиспользуемого кода. Реальная длина страниц колеблется от 4 до 16 Кбайт. Современные ОС используют более сложную сегментно-страничную организацию памяти. Процесс разбивают на несколько логических частей переменной длины, именуемых сегментами. Каждый из сегментов разбивается на страницы фиксированной длины. Используются двухуровневые таблицы сегментов и их страниц.
Задание Выполнить ручную трассировку средств управления виртуальной памятью. Заполнить трассировочную таблицу. Оценить эффективность управления памятью. Характеристики ОС: страничная память, LRU, мультипрограммирование
Порядок выполнения 1. Выполнить ручную трассировку работы страничной виртуальной памяти. 2. Заполнить трассировочные таблицы. 3. Выполнить анализ эффективности свопинга страниц. 4. Сформулировать преимущества и недостатки страничного управления памятью.
Пример выполнения Количество страниц ОП - 3 Количество страниц ВнП - 11 Характеристики выполняемых процессов Пример заполнения трассировочной таблицы
Обозначения примечаний: А- Запрос ПЗ ВО, выгрузка П1 ВСО; В - Загрузка ПЗ ВС1; С Запрос ПЗ ВС2, выгрузка П2 ВС; D - Загрузка ПЗ ВС2. Варианты заданий - Приложение 1.6.
Контрольные вопросы 1. В чём состоит концепция виртуальной памяти? 2. Что такое страница ОП? 3. Где могут размещаться страницы процесса? 4. Каким образом выполняется отображение страниц? 5. Каким образом ОС учитывает свободные и занятые страницы? 6. Для чего используется свопинг страниц? 7. Каким образом ОС выбирает страницу для вытеснения? 8. Каковы требования к аппаратным средствам ВС для организации страничной памяти? 9. Что такое сегмент? 10. Какие алгоритмы вытеснения страниц применяются в ОС? 11. В чем состоит идея LRU алгоритма? 12. Каковы требования к аппаратным средствам ВС для реализации LRU алгоритма вытеснения страниц? 13. Приведите пример сегментной таблицы. 14. Приведите пример страничной таблицы. Date: 2016-07-05; view: 280; Нарушение авторских прав |