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, в которых память распределялась сегментами, а возникавшая при этом фрагментация устранялась путем периодического перемещения сегментов.


 

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

42839. Сестринский процесс при раке лёгкого 414.79 KB
  Два случая иллюстрирующие тактику медицинской сестры при осуществлении сестринского процесса у пациентов с данной патологией; основные результаты обследования и лечения описываемых больных в стационаре Методы исследования: Для исследования использовались следующие методы: научнотеоретический анализ медицинской литературы по данной теме; эмпирический наблюдение дополнительные методы исследования: организационный сравнительный комплексный метод; субъективный метод клинического обследования пациента сбор...
42840. Учет затрат и управления экономическими результатами деятельности предприятия 55.04 KB
  Для максимизации прибыли менеджмент компаний нуждается в наличии эффективного механизма диагностики финансового положения и финансовой устойчивости, необходимого при оценке деятельности на текущий момент времени в исторической ретроспективе, а также в ее прогнозировании на будущее, такую информацию получают на основании финансового и управленческого анализа.
42842. Методики итерационного решения задачи Коши методом Рунге-Кутта 4 порядка 243.76 KB
  Инженеру очень часто приходится сталкиваться с ними при разработке новых изделий или технологических процессов так как большая часть законов физики формулируется именно в виде дифференциальных уравнений. Любая задача проектирования связанная с расчетом потоков энергии или движением тел в конечном счете сводится к решению дифференциальных уравнений. Поэтому численные методы решения дифференциальных уравнений играют такую важную роль в практике инженерных расчетов и в моделировании. Поэтому для построения компактных работающих в реальном...
42843. Расчет усилителя звуковой частоты на основе интегральной микросхемы TDA 2050 390.69 KB
  При выборе интегральной микросхемы основного усилительного каскада пришлось немного отойти от технического задания в виду возможности обеспечения данной микросхемой верхней граничной частоты 20кГц и нижней граничной частоты 20 Гц, что в свою очередь только улучшит качество воспроизводимого звука.
42844. Усилитель звуковой частоты мощности тембров и громности 419.17 KB
  Схема усилителя Перечень элементов Заключение Список литературы Техническое задание Выходная мощность Pвых 35 Вт Сопротивление нагрузки Rн 4 Ом Входное напряжение Uвх 20мВ Сопротивление источника сигнала Rис 110 Ом...
42845. Технологический проект холодного цеха Столовой при промышленном предприятии на 210 мест 938 KB
  Общественное питание представляет собой отрасль народного хозяйства, основу которой составляют предприятия, характеризующиеся единством форм организации производства и обслуживания потребителей и различающихся по типам специализации.
42846. Разработка базы данных пациентов районной поликлиники 6.88 MB
  Описание таблиц и логической структуры базы данных. Схема данных. 29 Введение: Целью данной курсовой является создание базы данных для работников регистратуры поликлиники.
42847. Г. Маркузе и Франкфуртская социологическая школа 72.11 KB
  Среди центров и школ западной философии, которые на протяжении целых десятилетий сохраняли и до сих пор еще сохраняют заметное влияние на философию, социальную мысль всего мира, надо особо выделить так называемую франкфуртскую школу. Группа талантливых, а в политическом отношении радикально-критически настроенных философов, социологов, экономистов, историков, литераторов объединилась вокруг основанного в 1923 г. при Франкфуртском университете Института социальных исследований.