Главная
»
Информационные системы
»
Операционные системы
»
Сегментация виртуальной памяти
Сегментация виртуальной памяти
Схема, согласно которой программа должна занимать непрерывную область физической памяти, неудобна, а порой и просто неприменима. Например, такая схема не позволит двум процессам А и Б совместно использовать один и тот же код компилятора. Это возможно, если система может предоставить процессам две разные области памяти, называемые сегментами.
Сегменты являются единицами защиты и совместного использования памяти.
Сегментация виртуальной памяти имеет следующие преимущества:
►1.Виртуальное адресное пространство процесса разделено на области, соответствующие различным логическим частям процесса.
►2.Сегменты – это единицы совместного использования процессами кода и данных.
Недостаток сегментации заключается в том, что операционной системе неудобно выделять память сегментами переменного размера. Поскольку каждый сегмент располагается в памяти непрерывным блоком, то из-за этого со временем память системы становиться фрагментированной.
Фрагментация данного типа называется внешней. (При значительном общем объеме свободной памяти процесс может не поместиться ни в одну из свободных областей. Для решения этой проблемы можно переместить ненужные в данный момент сегменты во внешнюю память.) Операции выгрузки сегментов во внешнюю память и их повторной загрузки в основную память называются подкачкой или свопингом.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.