The design of the UNIX Operating System 45 страница



Рис. 8.6. Динамика распределения памяти между процессами(серым цветом показана неиспользуемая память)

 

В какой раздел помещать процесс? Наиболее распространены три стратегии.

 

• Стратегия первого подходящего (First fit). Процесс помещается в первый подходящий по размеру раздел.

• Стратегия наиболее подходящего (Best fit). Процесс помещается в тот раздел, где после его за-грузки останется меньше всего свободного места.

• Стратегия наименее подходящего (Worst fit). При помещении в самый большой раздел в нем оста-ется достаточно места для возможного размещения еще одного процесса.

 

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

 

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

 

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

 

Статистический анализ показывает, что пропадает в среднем 1/3 памяти! Это известное правило 50% (два соседних свободных участка в отличие от двух соседних процессов могут быть объединены).

 

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

 

Страничная память

 

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

 

В самом простом и наиболее распространенном случае страничной организации памяти (или paging) как логическое адресное пространство, так и физическое представляются состоящими из наборов блоков или страниц одинакового размера. При этом образуются логические страницы (page), а соответствующие единицы в физической памяти называют физическими страницами или страничными кадрами (page frames). Страницы (и страничные кадры) имеют фиксированную длину, обычно являющуюся степенью числа 2, и не могут перекрываться. Каждый кадр содержит одну страницу данных. При такой организа-ции внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации, поскольку процесс занимает целое число страниц, ограничены частью последней страницы процесса.


Дата добавления: 2021-01-21; просмотров: 81; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!