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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
eremeeva14
-3 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 14
#1

Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов - C++

18.12.2012, 06:36. Просмотров 1063. Ответов 16
Метки нет (Все метки)

Всем доброго времени суток! я уже полмесяца не могу разобраться с этой задачей, может кто-нибудь в курсе как реализовать, задание такое:
1. Разработать 2 рабочих процесса, имитирующих обработку некоторой информации с обращением к сегментированному массиву данных.
2. Реализовать диспетчер памяти с сегментным или страничным способом размещения в памяти с имитацией нехватки физического пространства для размещения всего массива.
3. Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов.
4. В качестве стратегии размещения и замещения выбрать следующий вариант:
а) стратегия размещения (только для сегментов) - поиск свободного места в ОП для подгрузки нового сегмента
- первый подходящий
- наиболее подходящий
- наименее подходящий
Программу нужно реализовать в Visual Studio 2008 в консольном приложении)))

Добавлено через 1 час 15 минут
помогите кто нить!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 06:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов (C++):

Физическая память или файл подкачки - Windows 7
Вчера столкнулся с такой проблемой. Начнём с характеристик моего компа. Проццесор Intel core 2 duo, 4 Gb ОЗУ, видео карта 9800ГТ шина 256...

Файл подкачки - Оперативная память
Система win7 x64, 2ГБ ОЗУ(2хканальная DDR-2) интересует какой размер поставить файлу подкачки, ставить на тот же раздел, где система или на...

Файл подкачки - Оперативная память
настроил ssd диск с отключением файла подкачки ,в игре world of airplanes вылетает окно что недостаточно памяти ,стоит 4 gb выставляю на...

Файл подкачки - Windows 7
У меня 4 Гб ОЗУ. сколько мне нужно выставить размер файла подкачки чтобы файл подкачки не занимал много памяти и что б не было проблем? и...

Файл подкачки - Windows 7
Диагностируя причину утечки ОЗУ решил кинуть подозрение на файл подкачки. Во первых, каковы минусы его использования на ПК с 16 ГБ ОЗУ?...

Файл подкачки - Windows 7
Всем доброго времени суток.Подскажите можно ли отключить файл подкачки в windows?Причина:Нехватка места на диске С. Частичная...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 08:06 #2
Цитата Сообщение от eremeeva14 Посмотреть сообщение
1. Разработать 2 рабочих процесса, имитирующих обработку некоторой информации с обращением к сегментированному массиву данных.
непонятно

Цитата Сообщение от eremeeva14 Посмотреть сообщение
2. Реализовать диспетчер памяти с сегментным или страничным способом размещения в памяти с имитацией нехватки физического пространства для размещения всего массива.
Сегментная модель - есть сегмент памяти, размер которого - константа., допустим 64 КБ. Обращение к памяти происходит так
сегмент:смещение. Если смещение превышает размер сегмента - исключение.
Страничная модель - если по минимому, то должна быть хотя бы одна таблица страниц, которая содержит указатели на страницы. Страница - кусока памяти размером, например, 64 КБ. Если не по простому, то каталог стрниц -> таблица страниц -> страница (или каталог каталогов (PML4) -> каталог страниц -> таблица страниц -> страница). При этом адрес делится на 3 (4) части, например адрес перменной 0x12345678 - это 0х12 - адрес + флаги таблицы страниц в каталоге, 0х34 - адрес + флаги страницы в таблице страниц, 0х5678 - смещение на странице. Указатель на каталог верхнего уровня хрянится где-нибудь в отведенной памяти (например для porotected, compatibility и long mode он хранится в регистре CR3, но в случае имитации можно просто создать переменную для этого). Под флаги (которые в адресах каталогов/страниц) отводится несколько бит, они могут означать например доступность чтения/записи/исполнения и т.д. Если происходит нарушение прав доступа или катлог/таблица/станица не мапирована (не отображена) - исключение (процессор кидает исключение #PF (page fault)). Вот, как-то так.

Цитата Сообщение от eremeeva14 Посмотреть сообщение
3. Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов.
В адресах каталогов/таблиц есть флаг присутствия страницы в памяти. Если этот флаг не выставлен, то происходит исключение и в обработчике исключения страница подкачивается, если подкачка не возможно, то еще одно исключение. Короче в твоем случае нужно сделать этот флаг, рандомно выставлять его и имитировать подкачку.
Цитата Сообщение от eremeeva14 Посмотреть сообщение
. В качестве стратегии размещения и замещения выбрать следующий вариант:
а) стратегия размещения (только для сегментов) - поиск свободного места в ОП для подгрузки нового сегмента
- первый подходящий
- наиболее подходящий
- наименее подходящий
Не совсем понятно, похоже ОП тоже нужно имитировать. Подходящий, неподходящий думаю зависит от того, выровнен ли кусок памяти, его расположение относительно сегмента и т.д. Думаю у тебя есть методичка в которой описаны эти критерии.
2
eremeeva14
-3 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 14
18.12.2012, 09:14  [ТС] #3
мне код нужен на С++
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 09:39 #4
Цитата Сообщение от eremeeva14 Посмотреть сообщение
мне код нужен на С++
так изначально вопрос стоял вот так
Цитата Сообщение от eremeeva14 Посмотреть сообщение
может кто-нибудь в курсе как реализовать,
в курсе, о чем и написал выше.

