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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу исправить ошибку(error C2137: empty character constant) http://www.cyberforum.ru/cpp-beginners/thread736283.html
задание найти с помощью функции максимальный и минимальный элемент массива размерностью m*n и вывести на экран ошибка одна: error C2137: empty character constant Error executing cl.exe. (в коде...
C++ Дан файл с текстом, нужно вывести каждое слово с новой строчки и посчитать количество символов у каждом слове.. Дан файл с текстом, нужно вывести каждое слово с новой строчки и посчитать количество символов у каждом слове.. #include <iostream> #include <fstream> #include <conio.h> #include <string> ... http://www.cyberforum.ru/cpp-beginners/thread736280.html
C++ Из заданной матрицы удалите строку, в которой находится первый отрицательный элемент
Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю... 1.Матрица задается динамически. При работе с матрицами использовать указатели Из заданной...
По заданному двумерному массиву сформировать одномерный массив и реализовать указанные преобразования. C++
Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю... 2.Матрица задается динамически - А(m,n). Тип элементов –целый. По заданному двумерному...
C++ Отсортировать по возрастанию массив 10 целых чисел методом выбора (Borland C++) http://www.cyberforum.ru/cpp-beginners/thread736265.html
2. Отсортировать по возрастанию массив 10 целых чисел методом выбора.
C++ Отсортировать линейный массив из 20 действительных чисел методом включения(Borland C++) 3. Отсортировать линейный массив из 20 действительных чисел методом включения. подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,386
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 08:06
Цитата Сообщение от 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.