ВУЗ:
Составители:
сегмента несколькими процессами. Например, если два процесса используют
одну и ту же математическую подпрограмму, то в оперативную память может
быть загружена только одна копия этой подпрограммы.
Рис. 24
Рассмотрим, каким образом сегментное распределение памяти реализует
эти возможности (рисунок.) Виртуальное адресное пространство процесса
делится на сегменты, размер которых определяется программистом с учетом
смыслового значения содержащейся в них информации. Отдельный сегмент
может представлять собой подпрограмму, массив данных и т. п. Иногда
сегментация программы выполняется по умолчанию компилятором.
При загрузке
процесса часть сегментов помещается в оперативную
память (при этом для каждого из этих сегментов операционная система
подыскивает подходящий участок свободной памяти), а часть сегментов
размещается в дисковой памяти. Сегменты одной программы могут занимать в
оперативной памяти несмежные участки. Во время загрузки система создает
таблицу сегментов процесса (аналогичную таблице страниц), в
которой для
каждого сегмента указывается начальный физический адрес сегмента в
оперативной памяти, размер сегмента, правила доступа, признак модификации,
признак обращения к данному сегменту за последний интервал времени и
некоторая другая информация. Если виртуальные адресные пространства
нескольких процессов включают один и тот же сегмент, то в таблицах
сегментов этих процессов делаются ссылки
на один и тот же участок
39
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »
