Скачиваний:
13
Добавлен:
27.09.2019
Размер:
482.3 Кб
Скачать

31. Виртуальная сегментная память.

При страничной организации виртуальное адресное пространство процесса делится механически на равные части. Это не позволяет дифференцировать способы доступа к разным частям программы (сегментам), а это свойство часто бывает очень полезным

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

Рис. 2.14. Распределение памяти сегментами

Система с сегментной организацией функционирует аналогично системе со страничной организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический. Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

32. Виртуальная сегментно-страничная память.

Как видно из названия, данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент в свою очередь делится на виртуальные страницы, которые нумеруются в пределах сегмента. Оперативная память делится на физические страницы. Загрузка процесса выполняется операционной системой постранично, при этом часть страниц размещается в оперативной памяти, а часть на диске. Для каждого сегмента создается своя таблица страниц, структура которой полностью совпадает со структурой таблицы страниц, используемой при страничном распределении. Для каждого процесса создается таблица сегментов, в которой указываются адреса таблиц страниц для всех сегментов данного процесса. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активизируется соответствующий процесс. На рисунке 2.15 показана схема преобразования виртуального адреса в физический для данного метода.

Рис. 2.15. Схема преобразования виртуального адреса в физический для сегментно-страничной организации памяти

Дополнение:::::Свойства процессов и отношения между процессами

Свойства процессов.

Процесс может быть порожден в некоторый момент времени, и в некоторый момент может быть закончен. Интервал времени между этими двумя моментами называется интервалом существования процесса.

Порядок и длительность пребывания процесса в допустимых состояниях на интервале существования называется трассой.

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

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

Процессы, время существования которых должно быть не более допустимой реакции ВС на запросы пользователя называются интерактивными.

Все остальные процессы называют пакетными.

Классификация процессов.

Если интервалы двух процессов не пересекаются во времени, то такие два процесса называются последовательными.

Если на рассматриваемом интервале времени существуют одновременно два процесса, то они на этом интервале являются параллельными.

Если на рассматриваемом интервале найдется хотя бы одна точка, в которой существует один процесс, но не существует другой , и хотя бы одна точка, в которой оба процесса существуют одновременно, то такие два процесса назывался комбинированными.

Процессы, которые развиваются на центральном процессоре, называются программными или внутренними. Все остальные процессы, проходящие под контролем и управлением ОС, на процессорах отличных от центрального называются внешними.(например процесс ввода-вывода в канале.)

Если процесс развивается по программе из состава ОС, то такой процесс называется системным , а если по программе пользователя, то пользовательским.

В ОС по требованию существующего или существовавшего процесса могут выполнятся действия по порождению процесса. Процесс задающий данное требование называется порождающим, а создаваемый процесс порожденным

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

Если в каждом из эквивалентных процессов обработка данных происходит по одной и той же программе, но трассы в общем случае не совпадают, то такие процессы называют тождественными.

При совпадении трасс у тождественных процессов их называют равными. Во всех остальных случаях процессы всегда различны.

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

Если два взаимосвязанных процесса ( например: один запускает другой) при своем развитии совместно используют некоторые ресурсы, но не обмениваются информацией, то такие процессы называются информационно-независимыми.

При наличии информационных связей между двумя процессами их называют взаимодействующими.

Когда необходимо подчеркнуть связь двух процессов, использующих одинаковые ресурсы, то их называют конкурирующими.

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