Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





Память просто разделяется на несколько разделов (возможно, не равных). Процессы могут быть разными, поэтому каждому разделу необходим разный размер памяти.

Системы могут иметь:

· общую очередь ко всем разделам

· к каждому разделу отдельную очередь

 

 

Недостаток системы многих очередей очевиден, когда большой раздел может быть свободным, а к маленькому выстроилась очередь.

Алгоритмы планирования в случае одной очереди:

· поочередный

· выбирается задача, которая максимально займет раздел

Также может быть смешанная система.

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

В такой системе сначала память свободна, потом идет динамическое распределение памяти.

В этом случае память машины не делится заранее на разделы. Сначала вся память свободна.

Каждой вновь поступающей задаче выделяется необходимая ей память.

Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача.

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

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

 

 

 

 

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

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

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

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

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

В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется «сжатием».

Сжатие может выполняться:

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

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

 

\

 

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

Рост разделов

Иногда процессу может понадобиться больше памяти, чем предполагалось изначально.

Настройка адресов и защита памяти

В предыдущих примерах есть 2 основные проблемы:

· Настройка адресов или перемещение программ в памяти

· Защита адресного пространства каждой программы

 

Рост разделов

Решение обоих проблем заключается в оснащении машины специальными аппаратными регистрами.

· Базовый (указывает начало адресного пространства программы)

· Предельный (указывает конец адресного пространства программы)

Методы с использованием внешней памяти (свопинг и виртуальная память)

Так как памяти, как правило, не хватает. Для выполнения процессов часто приходится использовать диск.

Основные способы использования диска:

· Свопинг (подкачка) - процесс целиком загружается в память для работы

· Виртуальная память - процесс может быть частично загружен в память для работы

Свопинг (подкачка)

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

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

Свопер - планировщик, управляющий перемещением данных между памятью и диском.

Этот метод был основным для UNIX до версии 3BSD.







Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.