Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_OS_chast_2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.55 Mб
Скачать

Способы распределения памяти на уровне управления процессами. Односвязное непрерывное распределение памяти.

На уровне управления процессами существует несколько способов распределения памяти, которые можно разделить на две группы, в зависимости от того, используется или не используется при распределении внешняя память как часть всей физической памяти ЭВМ.

Первая группа:

  1. Односвязное непрерывное распределение;

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

  3. Распределение динамическими разделами;

  4. Распределение перемещаемыми разделами.

Вторая группа. В зависимости от используемого способа структуризации ВАП можно выделить:

  1. Страничное распределение памяти;

  2. Сегментное распределение;

  3. Сегментно-страничное распределение.

Простейшим способом первой группы является способ односвязного непрерывного распределения, при котором структура памяти имеет следующий вид:

В данном способе распределения предполагается, что ОС функционирует в однопрограммном режиме. Для распределения используется физическая память, которая представляется как оперативная, и в которой выделяется область, не занятая системными программами и структурами данных. Коды прикладной программы и данные загружаются в память, начиная с некоторого граничного адреса. Соответствие между ВАП и ФАП устанавливается в момент запуска с помощью перемещающего загрузчика, что соответствует статическому распределению. В этом случае возможно использование и динамического распределения памяти.

После загрузки программы и её данных появляется свободный участок неиспользуемой памяти, то есть фрагмент.

В некоторых вариантах данного способа с помощью аппаратно-программных средств реализуется разграничение системной и несистемной области памяти. В этом случае, граничный адрес A0 записывается в специальный регистр защиты, и любое обращение к памяти со стороны прикладной программы контролируется путем сравнения адреса A, вырабатываемого в процессоре, с адресом границы A0. Если A<A0, то вырабатывается прерывание по защите памяти, в результате чего выполнение прикладной программы прекращается.

Данный способ распределения характеризуется значительной неэффективностью использования двух основных ресурсов – ОП и ЦП. Свободный участок может достигать значительных размеров, и процессор выделяется в распоряжение только одной программы, поэтому загрузка его недостаточно высока, поскольку он простаивает при выполнении операций ввода/вывода. Вместе с тем, этот способ является наиболее простым, требует для своей реализации минимальных программных и аппаратных ресурсов, что, как следствие, упрощает технологию программирования и удешевляет разработку ПО. В настоящее время этот способ применяется в различных специализированных ЭВМ.

Распределение памяти фиксированными разделами.

В данном способе все свободное пространство ФАП разбивается на несколько областей фиксированного размера, называемого разделами. Подобное разбиение выполняется пользователем ручным способом во время запуска ОС, либо во время установки её на компьютер. Границы разделов после этого не изменяются.

Существуют два подхода к реализации данного способа:

  1. Очередной новый процесс, поступающий в систему, помещается в общую очередь ко всем разделам памяти.

  1. Для каждого из созданных разделов создается своя очередь.

В обоих случаях, подсистема управления памятью должна решать следующие задачи:

  1. Сравнивать объем памяти, требуемый для нового процесса с размерами разделов, выбирать подходящий раздел;

  2. Осуществлять статическую или динамическую загрузку программ и данных каждого процесса в найденный раздел, и выполнять преобразование ВАП в ФАП.

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

  1. Поскольку количество разделов перед началом выполнения процессов фиксировано, то уровень мультипрограммирования такой ЭВМ, то есть максимальное число параллельно выполняющихся программ также заранее ограничивается числом разделов;

  2. Независимо от размеров программы ей выделяется весь раздел памяти, поэтому при использовании небольших программ возникает явление внутренней фрагментации памяти, то есть фрагментации внутри раздела;

  3. Разбиение на фиксированные разделы не позволяет выполнять процессы, программы и данные которых не помещаются ни в один из разделов. В этом случае возникает внешняя фрагментация, то есть фрагментация между разделами.

Вместе с тем, данный метод находит применение, в основном, в ОСРВ, для которых характерна детерминированность вычислительного процесса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]