Добавил:
vk.com/timelordru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БОС Ekzamen.docx
Скачиваний:
12
Добавлен:
02.06.2024
Размер:
5.98 Mб
Скачать

34. Тупиковые ситуации. Определение, условия возникновения. Стратегии, используемые относительно взаимоблокировок.

Взаимоблокировка (тупиковая ситуация) – состояние в операционной системе, когда процессы не могут получить доступ к какому-либо ресурсу из-за невозможности его освобождения одним из процессов.

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

Условия взаимоблокировки

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

Условие удержания и ожидания – процессы, в данный момент удерживающие полученные ранее ресурсы, могут запрашивать новые ресурсы.

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

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

Стратегии, используемые по отношению к взаимоблокировкам

  • Игнорирование проблемы - Часть взаимоблокировок не обнаруживается.

  • Обнаружение взаимоблокировки и восстановление работоспособности.

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

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

Методы обнаружения взаимоблокировки при наличии одного ресурса каждого типа:

    • построение графа использования ресурсов и проверка графа на наличие циклов.

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

    • построение вектора существующих ресурсов и вектора доступных ресурсов;

    • построение матрицы текущего распределения ресурсов и матрицы запросов на ресурсы;

    • поиск заблокированных процессов путём сравнения векторов.

54. Способы обеспечения замкнутости программной среды. Достоинства и недостатки этих методов.

Механизм обеспечения замкнутости программной среды – управление запуском программ в системе.

Способы реализации:

• в виде задания списков;

• в виде задания каталогов.

Задание списков исполняемых файлов

Механизм состоит в задании для каждого пользователя списка файлов, которые ему разрешено запускать.

Требования к корректности функционирования механизма:

• исполняемый файл должен быть задан с указанием его полного пути;

• пользователю должен быть запрещён запуск программ с внешних устройств ввода, а также из общих папок;

• пользователю должен быть задан список разрешённых исполняемых файлов;

• пользователю должен быть запрещён доступ на «изменение» исполняемых файлов и системного диска.

Недостатки задания списков исполняемых файлов

• Необходимо перечислять в списках все процессы, разрешённые к запуску пользователем, в том числе и процессы, порождаемые уже разрешёнными процессами.

• Усложнение администрирования при добавлении и удалении программ

Задание каталогов исполняемых файлов

• Пользователю задаётся каталог, откуда ему разрешено запускать программы.

• В данный каталог администратор устанавливает программы, разрешённые пользователю для запуска.

• Ко всем остальным каталогам, а также к устройствам, разделяемым сетевым ресурсам пользователю должен быть запрещён доступ на «выполнение».

• К системному диску, а также к каталогам с исполняемыми файлами остальных пользователей должен быть запрещён доступ на «изменение».