Файл: Практическое задание Тема 2.pdf

Добавлен: 20.10.2018

Просмотров: 389

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

Тема 2. Моделирование механизмов управления основной памятью 

Задание 1  

Написать  программу,  моделирующую  работу  страничного  механизма 

управления памятью в соответствии со следующими условиями: 

1)  процесс – набор виртуальных страниц (ВС), пронумерованных от 0 до 

n,  где  n  –  случайное  число,  генерируемое  при  создании  процесса  (n  = 

15); 

2)  максимально возможное число ВС в процессе – 16; 

3)  основная 

память  –  набор  16  физических  страниц  (ФС), 

пронумерованных от 0 до 15; 

4)  максимальное число одновременно существующих процессов – 3; 

5)  для  каждого  процесса  создается  своя  таблица  страниц  как  массив 

записей; 

6)  каждая запись – номер назначенной ФС, флаг присутствия страницы в 

ОП, счетчик числа обращений; 

7)  первая  ВС  нового  процесса  обязательно  отображается  в  ОП  (если 

свободных  ФС  нет,  выполняется  вытеснение),  остальные  страницы 

отображаются по мере необходимости; 

8)  программа должна отслеживать свободные и занятые ФС; 

9)  виртуальный  адрес  –  2  байта, старший  полубайт  –  номер  виртуальной 

страницы, младшие 3 полубайта – смещение на странице (например: B 

05C); 

10) 

 отрабатываемые 

программой  события:  создание  нового 

процесса,  активизация  одного  из  существующих  процессов, 

завершение процесса; 

11) 

 для 

активного  процесса  предусматривается  возможность 

генерации  случайного  ВА,  который  по  алгоритму  должен  быть 

преобразован  в  ФА  с  выводом  на  экран  сообщений  об  основных 

выполняемых действиях и состояния таблицы страниц. 


background image

 

Задание 2 

Написать  программу,  моделирующую  работу  сегментного  механизма 

управления памятью в соответствии со следующими условиями: 

1)  процесс  –  набор  сегментов,  пронумерованных  от  0  до  n,  где  n  – 

случайное число, не превосходящее 3; 

2)  при  создании  процесса  случайно  генерируется  размер  каждого 

сегмента,  причем  максимальный  размер  сегмента  равен  4095  (или 

FFF

16

); 

3)  основная  память  –  последовательность  байтов,  НЕ  разбитая  на 

страницы,  адресация  байтов    -  от  0000  до  FFFF,  в  начальном 

состоянии вся память пустая; 

4)  по  мере  создания  процессов  их  сегменты  размещаются  в  памяти  в 

соответствии  с  алгоритмом,  программа  должна  вести  учет 

свободных и занятых фрагментов памяти; 

5)  максимальное число одновременно существующих процессов – 3; 

6)  для каждого нового процесса создается своя таблица сегментов как 

массив записей; 

7)  каждая  запись  –  начальный  адрес  сегмента  в  ОП,  размер  сегмента, 

флаг присутствия в ОП, счетчик числа обращений; 

8)  первый  сегмент  нового  процесса  обязательно  отображается  в  ОП 

(если  свободной  памяти  нет,  выполняется  вытеснение),  остальные 

сегменты отображаются по мере необходимости; 

9)  виртуальный  адрес  –  2  байта,  старший  полубайт  –  номер  сегмента, 

младшие  3  полубайта  –  смещение  внутри  сегмента  (например:  2 

05C); 

10)   отрабатываемые 

программой  события:  создание  нового 

процесса,  активизация    одного  из  существующих  процессов, 

завершение процесса; 


background image

11)   для 

активного  процесса  предусматривается  возможность 

генерации 

случайного 

ВА, 

который 

по 

алгоритму 

преобразовывается  в  ФА  с  выводом  на  экран  сообщений  об 

основных выполняемых действиях и состояния таблицы сегментов.