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