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


 

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

37711. ВИМІРЮВАННЯ КОЕФІЦІЄНТА НЕЛІНІЙНИХ СПОТВОРЕНЬ 74.5 KB
  МЕТА РОБОТИ вивчити методи вимірювання коефіцієнта нелінійних спотворень; набуття навичок роботи з сучасним вимірювачем нелінійних спотворень. Причиною виникнення нелінійних спотворень у радіоелектронних колах є нелінійність вольтамперних характеристик діодів транзисторів мікросхем ламп а також нелінійні залежності в магнітних або п'єзоелектричних елементах. Прилади для вимірювання коефіцієнта гармонік називають вимірниками нелінійних спотворень.
37713. Ознайомлення з інструментальним середовищем Lazarus 306.24 KB
  Ознайомитись із середовищем програмування Lazarus. Написати програму яка забезпечує обчислення радіуса вписаного в трикутник кола за його сторонами.
37714. Протокол SMTP 805.5 KB
  Щоб доставити повідомлення до адресата необхідно переслати його поштовому серверу домену в якому знаходиться адресат. Сервер відповідає на кожну команду рядком що містить код відповіді і текстове повідомлення відокремлене пропуском. У результаті цього спам став практично нерозв'язною проблемою так як було неможливо визначити хто насправді є відправником повідомлення фактично можна відправити лист від імені будьякої людини. DT CRLF Вказує на початок повідомлення.
37715. Двуфакторний аналіз 51.84 KB
  Суму квадратів всіх дослідів 18 4. суму квадратів сум по стовпцях поділену на число дослідів в стовпцю 19 5. суму квадратів сум по стрічках поділену на число дослідів в стрічці 20 6. суму квадратів для стовпця SS=SS2SS4; 22 8.
37716. Оператори роботи з рядками. Обробка одновимірних масивів та рядків. Статичні одновимірні масиви 675.08 KB
  Статичні одновимірні масиви. Оператори роботи з рядками. Обробка одновимірних масивів та рядків. Мета: навчитись проводити обробку одновимірних масивів та рядків мовою програмування С.
37717. Логические элементы на МДП-транзисторах 1.39 MB
  Теоретические сведения Обратное преобразование двоичного кода в код I из N выполняют преобразователи кода называемые дешифраторами. Синтез структуры дешифратора как и любого другого преобразователя кодов начинается с записи таблицы соответствия входных и выходных кодов. если число входов m и число выходов n дешифратора связаны соотношением: n = 2m то выходы определены для всех двоичных наборов и дешифратор называется полным. Пример неполного дешифратора преобразователь двоичного кода 421 в код I из 10 согласно табл.
37718. Знакомство с принципами микропрограммой эмуляции ЭВМ с программным управлением 53 KB
  р0= 1 1ый элемент р1= 1 2ой элемент р2 Ктый элемент RCT =К2 р3 Сумма Микропрограмма выполняемого алгоритма Выборка команды Адрес МК Операция Поле Значение Функция 00 mov PC OP dd PC 2 B SRC LU DB CONST 7 4 3 1 2 PC R7 D RGB RSC0 Шина DB 01 mov PC RF mov PC RGK JMP B R DST CH F 1 4 2 RF Чтение ОП RGR РЗУ JMP Адрес МК Операция Поле Значение Функция 02 dd R3R0 M MB LU CH 1 2 3 0 Из поля R1 команды Из...
37719. Дослідження динамічних властивостей теплового об’єкта регулювання 984.5 KB
  Мета роботи: експериментальне дослідження динамічних властивостей регулювання теплового обєкта знайомство з методами експериментального визначення перехідної характеристики обєкта регулювання та її параметрів. Опис лабораторного макета Дослідження динамічних властивостей теплового об'єкта регулювання і релейної CP температури здійснюється на стенді схема якого подана на рис. 0 3 4 45 55 65 8 105 125 18 225 t˚С 28 29 295 30 31 32 33 34 35 36 37 Δt˚С 0 1 05 05 1 1 1 1 1 1 1 Основними параметрами перехідної...