Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Operatsionnye_Sistemy.docx
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
94.15 Кб
Скачать

1, 2, 3… (Переписать)

Страничная организация памяти

Пространство адресов памяти делится на блоки фиксированной длины.

Программа – набор страниц той же длины.

N страниц – (n-1) страниц полные, n-ая неполная

Адрес: P – номер страницы

d – смещение внутри сегмента

Задание: таблица страниц – содержит описание страниц программ всего задания

ЦП – регистр в таблице страниц (РТСтр – таблица страниц текущего задания)

Признак (в памяти или нет)

Биты защиты

Адрес

P – номер строки

Плюсы:

  1. Перемещение страниц – нетрудоемкая задача (достаточно иметь список свободных страниц).

Минусы:

  1. Для доступа к адресуемому объекту необходимо 2 обращения к ОЗУ.

Борьба: кеширование отображения контекст (идентификатор задачи) + P <-> адрес страницы

Кэш – ПАК

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

  2. Фрагментация при страничной организации памяти внутренняя (внутри страницы возможны неиспользуемые поля). При сегментной организации программ – внешняя (между сегментами возможны неиспользуемые поля).

Сочетание сегментной организации программ и страничную организацию памяти.

  1. ОЗУ – разбивается на страницы фиксированной длины

  2. Задание – совокупность сегментов с кодом и данными

  3. Каждый сегмент делится на страницы той же длины

Адрес: S, P, d – номер сегмента, страницы, смещение

ЦП – РТС (регистр таблицы сегментов)

Размер сегмента

Адрес таблицы страниц

Плюсы: все преимущества сегментной организации программ и сегментной организации памяти.

Минусы:

  1. Доступ к объекту требует 3 обращения к памяти.

Борьба – кэширование отображения контекст + S + P <-> физический адрес страницы.

Кэш – ПАК

Виртуальная память.

Цель: избавить программиста от необходимости учета ограничений размера физической памяти конкретной ВС при разработке приложения.

Виртуальная память основана на методах динамического распределения памяти.

Реализация ВП в том числе основана на аппаратных средствах.

Регистры, кэш, ОЗУ, HDD.

i < j:

  1. M(i) быстрее M(j)

  2. M(i) меньше M(j)

  3. Удельная стоимость единицы памяти M(i) больше M(j)

Перемещение:

  1. Страниц (4,5 метод)

  2. Сегментов (3 метод)

Сегментация – логический подход к пространству адресов.

Страничная организация – физический подход.

Основные вопросы реализации ВП:

  1. Как распределить память каждого уровня.

  2. Какие критерии применять при подкачке адресуемых объектов.

  3. Какие критерии применять при вытеснении АО.

Стратегии распределения памяти для сегментов переменной длины.

Задачи: найти стратегию распределения, которая

  1. хорошо загружает память

  2. при минимальных издержках распределяющих алгоритмов.

Решения:

  1. Вести список свободной памяти.

  2. Уплотнение множества фрагментов один экстент (непрерывная область)

Список свободной памяти – список пустот в нашей оперативной памяти.

Различают 3 классических способа ведения списков.

  1. Список пустот, упорядоченных по возрастанию адресов

Пустота (указатель на следующую пустоту, длина)

Позволяет соседние пустоты объединять в одну пустоту.

Существует 2 стратегии поиска подходящей пустоты:

    1. Выбор первой подходящей пустоты ( ).

    2. Выбор самой подходящей пустоты ( ).

Во многих случаях первая стратегия лучше загружает оперативную память, чем вторая.

  1. Список пустот, упорядоченных по размерам пустот

При этом: 1 стратегия поиска дает 2-ю.

Пустота (указатель на следующую пустоту, длина)

Модификация способа 2:

Список пустот дополняется дополнительным списком (дополнительными указателями).

указывает на 1-ю пустоту размера

Минусы:

    1. Список трудно сопровождать.

    2. Трудно объединить соседние пустоты.

  1. Организация пустот системой расщепления.

Память представлена множеством блоков размера где размер физической памяти.

Сопровождается список.

Некоторые списки могут быть пустыми.

Поиск пустоты размера :

    1. Поиск начинается в списке . Если он не пуст, то выделяет пустоту.

    2. Если нет, поиск продолжается в списке . Если что-то есть, то пустота делится пополам, пустоты отправляется в список , а вторая часть пустоты предоставляется запросу.

    3. Если список S пуст, то запрос неудовлетворен.

Плюсы:

  1. Легко сопровождать списки.

  2. Легко объединять соседей.

Если не найдена пустота нужного размера:

  1. Отказать в запросе

  2. Вытеснить какой-нибудь сегмент

  3. Выполнить операцию уплотнения (перегруппировка пустот и их объединение в единое целое)

Целесообразность:

    • Сумма пустот больше размера запроса

    • Если ЦП не загружен работой

    • Пустоты должны быть относительно велики (определяет трудоемкость уплотнения)

Стратегии подкачки:

  1. Стратегия подкачки по запросу (по прерыванию).

  2. Опережающая подкачка – при известной связи между сегментами/страницами.

Экономия на обработке прерываний.

Издержки – можно подкачать лишнего.

Стратегии вытеснения:

  1. Случайный выбор.

Часто вытесняются нужные объекты.

  1. FIFO.

Часто вытесняются нужные объекты.

  1. Вытесняется по давности использования (LRU – Least Recently Used).

Имеет трудоемкое сопровождение.

Стратегия очень близка к оптимальной в большинстве случаев.

  1. Оптимальное вытеснение – нереализуема.

Должна вытеснять объект, к которому не будет обращений дольше всего.

Используется для сравнения других стратегий.

  1. Предписанные пользователем приоритеты.

  2. Приоритеты, задаваемые задачам системой на основе измерений.

  3. Смешанные методы – основаны на здравом смысле.

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

    1. АО неактивной задаче, АО только для чтения.

    2. АО неактивной задаче, АО только для записи.

    3. АО управляемый программой, к которой не было обращений уже секунд.

    4. АО задачи, ожидающий в/в.

    5. АО любой другой задачи.

Управление внешней памятью (на магнитном диске).

Время доступа к конкретной записи складывается из:

  1. Время поиска цилиндра (время позиционирования каретки с МГ)

  2. Время поиска записи на дорожке

  3. Время чтения записи наших данных

Планировщик:

  1. Анализ позиционных связей различных запросов

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

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