Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по ОС_Ответы.doc
Скачиваний:
51
Добавлен:
24.09.2019
Размер:
926.72 Кб
Скачать

21) Стратегии предотвращения блокировок. (исключение условий в определении блокировок)

Предотвращение блокировок:

  1. Атака взаимного исключения;

  2. Атака условия удержания и ожидания;

Пример: Если все ресурсы запрашиваются одновременно, то тупиков не возникнет; если мы ожидаем несколько ресурсов WaitForMultipleObjects(), то тупиков тоже нет.

  1. Атака условия отсутствия принудительной выгрузки;

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

22) Методы управления памятью без использования внешней памяти. (фиксированные, динамические и перемещаемые разделы)

Управление памятью

Типы адресов:

Символьные имена

Id переменных в программе

Транслятор

Виртуальные адреса

Условные адреса, вырабатываемые транслятором

  1. перемещающий загрузчик

  2. динамическое преобразование

Физические адреса

Номера ячеек

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

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

0

#100

Величины смещений в коде программы складываются с БА (при загрузке программы)

Jmp #10

#10

Виртуальное адресное пространство

Физическое адресное пространство

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

Методы распределения памяти

Существует 2 основных способа:

- без использования дискового пространства (ДП);

- с использованием ДП.

Методы без использования ДП разделяются на:

  • с использованием фиксированных разделов;

  • с использованием динамических разделов;

  • с использованием перемещаемых разделов;

Методы с использованием ДП разделяются на:

  • страничный способ;

  • сегментный способ;

  • сегментно-страничный.

    • Без использования ДП с использованием фиксированных разделов

Физическая память

Индивидуальные очереди задач

Раздел

Очередь задач к разделам (общая)

Раздел

…………

Раздел

Раздел

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

Достоинства: простота

Недостатки: недостаточная гибкость

    • Динамические разделы

ОС

ОС

ОС

ОС

31

33

33

32

32

32

34

t0

t1

t2

t3

Занятая память

Свободная память

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

Принцип выбора (способы):

  • первый подходящий

  • наименьший подходящий

  • наибольший подходящий

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

Недостатки: фрагментация памяти (наличие большого числа несмежных свободных участков памяти маленького размера)

Такой способ разделения памяти используется для управления кучей процесса.

    • Перемещаемые разделы

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

Достоинства: неразделенная свободная область памяти

Недостатки: в отличии от предыдущих способов нельзя использовать перемещающий загрузчик; процедура сжатия может быть затратна по времени (поэтому обычно сжатие выполняется когда не удается выполнить загрузку программы)