Операционные системы. Теория и практика. Замятин А.В. - 96 стр.

UptoLike

Составители: 

96
может задать раздел, в котором ее следует выполнять. Это позволяет
сразу, без использования перемещающего загрузчика, получить машин-
ный код, настроенный на конкретную область памяти.
При очевидном преимуществе как простота реализации, данный
метод имеет существенный недостаток существенные потери памяти
от внутренней фрагментации. Фрагментация возникает потому, что про-
цесс не полностью занимает выделенный ему раздел или потому, что
некоторые разделы слишком малы для выполняемых пользовательских
программ. Кроме того, учитывая то, что в каждом разделе может выпол-
няться только один процесс, уровень мультипрограммирования заранее
ограничен числом разделов, т.к. процесс независимо от размера будет
занимать весь раздел. Так, например, в системе с тремя разделами не-
возможно выполнять одновременно не более трех процессов, даже если
им требуется совсем мало памяти.
Такой способ управления памятью применялся в ранних мульти-
программных ОС. Однако и сейчас метод распределения памяти фикси-
рованными разделами находит применение в ОСРВ, в основном благо-
даря небольшим затратам на реализацию. Детерминированность вычис-
лительного процесса систем реального времени (заранее известен набор
выполняемых задач, их требования к памяти, а иногда и моменты запус-
ка) компенсирует недостаточную гибкость данного способа управления
памятью.
4.2.4 Распределение динамическими разделами
Чтобы избавится от фрагментации, присущей распределению памя-
ти с фиксированными разделами, целесообразно размещать в ОП задачи
«плотно», одну за другой, выделяя ровно столько памяти, сколько тре-
бует процесс. Именно такой принцип лежит в основе распределения па-
мяти разделами переменной величины (динамическими разделами). В
этом случае память машины не делится заранее на разделы, и сначала
вся память, отводимая для приложений, свободна. Каждому вновь по-
ступающему на выполнение приложению на этапе создания процесса
выделяется вся необходимая ему память (если достаточный объем памя-
ти отсутствует, то приложение не принимается на выполнение и процесс
для него не создается). После завершения процесса память освобожда-
ется, и на это место может быть загружен другой процесс. Таким обра-
зом, в произвольный момент времени ОП представляет собой случай-
ную последовательность занятых и свободных участков (разделов) про-
извольного размера. Список свободных участков памяти может быть
упорядочен либо по адресам, либо по объему.
На рис. 25 показано состояние памяти в различные моменты време-
ни при использовании динамического распределения. Так, в момент t
0
в