Безопасность операционных систем. Безбогов А.А - 42 стр.

UptoLike

теме, либо младший адрес доступной программе основной памяти (адрес начала программы). Если программа пользователя
пытается войти в область операционной системы, то вырабатывается прерывание по защите памяти, и программа аварийно
завершается.
4.2.2. Связное распределение памяти при
мультипрограммной обработке
При мультипрограммной обработке в памяти компьютера размещается сразу несколько заданий. Распределение памяти
между заданиями в этом случае может быть выполнено следующими способами: распределение фиксированными раздела-
ми; распределение переменными разделами; распределение со свопингом.
Распределение фиксированными разделами имеет две модификации:
1) с загрузкой программ в абсолютных адресах;
2) с загрузкой перемещаемых модулей.
При загрузке перемещаемых модулей вся оперативная память машины разбивается на некоторое количество разделов
фиксированного размера (рис. 4.3). Размеры разделов могут не совпадать. В каждом разделе может быть размещено только
одно задание.
В случае загрузки программ в абсолютных адресах при их подготовке указывается начальный адрес загрузки программ,
совпадающий с начальным адресом раздела, в котором эта программа будет выполняться.
В случае загрузки перемещаемых модулей раздел, в котором будет размещено задание, либо автоматически определя-
ется операционной системой в соответствии с реализованной в нем стратегией выбора раздела ("первый подходящий", "са-
мый подходящий", "самый неподходящий"), либо указывается операционной системе специальными командами языка
управления заданиями.
В обоих случаях задание монопольно владеет всем объемом оперативной памяти раздела, в который оно было помеще-
но операционной системой.
Коэффициенты использования памяти при распределении с фиксированными разделами вычисляется по формулам:
=η
ф
1=
псм
N
i
i
V
V
o
1
, (4.3)
где η
cм i
коэффициент использования памяти i-го раздела; V
o i
размер i-го раздела; V
п i
длина программы, помещенной в
i-й раздел; N
ф
количество разделов; V
o
общий объем оперативной памяти, доступной для распределения.
Основным недостатком распределения памяти фиксированными разделами является неэффективное использование ре-
сурсов вычислительной системы из-за возможного появления длинных очередей заданий, ожидающих освобождения кон-
кретного раздела в то время, как остальные разделы пусты (рис. 4.3).
Рис. 4.3. Распределение памяти фиксированными разделами
Защита памяти при распределении фиксированными разделами выполняется аналогично защите памяти для одного
пользователя, только теперь необходимо наличие нескольких
граничных регистровпо два регистра на каждый раздел. В
одном из граничных регистров указывается нижняя граница раздела, а во второмего верхняя граница. Если программа
пользователя пытается обратиться к данным, расположенным вне области адресов данного раздела, то вырабатывается пре-
рывание по защите памяти.
В мультипрограммных системах с фиксированными разделами наблюдается явление фрагментации памяти.
Фрагментация памятипоявление в памяти вычислительной машины чередования занятых и незанятых (свободных)
участков оперативной памяти.
При распределении фиксированными разделами появление фрагментации обусловлено тем, что либо задания пользова-
телей не полностью занимают выделенные им разделы, либо часть разделов остается незанятой (рис. 4.4).
Уровень фрагментации памяти можно оценить
коэффициентом фрагментации K
ф
, вычисляемым по формуле
=
д
1=
ф
N
i
V
V
K
д
o
1
,
Пусто
Пусто
3 2 1
Операционная
система
Раздел В
(пустой)
Раздел С
(занят)
Раздел А
(пустой)
Очередь заданий
для раздела С
Очередь заданий
для раздела B
Очередь заданий
для раздела А