Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (Часть 1) OS1...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.79 Mб
Скачать

Четвертая стратегия: Выделение страницами

Идея: разбить адресное пространство задания и физическую ОП на куски одинакового, постоянного размера, которые называются страницами и блоками соответственно.

Vстр=Vблока памяти=1К

Аппаратная поддержка:

Регистр защиты.

Программная поддержка:

  1. наличие системных таблиц РМТ

  2. алгоритмы обработки таблиц РМТ, определяющие занятость/свободность блоков ОП

– фрагментация осталась (фрагмент находится внутри последнего блока задания);

– Задание размещается в памяти целиком, хотя не все страницы задания требуются в памяти одновременно;

– Размер задания ограничен размером физической памяти.

+ под страницы задания можно использовать несмежные блоки памяти;

+ схема обладает очень широкими возможностями изменения алгоритма:

  1. не помещать в ОП сразу все страницы;

  2. варьировать размер страниц и блоков

Пятая стратегия: Выделение страниц по запросу

Идея: размещать в ОП только те страницы заданий, которые необходимы в данный момент; все остальные страницы подгружать из внешней памяти по запросу по мере надобности.

Аппаратная поддержка: регистр защиты

Программная поддержка:

  1. небольшая дополнительная работа с таблицей РМТ;

  2. алгоритм проверки наличия страниц в ОП;

  3. алгоритм определения и регистрации использования страниц различными заданиями.

  4. работа с внешними устройствами

– наличие фрагментации внутри блоков (из-за постоянного, неизменного размера единиц деления физической ОП)

+ адресное пространство задания не ограничивается физическим размером ОП, т.к. в памяти размещается не все задание, а только его часть (реализация виртуальной памяти);

+ Адресное пространство в ОП размещается в несмежных блоках;

+/– Появляются возможности и проблемы с обслуживанием очередей – при удалении какой-либо страницы из ОП или подгрузке из внешней памяти;

+/– существенно повышается кол-во заданий, выполняющихся одновременно.

Реализация виртуальной памяти

Виртуальная ОП – кажущаяся безразмерной с точки зрения пользователя ОП, которая реализуется за счет обмена между ОП и внешней памятью и обеспечивается соответствующими алгоритмами, что позволяет размещать очень большие задания на небольших объемах ОП.

Реализация виртуальной памяти возможна, если:

  1. существуют алгоритмы обмена между ОП и внешней

  2. существует деление адресного пространства задания

  3. существуют соответствующие механизмы прерываний

Алгоритмы обслуживания и вытеснения страниц

  1. First In First Out – простая очередь (первая страница, загруженная/обслуженная в ОП является первым кандидатом на удаление)

  2. Last In First Out – правило обратной очереди; правило стека; (первым кандидатом на вытеснение является страница, загруженная\обслуженная последней)

  3. LRU - вытеснение наименее используемой страницы; для каждой страницы отмечается, какое время к ней не было обращения

  4. случайная выборка – удаление по принципу случайности

Шестая стратегия: Сегментное распределение

Идея: адресное пространство заданий разбивается на логически законченные куски переменного размера, называемые сегментами, и ОП выделяется под сегмент

Программная поддержка:

  1. Таблица SМТ – таблица сегментов и связанные с ее обработкой алгоритмы

№ - внутренний, уникальный идентификатор сегмента

доступ – режим использования сегмента (Е – сегмент кода, R – сегмент на чтение, W – сегмент на запись)

состояние – нахождение или отсутствие сегмента в ОП.

– сложность алгоритма, особенно из-за того, что сегменты имеют разную длину; это влияет на выполнение операции вытеснения сегментов, на реализацию защиты сегментов

– Исполнительные адреса представляют собой двумерные адреса:

а) спецификатор сегмента (начальный адрес)

б) смещение внутри сегмента

Э то означает, что при произвольном размере сегмента любой адрес необходимо проверять на нахождение его в сегменте – проблема сохранности памяти заданий.

– возможность явления пробуксовки;

– увеличиваются накладные расходы на ОС (увеличиваются ее размеры в ОП);

– размер сегмента задания ограничен размером физической ОП.

  • под размещение сегмента требуются смежные адреса ОП

  • явление «решета»

+ ликвидация фрагментации;

+ обеспечение виртуальности памяти;

+ динамическое расширение сегментов

Сегмент 6 является расширением сегмента 3 и этот сегмент выделяется по мере надобности, т.е. динамически.

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

+ совместное использование сегментов. В сочетании с динамическим связыванием и загрузкой сегментное распределение позволяет избежать дублирования сегментов. Обычно создается AST – таблица активных сегментов, которые содержат информацию о разделяемых сегментах.

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