Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
СергейКБ
Сообщений: n/a
#1

Моделирование страничной виртуальной памяти и алгоритмов свопинга - C++

19.12.2011, 22:05. Просмотров 1348. Ответов 0
Метки нет (Все метки)

Господа, в общем есть задание

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


Первым прибыл – первым обслужен (FIFO)
Алгоритм FIFO использует для своей работы простую идею списка страниц, в котором первая страница является старейшей, т.е. попала в оперативную память раньше всех. При страничном прерывании на внешний носитель выгружается страница из начала списка, а загруженная вместо нее страница добавляется в конец списка. Т.о. из оперативной памяти всегда удаляется самая страница.


как можно словом длиной 32 символа закодировать всю информацию о странице?

Добавлено через 6 минут
я так понимаю по идее пусть есть два массива по 256 типа чар
у каждой страницы есть адресное пространсво
если я записываю в яейку памяти от 0 до 256 то все работает как обычно прямое обращение к первому массиву оперативки если больше 256 то, используется соотвествующий алгоритм выгрузки страницы из оперативки и вставка страницы с внешней памяти

и нужно ли устанавливать соответствие между страницами оперативной памяти и внешней памяти?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 22:05     Моделирование страничной виртуальной памяти и алгоритмов свопинга
Посмотрите здесь:

Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL Visual C++
C++ организация виртуальной памяти
Visual C++ Перекрытие виртуальной функции
Вызов виртуальной функции C++
C++ Builder Создание виртуальной функции
C++ Ерунда с виртуальной функцией
C++ WinAPI Чтение виртуальной памяти процесса
C++ WinAPI Работа с виртуальной памятью
C++ В чем разница между виртуальной и чисто виртуальной функцией?
C++ WinAPI VirtualAlloc выделение виртуальной памяти по адресу
C++ WinAPI Свободные участки виртуальной памяти процесса
C++ WinAPI Нахождение адреса стороннего процесса в виртуальной памяти

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru