Когда мы говорим об оперативной памяти в компе, то
подразумеваем 3 уровня представления памяти:
- в виде символьных переменных в программе,
- в виде адресов виртуальной памяти, которые
получаются после компиляции программы,
- в виде физических ячеек памяти, которые
собственно и содержат данные.
Задача системного программного обеспечения –
связать каждое символьное имя с физической ячейкой памяти. Если символьная
переменная образует пространство имен, то виртуальная и физическая память
адресуются номерами ячеек памяти.
- Vv < Vp -
реальный режим работы микропроцессора 8086 и ОС MS-DOS.
- Vv = Vp –
часто встречается в миниЭВМ.
- Vv > Vp – это современная ОС.
Способы
распределения памяти:
1. Простое
непрерывное распределение
Вся память делится на 3 части:
-
Область
ОС
-
Область
программы
-
Свободная
область памяти
В этом случае ОС не поддерживает
мультизадачность => нет проблем с распределением памяти. Область памяти
непрерывная, что упрощает работу компилятора. Привязка виртуальных адресов к
физическим осуществляется на этапе загрузки программы.
Одна часть ОС всегда находится в
памяти и называется резидентным ядром. А вторая часть может загружаться и
выгружаться и называется транзитной.
Достоинство:
-
Недорогая
и легко программируемая реализация
Недостатки:
-
Однозадачный
режим работы.
-
Неэффективное
использование памяти.
2. Оверлейное
распределение (OverLay)
Если адресное пространство программы больше, чем размер оперативной памяти, то используется распределение с перекрытием. Каждая программа имеет одну главную часть и несколько оверлейв – сегментов, которые могут перекрываться по адресному пространству. В памяти всегда находится главная часть и один или несколько оверлейев, которые не перекрываются между собой. Остальные оверлеи находятся на диске.
Когда необходимо выполнить сегмент,
находящийся на диске, он загружается в ОЗУ с возможным
перекрытием других
сегментов. Такая реализация может быть выполнена либо с помощью компилятора (Borland C++3.1),
либо с помощью ОС.
Достоинство:
-
увеличение
полезного размера программы
Недостаток:
-
накладные
расходы на загрузку и выгрузку оверлеев.
Комментариев нет:
Отправить комментарий