Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритмы распределения памяти с использованием внешней памяти

Распределение памяти перемещаемыми разделами

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

Алгоритмы распределения памяти без использования внешней памяти

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

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

1.1. Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рисунок 1,а), либо в очередь к некоторому разделу (рисунок 1,б).

Рис. Распределение памяти фиксированными разделами:
а - с общей очередью; б - с отдельными очередями

Подсистема управления памятью в этом случае выполняет следующие задачи:

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

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

При использовании данного метода память в начальный момент времени считается свободной (за исключением памяти отведенной под ОС). Каждому процессу отводится вся необходимая память. Если ее не хватает, то процесс не создается. В произвольный момент времени память представляет собой случайную последовательность занятых и свободных участков.

Функции ОС:

· Ведение таблиц свободных и занятых участков

· Поиск участка

· Загрузка и корректировка таблиц

· После завершения процесса корректировка таблиц

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

В этом методе разработчики попытались учесть достоинства и недостатки предыдущего.

Один из способов борьбы с фрагментацией – сжатие, таким образом, чтобы вся свободная память образовала непрерывную область – дефрагментация. Такой метод был применен в ранних версиях OS/2.
Недостаток этого метода – низкая производительность.

Для полной загрузки процессора могут понадобиться иногда сотни интерактивных задач. Все они должны быть размещены в памяти, большая часть которых находится в состоянии ожидания. Логично было бы на время ожидания, в случае нехватки физической памяти, вытеснять их на диск, а когда необходимо, возвращать в память. Такая подмена (виртуализация) оперативной памяти дисковой памятью существенно повышает уровень мультипрограммирования. Важно, что все действия по перемещению происходят автоматически, без участия программиста.
Для виртуализации применяются два основных подхода:
Свопинг – образ процесса выгружается на диск и возвращается в память целиком. Часто называется подкачкой.
Виртуальная память – образ процесса выгружается на диск и возвращается в память частями (сегментами, страницами...)

Реализация виртуальной памяти, представлена тремя классами: страничное распределение, сегментное, сегментно-страничное распределение

<== предыдущая лекция | следующая лекция ==>
Механизм прерываний | Сегментное распределение
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 2396; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.