Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
02.05.2014
Размер:
285.18 Кб
Скачать

5.2.1.3. Блочная организация памяти

Вся память организована по блочному принципу. Блоки организуются с цепочку и могут находиться в состояние "занят" или "свободен".

В начале каждого блока находится МСВ - memory control block.

------------ -----------

| ОС | | байт | последний/непоследний

------------ ---------------------

|//////////|занят | | | хозяин блока

------------ ---------------------

| |свободен | | | размер блока

| | -------------------------- этот адрес

------------ | резерв 11 байтов | возвращается

|//////////|занят -------------------------- <---- при

------------ | сам блок | выделении па-

| |свободен | | мяти по запросу

------------

Признак последнего блока - 'z' - 5AH; признак непоследнего блока 'm' - 4DH.

Хозяин блока - адрес PSP, если блок свободен, то поле = 0. Размер блока представлен в параграфах - участках по 16 байтов.

Размер MCB - 16 байтов - параграф.

Адрес начала цепочки MCB хранится в переменной DOS и может быть получен с помощью функции 52H прерывания DOS,

MOV AH, 52H

INT 21H

Свободные блоки являются основой динамического управления памятью. В любой ОС имеются примитивы:

ВЫДЕЛИТЬ_БЛОК() GETMEM(ADDR, SIZE);

ОСВОБОДИТЬ_БЛОК() FREEMEM(ADDR, SIZE);

5.2.1.4. Стратегии управления памятью (введение)

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

  1. стратегии выборки;

  2. стратегии размещения;

  3. стратегии замещения.

Стратегии 1 и 3 рассматриваются при управлении виртуальной памятью, стратегия 2 рассматривается как при управлении физической, так и при управлении виртуальной памятью.

Стратегии выборки отвечают на вопрос КОГДА загружать блок.

Два основных направления существует в этих стратегиях:

  1. по запросу;

  2. с упреждением.

Стратегии размещения отвечают на вопрос КУДА поместить блок.

Три основных направления существуют в этих стратегиях:

  1. в первый подходящий свободный блок;

  2. в наиболее подходящий свободный блок;

  3. в наименее подходящий свободный блок.

Стратегии замещения отвечают на вопрос КОГО ВЫТОЛКНУТЬ, если для размещения нового блока не хватает места.

5.2.2. Многозадачные системы

В этих системах физическая память разделяется между программами. Т.е. создаются РАЗДЕЛЫ, выделяемые для программ.

Разделы могут быть фиксированными и переменными по размеру.

5.2.2.1. Фиксированные разделы (неперемещаемые программы)

Существует два варианта использования фиксированных разделов:

  1. фиксированные разделы и неперемещаемые программы;

  2. фиксированные разделы и перемещаемые программы.

В первом случае программы привязываются к одному из разделов и могут выполняться только в своих разделах.

---------- В свободные разделы не могут

| ОС | загружаться программы, при-

---------- ----- вязанные к другим разделам.

| Р1 |<--||| Очередь к Р1 Поэтому может оказаться, что,

---------- ----- например, есть большая

| Р2 | ----- очередь к разделу Р1 и нет

| |<--||| Очередь к Р2 очереди к разделу Р3.

---------- ----- Если иметь специальный про-

| | ----- цессор ввода/вывода, то

| Р3 |<--||| Очередь к Р3 можно одновременно выполнять

| | ----- программу в одном разделе и

---------- перезагружать программу в

другом разделе.

Соседние файлы в папке Шпоры по СПО