24521

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

Доклад

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

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

Русский

2013-08-09

83.87 KB

10 чел.

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


 

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

84199. БОЛЕЗНИ ПЕЧЕНИ. ГЕПАТОЗЫ. ЦИРРОЗ 23.49 KB
  ЦИРРОЗ Определение гепатоза Патологическая анатомия гепатоза Жировой гепатоз Цирроз печени Гепатозы заболевания печени характеризующиеся дистрофией и некрозом гепатоцитов. Наибольшее значение имеют токсическая дистрофия или прогрессирующий массивный некроз печени острое реже хроническое заболевание характеризующееся прогрессирующим массивным некрозом печени и печеночной недостаточностью. Затем она уменьшается становится дряблой а капсула морщинистой на разрезе ткань печени серая глинистого цвета.
84200. БОЛЕЗНИ ПОЧЕК. ГЛОМЕРУЛОПАТИИ 25.2 KB
  Патологическая анатомия Острый гломерулонефрит Хронический гломерулонефрит Нефротический синдром Фокальный сегментарный гломерулярный склероз Болезни почек при которых наблюдаются протеинурия спайки и гипертрофия сердца были объединены в начале XIX в. В настоящее время выделяют 2 нефролопатии или группы заболеваний почек гломерулои тубулопатии. Особую группу составляют пороки развития почек прежде всего политестеоз опухоли почек.
84201. БОЛЕЗНИ ПОЧЕК. АМИЛОИДОЗ ПОЧЕК. ТУБУЛОПАТИИ 23.58 KB
  В латентной стадии внешне почки изменены мало хотя в пирамидах сосочках обнаруживается склероз и амилоидоз по ходу прямых сосудов и собирательных трубок. В протеинурической стадии амилоидоз появляется в пирамидах и в клубочках в виде небольших отложений в мезонгии и отдельных капиллярных петлях в артериалах. В нефротические стадии количество амилоида увеличивается. В азотенической уремической стадии в связи с нарастающим амилоидозом и склерозом наблюдаются гибель нефронов их атрофия замещение соединительной тканью.
84202. БОЛЕЗНИ ПОЛОВЫХ ОРГАНОВ И ГРУДНЫХ ЖЕЛЕЗ 26.74 KB
  К ним относятся модулярная гиперплазия и аденома предстательной железы железистая гипоплация слизистой оболочки матки эндоцервикоз аденоматоз и полипы шейки матки доброкачественная дисплазия молочной железы. Модулярная гиперплазия и аденома предстательной железы наблюдается у 95 мужчин старше 70 лет. Мышечнофиброзная появлением значительного числа гладкомышечных волокон среди которых обнаруживаются атрофичные железистые элементы дольчатость железы нарушается.
84203. ПАТОЛОГИЯ БЕРЕМЕННОСТИ И ПОСЛЕРОДОВОГО ПЕРИОДА 26 KB
  К паталогии беременности относят: гестоз; внематочную беременность; самопроизвольный аборт; преждевременные роды; в пузырный занос. Экламксия среди проявлений токсикоза беременных наиболее клинически значима и опасна развивается во второй половине беременности реже в родах и послеродовом периоде. Развитие внематочной беременности связано с теми изменениями маточных труб которые препятствуют продвижению по ним оплодотворенного яйца хроническое воспаление врожденные аномалии опухоль.
84204. ПОНЯТИЕ ОБ ИНФЕКЦИОННЫХ БОЛЕЗНЯХ. МЕСТНЫЕ И ОБЩИЕ РЕАКЦИИ ПРИ ИНФЕКЦИЯХ. СЕПСИС 26.41 KB
  В таких случаях говорят об экзогенной инфекции. Однако заражение может быть эндогенным тогда и речь идет об эндогенной инфекции или аутоинфекции. Для инфекционных заболеваний характерен ряд общих признаков: каждое инфекционное заболевание имеет своего возбудителя который выявляется в крови или экскрементах больного; возбудитель инфекционной болезни имеет входные ворота характерные для каждой инфекции; при инфекционной болезни наблюдается образование первичного аффекта очага который обычно появляется во входных воротах. Сепсис ...
84205. КИШЕЧНЫЕ ИНФЕКЦИИ. ХОЛЕРА. САЛЬМОНЕЛЛЕЗЫ 23.78 KB
  САЛЬМОНЕЛЛЕЗЫ Холера Сальмонеллезы Холера острое инфекционное заболевание с преимущественным поражением желудка и тонкой кишки. В тонкой кишке отмечаются резкое полнокровие отек некроз и слущивание энтелиальных клеток ворсин инфильтрация слизистой лимфоцитами нейтрофилии очаги кровоизлияний. Между петлями тонкой кишки обнаруживается прозрачная липкая тянущаяся в виде нитей слизь. Септическая форма отличается от интерстициальной тем что при незначительно выраженных изменениях в тонкой кишке гесперемия отек гиперплазия лимфатического...
84206. КИШЕЧНЫЕ ИНФЕКЦИИ. ДИЗЕНТЕРИЯ. БРЮШНОЙ ТИФ 24.46 KB
  БРЮШНОЙ ТИФ Дизентерия Амебиаз брюшной тиф Дизентерия острое кишечное инфекционное заболевание с преимущественным поражением толстой кишки и явлениями интоксикации. Местные изменения развиваются в слизистой толстой кишки прямой и сигмовидной. Стадия катарального колита 2 3 дня характеризуется гиперемией и набуханием слизистой кишки в которой встречаются поверхностные участки некроза и кровоизлияния. Просвет кишки в связи со спазмом мышечного слоя сужен.
84207. БОЛЕЗНИ ОРГАНОВ ДЫХАНИЯ. БРОНХОПНЕВМОНИЯ 24.31 KB
  БРОНХОПНЕВМОНИЯ Болезни органов дыхания. Аэродинамическая фильтрация Бронхопневмония Болезни органов дыхания отмечаются многообразием клини коморфологических проявлений. Бронхопневмония воспаление легких развивающееся в связи с бронхитом или бронхиолитом. Бронхопневмония возникает гематогенным путем.