Системное программное обеспечение персональных ЭВМ


Пример 4 - часть 2


Для наглядности эксперимента программа формирует фрагментированную память. Карта памяти в исходном состоянии выглядит (Рисунок 12.1 ) следующим образом. В памяти имеется набор свободных участков, размер которых вначале убывает от 84 до 64 параграфов, а затем возрастает до 84 параграфов. Свободные участки перемежаются занятыми по 8 параграфов каждый (размер 8 параграфов выбран для того, чтобы на картину распределения не повлияли маленькие свободные участки, которые, иногда имеются в начале распределяемой памяти).

Затем программа устанавливает дисциплину распределения, запрашивает блок размером 70 параграфов и выводит новое распределение памяти. После вывода запрошенная память освобождается, то есть восстанавливается исходное распределение.

Проведем анализ результатов выполнения этой программы, сведенных в таблицу (см. Рисунок 12.1).

При дисциплине распределения 0 первым подходящим оказывается самый первый свободный блок, его размер - 84 параграфа. В начале его образуется занятый блок размером 70 параграфов, а остаток образует свободный блок размером 13 параграфов (учтите, что один параграф потребовался для нового MCB).

Исходное распределение Дисциплина 0 Дисциплина 1 Дисциплина 2

a v s a v s a v s a v s

7433 84 - 7433 70 + 7433 84 - 7433 84 -
7488 8 + 747A 13 - 7488 8 + 7488 8 +
7491 80 - 7488 8 + 7491 80 - 7491 80 -
74E2 8 + 7491 80 - 74E2 8 + 74E2 8 +
74EB 76 - 74E2 8 + 74EB 76 - 74EB 76 -
7538 8 + 74EB 76 - 7538 8 + 7538 8 +
7541 72 - 7538 8 + 7541 72 - 7541 70 +
758A 8 + 7541 72 - 758A 8 + 7588 1 -
7593 68 - 758A 8 + 7593 68 - 758A 8 +
75D8 8 + 7593 68 - 75D8 8 + 7593 68 -
75E1 64 - 75D8 8 + 75E1 64 - 75D8 8 +
7622 8 + 75E1 64 - 7622 8 + 75E1 64 -
762B 68 - 7622 8 + 762B 68 - 7622 8 +
7670 8 + 762B 68 - 7670 8 + 762B 68 -
7679 72 - 7670 8 + 7679 72 - 7670 8 +
76C2 8 + 7679 72 - 76C2 8 + 7679 72 -
76CB 76 - 76C2 8 + 76CB 76 - 76C2 8 +
7718 8 + 76CB 76 - 7718 8 + 76CB 76 -
7721 80 - 7718 8 + 7721 80 - 7718 8 +
7772 8 + 7721 80 - 7772 8 + 7721 80 -
777B10372- 7772 8 + 777B10301- 7772 8 +
. . . 777B10372- 9FB9 70 + 777B10372-.
<


- Начало -  - Назад -  - Вперед -