Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Лекция № 9. Сегментная и страничная виртуальная память. Часть 1




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

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

В этом случае память машины не делится заранее на разделы. Сначала вся па­мять, отводимая для приложений, свободна. Каждому вновь поступающему на выполнение приложению на этапе создания процесса выделяется вся необходи­мая ему память (если достаточный объем памяти отсутствует, то приложение не принимается на выполнение и процесс для него не создается). После завершения процесса память освобождается, и на это место может быть загружен другой про­цесс. Таким образом, в произвольный момент времени оперативная память пред­ставляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. Состояние памяти в раз­личные моменты времени при использовании динамического распределения. Так, в момент Го в памяти находится только ОС, а к моменту tx память разделена между 5 процессами, причем процесс П4, завершаясь, покидает память. На осво­бодившееся от процесса П4 место загружается процесс П6, поступивший в мо­мент t3.

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

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

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

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

□ После завершения процесса корректировка таблиц свободных и занятых об­ластей.

По сравнению с методом распределения памяти фиксированными разделами дан­ный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток — фрагментация памяти. Фрагментация — это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.

Распределение памяти динамическими разделами лежит в основе подсистем управ­ления памятью многих мультипрограммных операционных системах 60-70-х го­дов, в частности такой популярной операционной системы, как OS/360.

Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших или младших адресов, так, чтобы вся свободная память образовала единую свободную область. В дополнение к функциям, кото­рые выполняет ОС при распределении памяти динамическими разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одно­го места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется сжатием. Сжатие может выполняться либо при каждом за­вершении процесса, либо только тогда, когда для вновь создаваемого процесса нет свободного раздела достаточного размера. В первом случае требуется меньше вы­числительной работы при корректировке таблиц свободных и занятых областей, а во втором — реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполне­ния, то в данном случае невозможно выполнить настройку адресов с помощью пе­ремещающего загрузчика. Здесь более подходящим оказывается динамическое пре­образование адресов. Хотя процедура сжатия и приводит к более эффективному использованию памя­ти, она может потребовать значительного времени, что часто перевешивает пре­имущества данного метода. Концепция сжатия применяется и при использовании других методов распреде­ления памяти, когда отдельному процессу выделяется не одна сплошная область памяти, а несколько несмежных участков памяти произвольного размера (сег­ментов). Такой подход был использован в ранних версиях OS/2, в которых па­мять распределялась сегментами, а возникавшая при этом фрагментация устра­нялась путем периодического перемещения сегментов.




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 405; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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