- •Операционные системы (учебное пособие)
- •Введение
- •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. Защита конфиденциальной информации.
- •Список литературных источников
Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе
Различают делимые и неделимые ресурсы. Делимые ресурсы способны к разделению между процессами, а неделимые – не способны к этому. Делимые процессы могут быть одновременно разделяемыми и параллельно разделяемыми. Одновременно разделяемые ресурсы используются двумя и более процессами одновременно, например, оперативная память. Параллельно разделяемые ресурсы используются процессами попеременно. Примером таких ресурсов являются устройства ввода-вывода.
Ресурс может быть выделен задаче операционной системой в трёх случаях:
ресурс свободен и в системе нет запросов на него от задач с более высоким приоритетом;
текущий запрос и ранее выданные запросы позволяют совместное использование ресурса;
ресурс используется задачей с более низким приоритетом и может быть временно у неё отобран.
Выше уже упоминались такие ресурсы, как процессорное время, память и т.д. Процессорное время делится попеременно, а память – и попеременно, и одновременно. Весь вопрос в том, как эффективно управлять памятью в целях и повышения общей производительности вычислительной системы, и обеспечения быстрого выполнения процессов и отдельных задач.
Внешняя память тоже является разделяемым ресурсом, но её особенностью является разделение как дискового пространства, так и доступа к данным. Дисковое пространство может разделяться одновременно и попеременно, а доступ только попеременно.
Внешние устройства могут использовать механизм прямого доступа или механизм последовательного доступа. Устройства первого вида могут быть ресурсами разделяемыми параллельно (т.е. попеременно). Устройства второго вида не могут быть разделяемыми ресурсами, т.к. или потребуется выполнение противоречащих друг другу команд, или результаты выполнения двух задач будут перемешаны. Например, принтер, выводящий данные двух задач, перемешает фрагменты выводимых наборов данных, а накопитель на магнитной ленте не сможет выполнить команду записи и одновременно команду перемотки в начало ленты. Можно создать иллюзию разделения таких устройств, создав, например, виртуальный принтер для каждой задачи. Накопленные наборы данных могут быть выведены на реальный принтер один за другим, создав у пользователей иллюзию совместного использования принтера.
Системные программные модули (т.е. функционально законченные и специальным образом оформленные фрагменты программ) также являются разделяемым ресурсом. Классификация системных программных модулей показана на рис. 1.6.
Однократно используемые модули, это модули, которые после загрузки в оперативную память могут быть выполнены только один раз, т.к. при выполнении портится или код модуля, или данные, влияющие на его работу. Такой модуль в принципе не может быть разделяемым ресурсом.
Повторно используемые модули после загрузки в оперативную память могут выполняться произвольное число раз и вызываться различными процессами. Поэтому они могут быть разделяемыми программными ресурсами.
Непривилегированные Привилегированные
Реентабельные Повторно входимые
Рис. 1.6. Классификация программных модулей.
Непривилегированные модули – обычные программные модули, которые могут быть прерваны во время выполнения. Повторный вызов прерванного модуля может привести к потере данных. Поэтому такой модуль также не может в общем случае считаться разделяемым ресурсом.
Привилегированные модули работают с отключённой системой прерываний. Они состоят из головной секции, собственно тела модуля и хвостовой секции. Головная секция отключает прерывания, собственно тело модуля содержит обычный код, хвостовая секция снова включает прерывания. Поэтому модуль всегда выполняется до конца, его повторный вызов не грозит никакими неприятными последствиями, и привилегированный модуль может быть разделяемым ресурсом.
Реентабельные модули допускают прерывание выполнения, однако сохраняют все необходимые данные в свободной памяти как динамические данные или как статические данные в секции памяти, выделенной модулю. Реентабельный модуль, как и привилегированный, состоит из трёх секций. Головная секция является привилегированным модулем и заказывает у операционной системы память для хранения всех промежуточных результатов вычислений. Тело реентабельного модуля работает в непривилегированном режиме и его выполнение может быть прервано в любой момент. После возврата из прерывания модуль продолжает работать используя сохранённые данные. Хвостовая секция также работает в привилегированном режиме и освобождает память, заказанную головной секцией.
Повторно входимый модуль имеет множество точек входа и состоит из множества привилегированных секций, которые нельзя прерывать. Работа любой из них возможна только после завершения работы уже выполняемой секции.