24521

Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами)

Доклад

Информатика, кибернетика и программирование

Методы распределения памяти без использования диска фиксированными динамическими перемещаемыми разделами. Методы распределения памяти. Рассмотрим наиболее общие подходы к распределению памяти которые были характерны для разных периодов развития ОС. Классификация методов распределения памяти 5.

Русский

2013-08-09

83.87 KB

9 чел.

Вопрос 26. Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами).

§5.3.1. Методы распределения памяти.

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

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

Рис.5.3. Классификация методов распределения памяти

§5.3.1 Распределение памяти без использования диска.

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

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

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

а – с общей очередью; б – с отдельными очередями

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

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

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

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

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

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

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

На рис. 5.5 показано состояние памяти в различные моменты времени при использовании динамического распределения. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершаясь, покидает память. На освободившееся после задачи П4 место загружается задача П6, поступившая в момент t3.

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

(свободные области заштрихованы)

Задачами операционной системы при реализации данного метода управления памятью является:

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

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

- загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей;

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

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

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

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

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

Распределение памяти динамическими разделами использовалось во многих мультипрограммных операционных системах 1960-70-х годов.

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

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

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

(свободные области заштрихованы)

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

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


 

А также другие работы, которые могут Вас заинтересовать

76748. Отечественные анатомы XX века 185.74 KB
  Открылись новые кафедры анатомии человека лаборатории и институты морфологии. Большую роль в обмене опытом и консолидации морфологов сыграл журнал Архив анатомии гистологии эмбриологии основанный в 1916 г. Целая плеяда выдающихся российских ученыханатомов заняла лидерские позиции и сделала огромный вклад в развитие анатомии советского периода.
76749. Индивидуальная изменчивость органов 186.7 KB
  При этом индивидуальный соматотип и характер реактивности окончательно складываются в пубертатном периоде что по В. Возрастная периодизация человека Внутриутробное антенатальное развитие. Зародышевый эмбриональный период 0–2 месяца: период оплодотворения дробления и образования бластоцисты имплантация в стенку матки первая неделя 6–7 дней; период гаструляции и формирования трех первичных зародышевых листков: экто энто и мезодермы 2–4–я недели; период обособления тела зародыша с развитием органов и тканей и образованием...
76750. Кость как орган: ее развитие, строение, рост 186.52 KB
  Как орган кость обеспечена сосудами и нервами находящимися в надкостнице а вглубь кости проникающими через питательные отверстия. На 6–8 неделе эмбрионального развития из соединительной ткани начинает формироваться костная например в костях свода черепа такие кости называют первичными покровными. При хрящевом остеогенезе в соединительной ткани появляется хрящ а потом в нем развивается костная ткань что характерно для большинства костей скелета – и такие кости называют вторичными. Разрастание костной ткани в хряще осуществляется...
76751. Позвонки: их строение в различных отделах 191.33 KB
  Отростки processi: поперечные: правый и левый processus trnsversus – для прикрепления мышц и связок; суставные верхние и суставные нижние – processus rticulre superiores et inferiores – для образования межпозвоночных суставов; остистый – processus spinlis – для прикрепления связок и мышц. Атлант tls – первыйшейный позвонок отличительные признаки передняя и задняя дуга – rcus nterior et rcus posterior – для прикрепления мембран и связок; борозды позвоночной артерии – на задней дуге сверху – sulci . vertebrle; передний и задний...
76752. Позвоночный столб в целом 188.39 KB
  Грудной отдел – 12 позвонков – наличие реберных ямок на телах для суставов головки ребра и суставных поверхностей на поперечных отростках для ребернопоперечных суставов Поясничный отдел – 5 позвонков – массивность тела специфическое положение отростков сосцевидные бугорки на верхних суставных отростках. Величина изгибов меняется в зависимости от массы тела и его отдельных частей физической нагрузки мышечного напряжения возраста пола наконец от положения тела при вертикальном она увеличивается горизонтальном уменьшается. С...
76753. Ребра и грудина. Грудная клетка в целом 184.3 KB
  На позвоночном конце ребра находятся: головка с гребнем у IIX ребер и верхней нижней суставными поверхностями покрытыми гиалиновым хрящом у I XI и XII ребер гребень отсутствует; шейка переходящая углом в тело; на переходе – бугорок на 10 верхних ребрах с двумя возвышениями: медиальнонижнее имеет суставную ямку для сочленения с поперечным отростком позвонка к другому возвышению прикрепляется связка; последние два ребра бугорка не имеют у первого ребра бугорок совпадает с вершиной угла. Тело ребра изогнутое у позвоночного конца...
76754. Развитие черепа в онтогенезе 191.91 KB
  Кости лицевого черепа развиваются на основе висцеральных дуг которых закладывается 5 пар а между ними – 5 пар висцеральных карманов старое название жаберные дуги и жаберные карманы. Висцеральные дуги для лицевого черепа. Ядра точки окостенения подразделяются на: первичные 4150 появляющиеся во внутриутробном периоде в костях мозгового черепа их больше всего начало появления 78 недели к рождению они образуют 20 крупных очагов оссификации; вторичные появляющиеся после рождения; в больших костях черепа их мало но между костями в...
76755. Варианты и аномалии костей черепа 181.64 KB
  Теменные кости выраженность теменных бугров особенно у женщин; появление межтеменной кости. Затылочная кость наличие поперечного шва отделяющего верхнюю часть чешуи и образование вставочной дополнительной кости; присутствие более мелких добавочных костей часто расположенных в швах кости швов; значительная выраженность затылочных выступов; уплощение чешуи слабая выраженность борозд или наоборот увеличение изогнутости чешуи и углубление борозд; разнообразные формы большого отверстия костных валиков вокруг внутреннего его края;...
76756. Первая и вторая висцеральные дуги 187.99 KB
  Развитие лицевого (висцерального) черепа определяется мозгом и краниальным (глоточным) отделом первичной кишки, в котором на боковых стенках между висцеральными (жаберными) карманами появляются хрящевые висцеральные (жаберные) дуги, но особое значение для черепа имеют первые две.