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

C++

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

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

19.12.2011, 22:05. Просмотров 1409. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Моделирование страничной виртуальной памяти и алгоритмов свопинга (C++):

Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL - Visual C++
1. Создать объект-контейнер и заполнить его данными. 2. Просмотреть контейнер. 3. Изменить контейнер, удалив из него одни...

Чтение виртуальной памяти процесса - C++ WinAPI
Здравствуйте, пишу программу читающую виртуальную память какого нибудь процесса Прочитал кучу документаций, и примеров, однако что то не...

VirtualAlloc выделение виртуальной памяти по адресу - C++ WinAPI
Хочу выделить память по адресу "0x00890002", но вылазит ошибка 487("Попытка обращения к неверному адресу") #include <windows.h> ...

Свободные участки виртуальной памяти процесса - C++ WinAPI
Хочу получить адреса свободных мест в виртуальной памяти текущего процесса. #include <windows.h> #include <iostream> using...

Нахождение адреса стороннего процесса в виртуальной памяти - C++ WinAPI
Для нахождения адреса текущего процесса существует GetSystemInfo с полямиlpMinimumApplicationAddress и lpMaximumApplicationAddress - это...

организация виртуальной памяти - C++
Помогите плиз с задачей.... Смоделировать работу системы, которая использует страничную организацию памяти с размером страници 200...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 22:05
Привет! Вот еще темы с ответами:

В чем разница между виртуальной и чисто виртуальной функцией? - C++
в чем разница между виртуальной и чисто виртуальной функцией? virtual void print(){..} virtual void ex(..)=0;

Моделирование страничной виртуальной памяти и алгоритма свопинга - Алгоритмы
Я так понимаю, что информация о местонахождение страниц (на жестком диски или в оперативной памяти) должна храниться в статически...

Эмулятор менеджера виртуальной страничной памяти компьютера с одноуровневой таблицей страниц - Java
Доброго времени суток :coffee: Мне задали задание написать эмулятор менеджера виртуальной страничной памяти компьютера с одноуровневой...

Как узнать размер страницы при страничной адресации памяти? - Windows 7
4 Кбайт или 4 Мбайт? В свойствах системы не могу найти; в XP просто искалось вроде. Спасибо, кто откликнется. Добавлено через 18 часов...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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