Операционные системы. Макушкина Л.А - 31 стр.

UptoLike

31
Но главный недостаток сегментного распределения это фрагментация,
которая возникает из-за непредсказуемости размеров сегментов. В процессе
работы системы в памяти образуются небольшие участки свободной памяти, в
которые не может быть загружен ни один сегмент. Суммарный объем,
занимаемый фрагментами, может составить существенную часть общей памяти
системы, приводя к ее неэффективному использованию.
Система с сегментной организацией функционирует аналогично системе со
страничной организацией: при каждом обращении к оперативной памяти
выполняется преобразование виртуального адреса в физический, время от времени
происходят прерывания, связанные с отсутствием нужных сегментов в памяти,
при необходимости освобождения памяти некоторые сегменты выгружаются.
Одним из существенных отличий сегментной организации памяти от
страничной является возможность задания дифференцированных прав доступа
процесса к его сегментам. Например, один сегмент данных, содержащий исходную
информацию для приложения, может иметь права доступа «только чтение», а
сегмент данных, представляющий результаты, «чтение и запись». Это свойство
дает принципиальное преимущество сегментной модели памяти над страничной.
2.2.3 Сегментно-страничное распределение
Данный метод представляет собой комбинацию страничного и сегментного
механизмов управления памятью и направлен на реализацию достоинств обоих
подходов.
Так же как и при сегментной организации памяти, виртуальное адресное
пространство процесса разделено на сегменты. Это позволяет определять разные
права доступа к разным частям кодов и данных программы.
Перемещение данных между памятью и диском осуществляется не сегментами,
а страницами. Для этого каждый виртуальный сегмент и физическая память
делятся на страницы равного размера, что позволяет более эффективно
использовать память, сократив до минимума фрагментацию.
В большинстве современных реализаций сегментно-страничной организации
памяти в отличие от набора виртуальных диапазонов адресов при сегментной
организации памяти (рисунок 14, а) все виртуальные сегменты образуют одно
непрерывное линейное виртуальное адресное пространство (рисунок 14, б).
Координаты байта в виртуальном адресном пространстве при сегментно-
страничной организации можно задать двумя способами. Во-первых, линейным
виртуальным адресом, который равен сдвигу данного байта относительно границы
общего линейного виртуального пространства, во-вторых, парой чисел, одно из
которых является номером сегмента, а другое смещением относительно начала
сегмента. При этом в отличие от сегментной модели, для однозначного задания
виртуального адреса вторым способом необходимо каким-то образом указать
также начальный виртуальный адрес сегмента с данным номером. Системы
виртуальной памяти ОС с сегментно-страничной организацией используют второй
способ, так как он позволяет непосредственно определить принадлежность адреса
некоторому сегменту и проверить права доступа процесса к нему.
   Но главный недостаток сегментного распределения — это фрагментация,
которая возникает из-за непредсказуемости размеров сегментов. В процессе
работы системы в памяти образуются небольшие участки свободной памяти, в
которые не может быть загружен ни один сегмент. Суммарный объем,
занимаемый фрагментами, может составить существенную часть общей памяти
системы, приводя к ее неэффективному использованию.
   Система с сегментной организацией функционирует аналогично системе со
страничной организацией: при каждом обращении к оперативной памяти
выполняется преобразование виртуального адреса в физический, время от времени
происходят прерывания, связанные с отсутствием нужных сегментов в памяти,
при необходимости освобождения памяти некоторые сегменты выгружаются.
   Одним из существенных отличий сегментной организации памяти от
страничной является возможность задания дифференцированных прав доступа
процесса к его сегментам. Например, один сегмент данных, содержащий исходную
информацию для приложения, может иметь права доступа «только чтение», а
сегмент данных, представляющий результаты, — «чтение и запись». Это свойство
дает принципиальное преимущество сегментной модели памяти над страничной.

   2.2.3 Сегментно-страничное распределение
   Данный метод представляет собой комбинацию страничного и сегментного
механизмов управления памятью и направлен на реализацию достоинств обоих
подходов.
   Так же как и при сегментной организации памяти, виртуальное адресное
пространство процесса разделено на сегменты. Это позволяет определять разные
права доступа к разным частям кодов и данных программы.
   Перемещение данных между памятью и диском осуществляется не сегментами,
а страницами. Для этого каждый виртуальный сегмент и физическая память
делятся на страницы равного размера, что позволяет более эффективно
использовать память, сократив до минимума фрагментацию.
   В большинстве современных реализаций сегментно-страничной организации
памяти в отличие от набора виртуальных диапазонов адресов при сегментной
организации памяти (рисунок 14, а) все виртуальные сегменты образуют одно
непрерывное линейное виртуальное адресное пространство (рисунок 14, б).
   Координаты байта в виртуальном адресном пространстве при сегментно-
страничной организации можно задать двумя способами. Во-первых, линейным
виртуальным адресом, который равен сдвигу данного байта относительно границы
общего линейного виртуального пространства, во-вторых, парой чисел, одно из
которых является номером сегмента, а другое — смещением относительно начала
сегмента. При этом в отличие от сегментной модели, для однозначного задания
виртуального адреса вторым способом необходимо каким-то образом указать
также начальный виртуальный адрес сегмента с данным номером. Системы
виртуальной памяти ОС с сегментно-страничной организацией используют второй
способ, так как он позволяет непосредственно определить принадлежность адреса
некоторому сегменту и проверить права доступа процесса к нему.


                                     31