Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Назначенное виртуальное пространство представляет собой набор виртуальных адресов, действительно нужных процессу для работы.

Поиск

Сегодня для машин универсального назначения типична ситуация, когда объем виртуального адресного пространства превышает доступный объем оперативной памяти. В таком случае операционная система для хранения данных виртуально­го адресного пространства процесса, не помещающихся в оперативную память, ис­пользует внешнюю память, которая в современных компьютерах представлена жесткими дисками. Именно на этом принципе основана виртуаль­ная память — наиболее совершенный механизм, используемый в операционных системах для управления памятью.

Необходимо подчеркнуть, что виртуальное адресное пространство и виртуаль­ная память — это различные механизмы, и они не обязательно реализуются в операционной системе одновременно. Можно представить себе ОC, в которой поддерживаются виртуальные адресные пространства для процессов, но отсутст­вует механизм виртуальной памяти. Это возможно только в том случае, если размер виртуального адресного пространства каждого процесса меньше объема физической памяти.

Содержимое назначенного процессу виртуального адресного пространства, то есть коды команд, исходные и промежуточные данные, а также результаты вычисле­ний, представляет собой образ процесса.

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

Обычно виртуальное адресное пространство процесса делится на две непрерыв­ные части: системную и пользовательскую. В некоторых ОС (например, Win­dows NT, OS/2) эти части имеют одинаковый размер — по 2 Гбайт, хотя в прин­ципе деление может быть и другим, например 1 Гбайт — для ОС, и 2 Гбайт — для прикладных программ. Часть виртуального адресного пространства каждо­го процесса, отводимая под сегменты ОС, является идентичной для всех процес­сов. Поэтому при смене активного процесса заменяется только вторая часть вир­туального адресного пространства, содержащая его индивидуальные сегменты, как правило, — коды и данные прикладной программы.

Описанное выше назначение двух частей виртуального адресного пространст­ва — для сегментов ОС и для сегментов прикладной программы — является ти­пичным, но не абсолютным. Имеются и исключения из общего правила. В неко­торых ОС существуют системные процессы, порожденные для решения внутрен­них задач ОС. В этих процессах отсутствуют сегменты прикладной программы, по они могут расположить некоторые свои сегменты (сегменты ОС) в общей части виртуального адресного пространства, а некоторые — в индивидуальной части, обычно предназначенной для программных сегментов. И наоборот, в общей, системной части виртуального адресного пространства размещаются сегменты прикладного кода, предназначенные для совместного использования несколькими прикладными процессами.

Алгоритмы распределения памяти

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



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 239; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.145.37 (0.007 с.)