| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Алгоритм NRU |
| Автор: NFL 24.11.2010, 16:08 |
| Собственно, курсовой проект по теме: Алгоритм вытеснения страниц NRU. Теорию по этому алгоритму я более-менее понимаю, а вот практически его применить.. Пока не представляю как... Задача звучит так: Разработать программу моделирования указанного алгоритмавытеснения страниц из оперативной памяти. Предполагается, что в память, поделенную на определенное количество страничных кадров, последовательно нужно загрузить опеределенное количество страниц. Количество страничных кадров: 2-20, количество страниц: 2-40 В ходе работы программы необходимо графически отображать: - Содержимое памяти (какая страница в какой кадр загружена) - Моменты страничных отказов - Предусмотреть использование кластеризации Обращение к страницам - в произвольном порядке, предусмотреть возможность чтения списка обращений из файла. PS: за меня решать не прошу, прошу подкинуть ссылки на литературу, или показать пример, если у кого вдруг такое уже было и авалялось, и не жаль поделиться Заранее спасибо всем отозвавшимся |
| Автор: xvr 24.11.2010, 18:26 | ||
| Тогда в чем проблема ? От Гугла отключили? виртуальная память NRU - 268 результатов Прямо из первой же ссылки:
PS. При чем тут Системное програмирование и WinAPI? |
| Автор: NFL 24.11.2010, 19:01 |
При том что дисциплина - системное программное обеспечение |
| Автор: NFL 6.12.2010, 14:35 | ||
| Вот почитал теорию... Можно ли представить страницу как
потом в основной программе создавать массив типа Page p[x], выделять под каждый элемент при помощи GlobalAlloc память (4096 байт), где х - число в диапазоне 2-40, случайным способом генерировать список обращений, прерываний и вытеснение? будет ли это все достаточной демонстрацией алгоритма? |
| Автор: GremlinProg 6.12.2010, 15:04 | ||
случайно тут будет только 3 параметра 1. диапазон, по которому производится обращение 2. тип операции: чтение, запись 3. начальные классы этих страниц для полноценного моделирования, нужно задать еще число физических страниц в наличии, чтобы знать, когда записывать на диск страницу (сбрасывать флаг M), т.е. должно быть еще сопоставление вирт к физ страницам, это можно делать дополнительным флагом в вирт. странице и глобальным счетчиком занятых страниц, физически ведь не стоит задача моделировать чтение/запись все остальное вполне закономерно: 1. списки формируются исходя из количества и текущих классов страниц 2. удаление производится в момент обращения к неотображенной странице 3. выгрузка (на диск) - либо в момент когда заканчиваются физические страницы, либо когда их количество достигает какого-то порога |
| Автор: dffc 1.12.2011, 11:48 |
| ОЧЕНЬ нужен код для этого алгоритма. Никто не поделится? |