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

Простейшая схема управления памятью:

 

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

 

2) Схема с переменными разделами. В этом случае изначально память свободна и не разделена на раздела. Вновь поступающие задачи выделяют необходимое количество памяти, не более. После выгрузки процесса память освобождается, в результате память представляет собой переменной число разделов разного размера. Смежные свободные участки могут быть объединены. Существуют 3 стратегии для размещения процессов в переменных разделах:

 

a) Стратегия первого подходящего. В этом случае процесс помещается в первый подходящий по размеру раздел.

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

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

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

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

Выбор стратегии размещения слабо влияет на величину фрагментации. Наихудшем является метод наиболее подходящего.

 

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

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