Алгоритмы распределения памяти без использования внешней памяти
Некоторые понятия связанные с виртуальными адресами
Максимально возможное виртуальное адресное пространство(ВАП) – определяется разрядностью процессора. Для 32 – разрядного Intel Pentium эта величина составляет 4Гб.
Назначенное ВАП – действительно необходимое процессу для работы. Его также называют образом процесса. Назначенное ВАП может превышать физический объем памяти. На этом основан механизм виртуальной памяти.
ВАП и виртуальная память – это разные механизмы для ОС. ОС может поддерживать ВАП, но механизм виртуальной памяти может при этом отсутствовать. Например, в случае превышения физической памяти над ВАП любого процесса.
Системная и пользовательская части ВАП (по 2 Гб каждая)
Распределение памяти фиксированными разделами
Распределение памяти динамическими разделами
При использовании данного метода память в начальный момент времени считается свободной (за исключением памяти отведенной под ОС). Каждому процессу отводится вся необходимая память. Если ее не хватает, то процесс не создается. В произвольный момент времени память представляет собой случайную последовательность занятых и свободных участков.
Функции ОС:
Ведение таблиц свободных и занятых участков
Поиск участка
Загрузка и корректировка таблиц
После завершения процесса корректировка таблиц
Достоинство: большая гибкость, по сравнению с методом распределения фиксированными разделами. Недостаток – высокий уровень фрагментации.
Распределение памяти перемещаемыми разделами
В этом методе разработчики попытались учесть достоинства и недостатки предыдущего.
Один из способов борьбы с фрагментацией – сжатие, таким образом, чтобы вся свободная память образовала непрерывную область – дефрагментация. Такой метод был применен в ранних версиях OS/2.
Недостаток этого метода – низкая производительность.