- •13. Преобразование адресов в вс
- •14. Построение загрузочного модуля простой структуры
- •15. Загрузочный модуль оверлейной структуры (с перекрытием)
- •16. Загрузочные модули динамической структуры
- •17. Однократно и повторно используемые и повторно входимые программные модули
- •18. Сопрограммы
- •19. Структура и организация управляющей программы ос
- •20. Оценка времени простоя цп в мультипрограммном режиме
- •21. Управление памятью, распределенной статическими разделами.
- •22. Управление памятью, распределенной динамическими разделами.
- •23. Способы уменьшения фрагментации оп.
- •24. Управление страничной памятью по запросам.
- •25. Методы замещения страниц fifo, lru.
- •26. Явление пробуксовки в страничных системах и стратегия рабочего множества.
- •27. Управление памятью с сегментным распределением.
- •28. Управление памятью с сегментно-страничным распределением.
- •29. Понятие процесса. Представление процессов в ос.
- •30. Понятие ресурса. Виды ресурсов.
- •31. Алгоритмы диспетчеризации процессов.
- •32. Взаимодействие и синхронизация процессов. Проблемы "критической секции", "поставщик-потребитель", "читатели-писатели".
- •34. Механизмы синхронизации: post/wait
- •35. Синхронизация посредством обмена сообщениями.
- •36. Тупиковые ситуации в ос
- •37. Прямой и косвенный ввод-вывод.
- •38. Монопольно используемые, разделяемые и виртуальные устройства.
- •39. Планирование запросов для последовательно-разделяемых устройств
- •42. Организация ввода-вывода в диалоговой системе (прямой вв-в)
- •43. Логическая система вв-в
- •44. Буферизация
- •45. Функции системы управления данными
- •46. Доступ к информационному ресурсу
- •47. Управление оп в unix
- •48. Управление процессами в unix
28. Управление памятью с сегментно-страничным распределением.
Использование стратегии управления памятью с сегментно-страничным распределением связано с желанием устранить недостатки, обусловленные переменной длиной сегментов, и сохранить преимущества, связанные с сегментной организацией. Стратегия основана отображении многосегментного адресного пространства задачи на страничную память. Логическое адресное пространство каждой задачи разбивается на сегменты. Адресное пространство каждого сегмента разбивается на страницы.
В ОП загружаются страницы. Таким образом, адресное пространство сегмента не загружается целиком в ОП, а загружается лишь используемая часть. Во внешней памяти также хранятся страницы. Обмен между ОП и внешней памятью идет, как при страничном распределении с замещением страниц.
Программный адрес содержит три компонента: 3 - номер сегмента, Р - номер страницы, Ь - смещение на странице. Для преобразования его в абсолютный адрес используется схема динамического преобразования адресов, показанная на рис, которая совмещает схемы преобразования адресов для страничного и сегментного распределений.
Программный адрес
ОП
S P L
Таблица
страниц
задачи
B
Таблица
страниц
задачи
B
+
страница
+
По S в таблице сегментов задачи отыскивается базовый адрес таблицы страниц этого сегмента В1, который вместе с номером страницы Р позволяет найти по таблице страниц сегмента базовый адрес страницы В в ОП. Базовый адрес В и смещение на странице L образуют абсолютный адрес.
Таблица сегментов задачи связывает сегмент, и страницы, принадлежащие сегментам. Каждый элемент таблицы содержит базовый адрес таблицы страниц данного сегмента. Кроме тоги, элемент таблицы сегментов должен содержать бит состояния, который показывает загружена или нет таблица страниц данного сегмента. Если таблица страниц не загружена в ОП, то возникает сегментное прерывание. Обработка этого прерывания завершается загрузкой таблицы страниц сегмента. Таблицы страниц сегментов могут также располагаться на страницах и участвовать в страничном обмене.
Алгоритм обработки сегментного прерывания получает в качестве параметра номер таблицы страниц сегмента и выглядит следующим образом:
АГОРИТМ
Поиск свободной физической страницы в ОП для размещения таблицы страниц сегмента.
ЕСЛИ Отсутствует свободная страница
ТО Освободить физическую страницу для загрузки таблицы страниц сегмента.
ВСЕ ЕСЛИ
Найти адрес таблицы страниц сегмента в таблице внешних сегментов.
Прочитать таблицу страниц сегмента в ОП.
Откорректировать таблицу сегментов и таблицу физических страниц.
Повторить команду.
КОНЕЦ
Алгоритм обработки страничного прерывания получает в качестве параметра номер страницы и выглядит следующим образом:
АЛГОРИТМ
По таблице физических страниц отыскивается свободная страница.
ЕСЛИ Отсутствует свободная физическая страница
ТО Выбрать страницу для удаления.
Откорректировать таблицу страниц сегмента, которой принадлежит выбранная страница.
Откорректировать таблицу физических страниц, поставив состояние "транзит".
ЕСЛИ Содержимое выбранной страницы менялось
ТО Записать страницу во внешнюю память.
Откорректировать таблицу внешних страниц сегментов
ВСЕ ЕСЛИ
ВСЕ ЕСЛИ
Получить адрес требуемой страницы во внешней памяти
по таблице внешних страниц сегмента.
Прочитать страницу в ОП.
Откорректировать таблицу страниц сегмента.
Откорректировать таблицу физических страниц.
Повторить прерванную команду.
КОНЕЦ
Достоинства и недостатки.
Достоинства.
большая память, предоставляемая пользователям за счет реализации идеи виртуальной памяти
эффективное использование ОП за счет загрузки только необходимой части адр. пространства.
Нет огранич. на размер сегмента
Отсутствуют недостатки, вызванные использованием сегментов переменной длины
Можно поддерживать различные виды доступа к сегментам и защиты сегментов
Недостатки
Явление "пробуксировки".