Фрагментация - это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.
Для борьбы с фрагментацией памяти используются механизмы сжатия и виртуальная память. Механизм виртуальной памяти заключается в том, что при нехватке места в ОП на диск выгружаются только части образов процессов. Ключевой проблемой виртуальной памяти является преобразование виртуальных адресов в физические. Решение этой проблемы зависит от того, какой способ структуризации виртуального адресного пространства принят в данной системе управления памятью.
В настоящее время все множество реализаций виртуальной памяти может быть представлено тремя классами.
1. Страничная виртуальная память организует перемещение данных между памятью и диском страницами - частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера.
|
|
2. Сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
3. Сегментно-страничная виртуальная память использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница.