Главная » Информационные системы » Операционные системы » Сегментация виртуальной памяти

Сегментация виртуальной памяти

Схема, согласно которой программа должна занимать непрерывную область физической памяти, неудобна, а порой и просто неприменима. Например, такая схема не позволит двум процессам А и Б совместно использовать один и тот же код компилятора. Это возможно, если система может предоставить процессам две разные области памяти, называемые сегментами.

Сегменты являются единицами защиты и совместного использования памяти.

Сегментация виртуальной памяти имеет следующие преимущества:

►1.Виртуальное адресное пространство процесса разделено на области, соответствующие различным логическим частям процесса.

►2.Сегменты – это единицы совместного использования процессами кода и данных.

Недостаток сегментации заключается в том, что операционной системе неудобно выделять память сегментами переменного размера. Поскольку каждый сегмент располагается в памяти непрерывным блоком, то из-за этого со временем память системы становиться фрагментированной.

Фрагментация данного типа называется внешней. (При значительном общем объеме свободной памяти процесс может не поместиться ни в одну из свободных областей. Для решения этой проблемы можно переместить ненужные в данный момент сегменты во внешнюю память.) Операции выгрузки сегментов во внешнюю память и их повторной загрузки в основную память называются подкачкой или свопингом.

 


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины