Классификация процессов
ТЕМА 2.3: ПЛАНИРОВАНИЕ ПРОЦЕССОВ
Основными понятиями управления прохождением задач в ЭВМ являются процесс, задача, работа, программа, ресурс, дисциплина распределения ресурса.
Процесс – минимальный программный объект, обладающий собственными системными ресурсами (запущенная программа).
Ресурс – любая потребляемая (расходуемая) сущность. По запасам ресурсы подразделяются на исчерпаемые и неисчерпаемые. Потребители ресурсов – процессы. Ресурс – средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.
Все, что выполняется в вычислительных системах (не только программы пользователей, но и, возможно, определенные части операционных систем), организовано как набор процессов. Реально на однопроцессорной компьютерной системе в каждый момент времени может исполняться только один процесс. Для мультипрограммных вычислительных систем обработка нескольких процессов достигается с помощью переключения процессора с одного процесса на другой. Пока один процесс выполняется, остальные ждут своей очереди на получение процессора.
В зависимости от состояния процесса ему должен быть предоставлен тот или иной ресурс. Процессу в состоянии «Готовый» должно быть предоставлено процессорное время.
Планирование процесса– это распределение процессов между имеющимися ресурсами.
Одним из методов планирования процессов , ориентированных на эффективную загрузку ресурсов, является метод очередей ресурса. Новые процессы находятся во входной очереди, часто называемой очередью работ – заданий.
Готовые к выполнению процессы располагаются в основной памяти и связаны очередью готовых процессов.
Каждый процесс может находиться как минимум в двух состояниях: процесс исполняется, и процесс не исполняется. Диаграмма состояний процесса в такой модели изображена на рисунке 15.
Рис 15. Простейшая диаграмма состояний процесса.
Процесс, находящийся в состоянии процесс исполняется, через некоторое время может быть завершен операционной системой или приостановлен и снова переведен в состояние процесс не исполняется. Приостановка процесса происходит по двум причинам: для его дальнейшей работы потребовалось какое-либо событие (например, завершение операции ввода-вывода) или истек временной интервал, отведенный операционной системой для работы данного процесса. После этого операционная система по определенному алгоритму выбирает для исполнения один из процессов, находящихся в состоянии процесс не исполняется, и переводит его в состояние «Процесс исполняется». Новый процесс, появляющийся в системе, первоначально помещается в состояние «Процесс не исполняется».
Все параметры планирования можно разбить на две большие группы: статические параметры и динамические параметры. Статические параметры не изменяются в ходе функционирования вычислительной системы, динамические же, напротив, подвержены постоянным изменениям.
К статическим параметрам вычислительной системы можно отнести предельные значения ее ресурсов (размер оперативной памяти, максимальное количество памяти на диске для осуществления свопинга, количество подключенных устройств ввода-вывода и т.п.). Динамические параметры системы описывают количество свободных ресурсов в текущий момент времени.
К статическим параметрам процессов относятся характеристики, как правило, присущие заданиям уже на этапе загрузки:
§ Каким пользователем запущен процесс или сформировано задание.
§ Насколько важной является поставленная задача, т.е. каков приоритет ее выполнения.
§ Сколько процессорного времени запрошено пользователем для решения задачи.
§ Каково соотношение процессорного времени и времени, необходимого для осуществления операций ввода-вывода.
§ Какие ресурсы вычислительной системы (оперативная память, устройства ввода-вывода, специальные библиотеки и системные программы и т.д.) и в каком количестве необходимы заданию.
Классификация процессов.
По временным характеристикам различают интерактивные, пакетные процессы и процессы реального времени. Время существования интерактивного процесса определяется реакцией ЭВМ на запрос обслуживания и составляет секунды. Процессы реального времени имеют гарантированное время окончания работы и время реакции порядка миллисекунд (мс). Пакетные процессы запускаются один вслед за другим и здесь время реакции минуты, и даже часы.
По генеалогическому признаку различают порождающие и порожденные процессы.
По результативности различают эквивалентные, тождественные и равные процессы. Все они имеют одинаковый конечный результат, но эквивалентные процессы могут реализовываться как на одном, так и на многих процессорах по одному или разным алгоритмам, т. е. они имеют разные трассы, которые определяют порядок и длительность пребывания процесса и разных состояниях. Тождественные процессы реализуются по одной и той же программе, но имеют разные трассы. Одинаковые процессы реализуются по одной программе и имеют одинаковые трассы.
По времени развития процессы делятся на последовательные, параллельные и комбинированные (для последних есть точки, в которых существуют оба процесса, и точки, в которых существует только один процесс).
По месту развития процессы делятся на внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).
По принадлежности к операционной системе процессы бывают системные (исполняют программу из состава операционной системы) и пользовательские.
По связности различают процессы:
а) взаимосвязанные, которые имеют какую-то связь (пространственно-временную, управляющую, информационную);
б) изолированные слабо связанные;
в) информационно-независимые, которые используют совместные ресурсы, но имеют собственные информационные базы;
г) взаимодействующие - имеют информационные связи и разделяют общие структуры данных;
д) взаимосвязанные по ресурсам;
е) конкурирующие.
Порядок взаимосвязи процессов определяется правилами синхронизации. Процессы могут находиться в отношении:
а) предшествования – один всегда находится в активном состоянии раньше, чем другой;
б) приоритетности – когда процесс может быть переведен в активное состояние только в том случае, если в состоянии готовности нет процессов с более высоким приоритетом, или процессор свободен, или на нем реализуется процесс с меньшим приоритетом;
в) взаимного исключения – в процессе используется общий критический ресурс, и процессы не могут развиваться одновременно: если один из них использует критический ресурс, то другой находится в состоянии ожидания.
Процессор – любое устройство в составе ЭВМ, способное автоматически выполнять допустимые для него действия (процессоры, каналы и устройства, работающие с каналами). Реализация системы управления процессами в составе ОС предъявляет определенные требования к свойствам процессоров.