
- •Часть 1
- •Жизненный цикл выполнения программы
- •Управление оперативной памятью
- •Вторая стратегия: Распределение разделами
- •Третья Стратегия : Выделение перемещаемыми разделами
- •Логическая схема алгоритма перемещения
- •Четвертая стратегия: Выделение страницами
- •Пятая стратегия: Выделение страниц по запросу
- •Реализация виртуальной памяти
- •Алгоритмы обслуживания и вытеснения страниц
- •Шестая стратегия: Сегментное распределение
- •Седьмая стратегия: Странично-сегментное распределение
- •Резюме (Итоги)
- •Семь схем распределения памяти
- •Методы обеспечения виртуальной памяти
- •Основные термины
- •Адресация
- •Эффекты
- •Управление процессами
- •Понятие дескриптора
- •Прерывания
- •Планирование и диспетчеризация процессов и задач
- •Планирование заданий в системах без мультипрограммирования
- •Диспетчеризация в системах с мультипрограммированием
- •Синхронизация заданий и процессов
- •Резюме по управлению процессами
- •Основные понятия:
- •Виды вычислительных процессов:
- •Управление процессами. Задачи:
- •Функциональные компоненты ос по управлению процессами:
- •Место функциональных компонентов на схеме «Жизненный цикл задания»
- •Прерывания и механизм прерывания:
- •Функции по управлению задачами:
- •Диспетчеризация:
- •Конфликтные ситуации:
- •Управление информацией и внешними устройствами
- •Файловая система
- •Задача 1. Минимизация операций в/в
- •Управление внешними устройствами
- •Накопители на магнитных дисках
- •Резюме: Управление информацией и внешними устройствами
- •Основные понятия
- •Единицы хранения информации:
- •2. Управление информацией.
- •3. Структура файловой системы:
- •4. Структуры данных:
- •5. Доступ к данным:
- •4. Физический уровень файловой системы:
Четвертая стратегия: Выделение страницами
Идея: разбить адресное пространство задания и физическую ОП на куски одинакового, постоянного размера, которые называются страницами и блоками соответственно.
Vстр=Vблока памяти=1К
Аппаратная поддержка:
Регистр защиты.
Программная поддержка:
наличие системных таблиц РМТ
алгоритмы обработки таблиц РМТ, определяющие занятость/свободность блоков ОП
– фрагментация осталась (фрагмент находится внутри последнего блока задания);
– Задание размещается в памяти целиком, хотя не все страницы задания требуются в памяти одновременно;
– Размер задания ограничен размером физической памяти.
+ под страницы задания можно использовать несмежные блоки памяти;
+ схема обладает очень широкими возможностями изменения алгоритма:
не помещать в ОП сразу все страницы;
варьировать размер страниц и блоков
Пятая стратегия: Выделение страниц по запросу
Идея: размещать в ОП только те страницы заданий, которые необходимы в данный момент; все остальные страницы подгружать из внешней памяти по запросу по мере надобности.
Аппаратная поддержка: регистр защиты
Программная поддержка:
небольшая дополнительная работа с таблицей РМТ;
алгоритм проверки наличия страниц в ОП;
алгоритм определения и регистрации использования страниц различными заданиями.
работа с внешними устройствами
– наличие фрагментации внутри блоков (из-за постоянного, неизменного размера единиц деления физической ОП)
+ адресное пространство задания не ограничивается физическим размером ОП, т.к. в памяти размещается не все задание, а только его часть (реализация виртуальной памяти);
+ Адресное пространство в ОП размещается в несмежных блоках;
+/– Появляются возможности и проблемы с обслуживанием очередей – при удалении какой-либо страницы из ОП или подгрузке из внешней памяти;
+/– существенно повышается кол-во заданий, выполняющихся одновременно.
Реализация виртуальной памяти
Виртуальная ОП – кажущаяся безразмерной с точки зрения пользователя ОП, которая реализуется за счет обмена между ОП и внешней памятью и обеспечивается соответствующими алгоритмами, что позволяет размещать очень большие задания на небольших объемах ОП.
Реализация виртуальной памяти возможна, если:
существуют алгоритмы обмена между ОП и внешней
существует деление адресного пространства задания
существуют соответствующие механизмы прерываний
Алгоритмы обслуживания и вытеснения страниц
First In First Out – простая очередь (первая страница, загруженная/обслуженная в ОП является первым кандидатом на удаление)
Last In First Out – правило обратной очереди; правило стека; (первым кандидатом на вытеснение является страница, загруженная\обслуженная последней)
LRU - вытеснение наименее используемой страницы; для каждой страницы отмечается, какое время к ней не было обращения
случайная выборка – удаление по принципу случайности
Шестая стратегия: Сегментное распределение
Идея: адресное пространство заданий разбивается на логически законченные куски переменного размера, называемые сегментами, и ОП выделяется под сегмент
Программная поддержка:
Таблица SМТ – таблица сегментов и связанные с ее обработкой алгоритмы
№ - внутренний, уникальный идентификатор сегмента
доступ – режим использования сегмента (Е – сегмент кода, R – сегмент на чтение, W – сегмент на запись)
состояние – нахождение или отсутствие сегмента в ОП.
– сложность алгоритма, особенно из-за того, что сегменты имеют разную длину; это влияет на выполнение операции вытеснения сегментов, на реализацию защиты сегментов
– Исполнительные адреса представляют собой двумерные адреса:
а) спецификатор сегмента (начальный адрес)
б) смещение внутри сегмента
Э
то
означает, что при произвольном размере
сегмента любой адрес необходимо проверять
на нахождение его в сегменте – проблема
сохранности памяти заданий.
– возможность явления пробуксовки;
– увеличиваются накладные расходы на ОС (увеличиваются ее размеры в ОП);
– размер сегмента задания ограничен размером физической ОП.
под размещение сегмента требуются смежные адреса ОП
явление «решета»
+ ликвидация фрагментации;
+ обеспечение виртуальности памяти;
+ динамическое расширение сегментов
Сегмент 6 является расширением сегмента 3 и этот сегмент выделяется по мере надобности, т.е. динамически.
+ динамическое связывание и загрузка (программы имеют, как правило, сложную структуру, но ОС не рассматривает эту структуру сразу после загрузки). Предлагается следующий вариант: загружается сегмент только головного модуля и по мере надобности, т.е. при нахождении внешнего имени в программе, связывается и загружается сегмент, содержащий данное внешнее имя. Повышается эффективность исп. ОП, т.к. в ней находится всегда только то, что необходимо в данный момент.
+ совместное использование сегментов. В сочетании с динамическим связыванием и загрузкой сегментное распределение позволяет избежать дублирования сегментов. Обычно создается AST – таблица активных сегментов, которые содержат информацию о разделяемых сегментах.
+ управляемый доступ к сегменту. На основе таблицы SMT ОС создает матрицы управления доступом, в которых помечаются режимы доступа для сегментов для отдельных пользователей или групп.