По поводу кода - тут работы на целый день, если все грамотно делать (ну может на пол дня, если все сразу заработает ). Поэтому думаю есть смысл переместить тему во фриланс.
0
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
18.12.2012, 17:56 #5
Переместить во ФЛИРАНС, как это сделать??

Добавлено через 3 часа 21 минуту
Есть еще кто-нибудь, кто сможет помочь в написании кода???
0
Памирыч
Почетный модератор
20590 / 8642 / 1029
Регистрация: 11.04.2010
Сообщений: 11,009
18.12.2012, 18:38 #6
Цитата Сообщение от kirya Посмотреть сообщение
Переместить во ФЛИРАНС
Если Вы не знаете, что такое Фриланс - лучше подумайте еще раз.
Это платный раздел, где Вам решают задачи практически любой сложности, но учтите, что за это Вам придется платить деньги, и, скорее всего, 500 рублями Вы не отделаетесь
0
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
20.12.2012, 12:15 #7
Кто-нибудь может еще что-то подсказать???
Здесь не нужна суперпрограмма, а небольшой код, всего лишь d консольном приложении Visual Studio 2008. Просто показать как работает механизм виртуальной памяти.

Добавлено через 23 часа 55 минут
Есть ли кто-нибудь знающий данный материал???
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
20.12.2012, 13:15 #8
Цитата Сообщение от kirya Посмотреть сообщение
Есть ли кто-нибудь знающий данный материал???
Что именно интересует?
0
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
20.12.2012, 14:03 #9
Интересует конкретно реализация на C++ в Visual Studio 2008 в консольном приложении, не знаю как написать код...
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
20.12.2012, 15:28 #10
Цитата Сообщение от kirya Посмотреть сообщение
Интересует конкретно реализация на C++ в Visual Studio 2008 в консольном приложении, не знаю как написать код...
Всмысле объяснить как создавать, компилировать и запускать консольные приложения в Visual Studio 2008 ?
0
vxg
20.12.2012, 15:45
  #11

Не по теме:

*ишь, Kastaneda, как тонко измывается *

0
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
20.12.2012, 16:08 #12
в смысле конкретно код программы написать и его объяснить)))
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
20.12.2012, 19:01 #13

Не по теме:

Если на выходных будет время и желаение - может что-нибудь напишу, но пока ни чего не обещаю.


По подобным вопросам советую сайт, в частности раздел paging.

Добавлено через 11 минут

Не по теме:

Блин, залез на нашу википедию по этому вопросу, пришлось страницу немного подправить

1
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
21.12.2012, 12:08 #14
Kastaneda, будем очень благодарны тебе если ты поможешь нам написать код)))
Там сильно замудренного ничего такого не нужно, просто в консольном приложении VS 2008 на цифрах все это показать как нибудь)))
0
Kastaneda
21.12.2012, 13:08     Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов
  #15

Не по теме:

Цитата Сообщение от kirya Посмотреть сообщение
Там сильно замудренного ничего такого не нужно
Там не "замудрено" не получится

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2012, 13:08
Привет! Вот еще темы с ответами:

Файл подкачки - Оперативная память
Уважаемые знатоки. подскажите сколько поставить файл подкачки чтоб работал компьютер ещё быстрее. 8gb своя. читал много форумов кто то...

Файл подкачки - Windows 7
Привет:) У меня 2 вопроса: 1. Что такое Файл подкачки? С чем его едят? (простыми словами) 2. Вот характеристики моего ноутбука: ...

Файл подкачки - Windows XP
помогите я захожу в сталкер он пишет:у вас отключен фаил подкачки или нет памяти

Файл подкачки - Оперативная память
Сколько ставить для 16гб оперативы и надо ли вообще?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2012, 13:08
Ответ Создать тему
Опции темы

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