Операционные системы
Учебное пособие
Долгов В.В. |
||||||||||||
Цель работы: Понять принципы организации страничной
виртуальной памяти, используемой в современных операционных системах и научиться
реализовывать алгоритмы свопинга (пэйджинга) при выгрузке страниц на внешние носители.
Задание к лабораторной работе: Написать программу, реализующую, согласно
варианту (Таблица 1), один из алгоритмов выгрузки страниц. В программе должны присутствовать
два глобальных массива, один из которых олицетворяет оперативную память, а другой,
- внешний носитель. Размер каждого из массивов должен быть не менее чем 256 байт.
Размер страницы для всех вариантов равен 32 байтам. Программа должна реализовывать
сквозную адресацию ячеек «виртуальной памяти». Обязательными к реализации являются
следующие функции:
-
Чтение ячейки памяти. В результате операции чтения на экран должно быть выдано значение,
хранящееся в ячейке памяти. Считать, что в начале работы программы все ячейки памяти
равны нулю. В случае если страница с запрошенной ячейкой, расположена на «внешнем
носителе», программа должна, используя соответствующий алгоритм, произвести обмен
страниц между «оперативной памятью» и «внешним носителем», сообщив об этом пользователю.
-
Запись в ячейку памяти. В результате операции, значение ячейки должно быть изменено
на введенное пользователем. В случае если страница с запрошенной ячейкой, расположена
на «внешнем носителе», программа должна, используя соответствующий алгоритм, произвести
обмен страниц между «оперативной памятью» и «внешним носителем», сообщив об этом
пользователю.
-
Отображение карты распределения страниц «виртуальной памяти» между «оперативной
памятью» и «внешним носителем» (где и в какой позиции расположена каждая из страниц).
Таблица 1. Варианты заданий
|
||||||||||||