Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Алгоритмы распределения памяти



Алгоритмы распределения памяти разделены на два класса: алгоритмы, в которых используется перемещение сегментов процессов между оперативной памятью и диском, и алгоритмы, в которых внешняя память не привлекается.

 
 

 


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

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

Это разбиение может быть выполнено вручную оператором во время старта системы или во ее установки. После этого границы разделов не изменяются.

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


 

   
 
 
 

 


Система управления памяти решает следующие задачи:

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

· Осуществляет загрузку программы в один из разделов и настройку адресов.

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

Существенный недостаток — жесткость.

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

Этот простейший метод распределения памяти сейчас находит применение только в системах реального времени, благодаря детерминированности вычислительного процесса.

Распределение памяти динамическими разделами

Каждому новому поступающему на выполнение процессу выделяется вся необходимая ему память, если ее не хватает, процесс не запускается.

Функции ОС, для реализации этого метода:

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

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

· Загрузка программы в выделенный ей раздел и корректировка таблиц свободных и занятых областей.

· Корректировка таблиц свободных и занятых областей.

Этому методу присущ серьёзный недостаток – фрагментация памяти.

Фрагментация – наличие большого числа несмежных участков свободной памяти маленького размера. Такого, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить величину, превышающую требуемый объем памяти.

Примером этого метода является популярная в прошлом OS/360 и EC – ЭВМ..

 

Перемещаемые разделы

Борьба с фрагментацией – перемещение всех занятых участков в сторону старших или младших адресов, так, чтобы вся свободная память образовала свободную единую область.

В дополнение к функциям, кото­рые выполняет ОС с динамическими разделами, она еще время от времени копирует содержимое разделов из одно­го места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется сжатием.

Сжатие выполняется либо при каждом за­вершении процесса, либо когда для создаваемого процесса нет свободного раздела достаточного размера.

Так как программы перемещаются в оперативной памяти в ходе своего выполне­ния, то в данном случае невозможно выполнить настройку адресов спомощью пе­ремещающего загрузчика. Здесь необходима реализация динамического преобразования адресов.

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

Метод используется в ранних версиях ОС OS/2.

 

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 1987; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь