Слайд 1Лекция 4
Управление процессами
Слайд 2Понятие процесса
Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу
Для
операционной системы процесс представляет собой единицу работы, заявку на потребление
системных ресурсов
Подсистема управления процессами
планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами,
а также занимается созданием и уничтожением процессов,
обеспечивает процессы необходимыми системными ресурсами,
поддерживает взаимодействие между процессами
Слайд 3Состояние процессов
В многозадачной (многопроцессной) системе процесс может находиться в одном
из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время
которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором
ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса
Слайд 4Состояние процессов
ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом
случае процесс заблокирован в связи с внешними по отношению к
нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов
Слайд 6Создание (рождение) процесса
Характеризуется созданием двух специальных информационных структур:
Дескриптор – характеристика
процесса, содержит идентификатор процесса, состояние процесса, данные о степени привилегированности
процесса, место нахождения кодового сегмента и др.
Контекст – состояние операционной среды процесса – состояние регистров и программного счетчика, режим работы процессора, указатели на открытые файлы, информация о незавершенных операциях ввода-вывода, коды ошибок выполняемых данным процессом системных вызовов и т.д.
Слайд 7Контекст и дескриптор
Дескриптор процесса по сравнению с контекстом содержит более
оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов
Контекст
процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки
Слайд 8Создать процесс - значит
создать информационные структуры, описывающие данный процесс, то
есть его дескриптор и контекст;
включить дескриптор нового процесса в
очередь готовых процессов;
загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
Слайд 9Планирование процессов
включает в себя решение следующих задач:
определение момента времени
для смены выполняемого процесса;
выбор процесса на выполнение из очереди
готовых процессов;
переключение контекстов "старого" и "нового" процессов.
Слайд 10Схемы планирования процессов: простая очередь
Преимущества – простота
Недостатки:
Простои процессора (на время
ввода-вывода)
Увеличение времени выполнения задач
(простые задачи ждут окончания сложной)
Слайд 12Очередь с блокировкой
Задача выбирается из очереди и ставится на процессор
Задача
выполняется либо до завершения, либо до обращения к ВУ. В
любом случае задача снимается с процессора, после чего на процессор ставится следующая задача из очереди
Завершившаяся задача покидает систему
Если задача обратилась к ВУ, то она ставится в список заблокированных задач и ждет, пока завершится операция ввода-вывода
После завершения обращения к ВУ задача удаляется из списка заблокированных задач и снова ставится в конец очереди задач на выполнение
Слайд 13Очередь с блокировкой
Преимущества:
Оптимизировано использование процессорного времени
Меньшее время ожидания по сравнению
с простой очередью
Недостатки:
Потери времени на ожидание задачи в очереди не
зависят от сложности самой задачи
Слайд 15Круговорот (квантование)
Отличие – процессорное время, ранее рассматривавшееся как непрерывное, теперь
квантуется – делится на элементарные единицы – кванты.
Задачам процессорное время
выделяется квантами
По завершении кванта принимается решение о постановке следующей задачи
Размер кванта зависит от ОС или может настраиваться
Слайд 16Круговорот (квантование)
Преимущества:
Учет сложности задачи (небольшие выполнятся быстрее)
Недостаток:
Все задачи равны, нет
возможности явно указать более важную, срочную задачу
Слайд 17Круговорот с приоритетами
Каждой задаче перед первой постановкой на процессор приписывается
целое число – приоритет.
Высокоприоритетные задачи важнее и решаются быстрее
После истечения
выделенного кванта задача попадает не в конец очереди, а на место согласно приоритету
Приоритеты могут быть динамическими
Слайд 18Процессы и потоки
Потоки – следующая ступень иерархии выполнения задач
Варианты:
Потоки =
потоки вычислений, процесс состоит из них, является оболочкой для них
Потоки
= дочерние процессы
Потоки могут иметь систему приоритетов внутри процесса