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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!