Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
operatsionnye_sistemy (1).docx
Скачиваний:
31
Добавлен:
02.04.2015
Размер:
229.45 Кб
Скачать

17 Образ процесса. Виртуальное адресное пространство

Содержимое назначенного процессу вирт. адресного пространства, т.е. коды команд, исходящие и промежуточные данные, а также результаты вычислений, представляют собой образ процесса. Во время работы процесса постоянно выполняются переходы от прикладных кодов к кодам ОС, которые либо явно вызываются из прикладных процессов как системные функции; либо вызываются как реакция на внешние события или исключительные ситуации, возникающие при некорректном поведении прикладных кодов. Для того, чтобы упростить передачу пр-я от прикладного кода к коду ОС, а также для легкого доступа модулей ОС к прикладным данным (например, для вывода их на внешние устройства) в большинстве ОС ее сегмент разделяют вирт. адресное пространство с прикладными сегментами активного процесса, т.е. сегменты ОС и сегменты активного процесса образуют единое виртуальное адресное пространство. Обычно вирт. адресное пространство процесса делится на две непрерывные части: системную; пользовательскую. В некоторых ОС, напр., Windows NT ОS/2 (консольная система), эти части делятся поровну и имеют одинаковый размер по 2 Gb. Хотя соотношение может быть и другим, напр., 1Gb для ОС, а остальное – пользователю. Часть вирт. адресного пространства каждого процесса, отводимая для сегментов ОС является идентичной для всех процессов. Поэтому при смене активного процесса заменяется только вторая часть вирт. адресного пространства, содержащая его индивидуальные сегменты, как правило, коды и данные прикладной программы.

ПВ 2…

ПВ 1 ПВ N Индивидуальные части ВП

Paged

Unpaged Общая часть виртуального адресного пространства

Системная часть виртуальной памяти ОС любого типа включает область, подвергаемую страничному вытеснению, Paged (листание); и область, на которую страничное вытеснение не распространяется Unpaged. В не вытесняемой области размещаются модули ОС, требующие быстрой реакции и/или постоянного присутствия в памяти. Напр., диспетчер потоков или код, который управляет заменой страниц памяти (загрузка – выгрузка страниц). Остальные модули ОС могут подвергаться страничному вытеснению как и пользовательские сегменты.

18 Методы распределения памяти

Все алгоритмы распределения (управления) памятью можно разделить на 2 класса: 1) Алгоритмы, в которых используется перемещение сегментов процессов между оперативной памятью и диском. 2) Алгоритмы, в которых внешняя память не используется.

Распределение памяти фиксированными разделами

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

Очередная задача 1 раздел

очередь

2 раздел

3 раздел

Подсистема управления памятью в этом случае выполняет задачи:

1) Сравнивает объем памяти, требуемой для вновь поступившей задачи с размерами свободных разделов и выбирает подходящий размер.

2) Осуществляет загрузку программы в один из разделов и настройку адресов. Уже на этапе трансляции разработчик программы может создать раздел, в котором ее следует выполнять. Это может позволить без использования перемещаемого загрузчика получить машинный код, настроенный на конкретную область памяти. При простоте реализации данный метод имеет существенные недостатки, т.к. в каждом разделе может выполняться только один процесс – число задач ограничено числом разделов. Кроме того, независимо от размера программы, она будет занимать весь раздел. С другой стороны, разбиение памяти на разделы не позволяет выполнять процессы, программы которых не помещаются ни в один из разделов, и для которых было бы достаточно памяти нескольких разделов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]