- •Операционные системы (учебное пособие)
- •Введение
- •1. Операционная система: основные понятия
- •1.1. Понятие операционной системы, её роль и функции
- •1.2. Операционная и программная среды
- •1.3. Очередь и стек
- •1.4. Машинная команда, способы адресации, привилегированные команды
- •1.5.Система прерываний
- •1.6. Задачи, вычислительные процессы и ресурсы
- •Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе
- •1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени
- •2. Управление памятью в операционных системах
- •2.1. Память и отображения, виртуальное адресное пространство
- •2.2. Простое непрерывное распределение и распределение с перекрытием
- •2.3. Распределение памяти статическими разделами
- •2.4. Распределение памяти с динамическими разделами
- •2.5. Распределение памяти с фрагментацией задач
- •3. Управление процессами
- •3.1. Реализация последовательного процесса в операционной системе
- •3.2. Планирование и диспетчеризация процессов и задач
- •3.3. Управление параллельными процессами
- •3.3.1. Понятие параллельных процессов
- •3.3.2. Методы реализации взаимных исключений
- •3.3.3. Блокировка памяти
- •3.3.4. Применение специальных операций типа "проверка–установка"
- •3.3.5.Семафоры и их применение
- •3.3.6. Мониторы
- •3.3.7. Почтовые ящики, конвейеры и очереди сообщений
- •4. Проблема тупиков и её решение
- •4.1. Проблема тупиков, разделяемые ресурсы и модели параллельных процессов
- •4.2. Модель повторно используемых ресурсов Холта1
- •4.3. Сети Петри
- •4.4. Модель пространства состояний системы
- •4.5. Борьба с тупиками
- •4.5.1. Предотвращение тупиков
- •4.5.2. Обход тупиков
- •4.5.3. Обнаружение тупика
- •5. Жёсткий диск
- •5.1. Устройство накопителя жесткого диска (hdd) и адресация элементов дискового пространства
- •5.2. Логическая структура диска
- •5.3. Создание загрузочных дисков
- •6. Файловые системы
- •6.1. Файлы и каталоги
- •6.2. Понятие и функции файловой системы и системы управления файлами.
- •6.3. Обзор файловых систем
- •6.3.1. Файловая система fat16, fat32 и vfat
- •6.3.2. Файловая система ntfs
- •6.3.3. Файловые системы компакт-дисков
- •7. Средства защиты и восстановления операционных систем
- •7.1. Цифровая подпись драйверов и её верификация
- •7.2. Защита и проверка системных файлов
- •7.3. Откат драйверов
- •7.6. Безопасный режим загрузки
- •7.7. Мастер и точки восстановления системы
- •7.8. Резервное копирование и восстановление
- •7.9. Аварийное восстановление системы. Консоль восстановления.
- •8. Загрузчики операционных систем
- •8.1. Понятие загрузчика и виды его реализации
- •8.2. Решение проблемы четырех разделов в mbr
- •8.3. Установка загрузчиков ос
- •8.4. Настройка загрузчиков ос
- •8.5. Удаление загрузчиков ос
- •9. Системный реестр и системные службы
- •9.1. Назначение и структура реестра
- •9.2. Работа с реестром
- •9.3. Системные службы
- •10. Безопасность операционных систем
- •10.1. Угрозы, уязвимости, атаки
- •10.2. Политика безопасности
- •10.3. Защита от вторжений
- •10.4. Межсетевые экраны
- •10.5. Отключение ненужных служб
- •10.6. Защита от спама
- •10.7. Защита от вредоносных программ и вирусов средствами операционных систем
- •10.8. Защита конфиденциальной информации.
- •Список литературных источников
4.5.3. Обнаружение тупика
Существует несколько методов обнаружения тупика. Наиболее доступен для понимания метод редукции (сокращения) графа модели Холта. Редукция графа Холта выполняется по следующим правилам:
Граф модели Холта сокращается процессом Pi, который не является ни заблокированной, ни уединённой вершиной, посредством удаления всех дуг, входящих в вершину и исходящих из неё;
Граф ресурсов не сокращаем, если он не может быть сокращён ни одним процессом.
Граф ресурсов типа SR является полностью редуцируемым, если существует последовательность сокращений, удаляющая все дуги графа.
Если в результате редукции графа Холта осталась хотя бы одна не удалённая дуга, то возникнет тупик.
Ниже приведён пример редукции графа, исследовавшего тупик на ресурсах SR в разделе 4.2 (рис. 4.19).
а) |
б) |
в) |
Рис. 4.19. Граф Холта в исходном состоянии (а), стадии захвата процессом ПР1 ресурса R2 (б) и в стадии захвата ресурса R1 процессом ПР2 (в) |
На рис. 4.19,б показан граф после захвата процессом Р1 ресурса R2. Из вершины R2 исчезла единица ресурса, и исчезли выходящая из вершины ПР1 и входящая в него дуги. Процесс ПР2 может захватить ресурс R1. Тогда с графа исчезнут дуги исходящая из вершины ПР2 и входящая в неё. Поскольку процесс ПР2 захватил ресурс R1, то из вершины R1 исчезла единица ресурса R1. Это состояние системы показано на рис. 4.19,в. Оба процесса запрашивают ресурсы, которые уже не имеют свободных единиц. Поэтому оба процесса заблокированы и не могут никак освободить захваченные ресурсы. Налицо тупик.
Контрольные вопросы:
Что такое тупик? Приведите примеры.
Каковы условия возникновения тупика?
Какова классификация разделяемых ресурсов в модели Холта?
В чем разница между системными ресурсами и расходуемыми ресурсами?
Из каких элементов состоит граф Холта? Приведите пример графа и интерпретируйте его.
Что обозначает следующий фрагмент графа Холта?
Что обозначает следующий фрагмент графа Холта?
Объясните следующий граф Холта.
ПР2
ПР1
R2
.
Поясните как возникновение тупика при кольцевом обмене процессов сообщениями через почтовые ящики.
Приведите пример возникновения тупика в системе с семафорами.
Приведите пример возникновения тупика в системе с мониторами.
Что такое сеть Петри? Из каких элементов она состоит?
На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?
На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?
На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?
Как нейтрализовать условие взаимного исключения для предотвращения тупика?
Как ослабить условие ожидания для предотвращения тупика?
Как подавить условие отсутствия перераспределения ресурса у блокированного процесса для предотвращения тупика?
Как исключить условие кругового ожидания для предотвращения тупика?