Запрос пользователя на создание процесса.
3. Выполнение системного запроса на создание нового процесса уже работающим процессом. Во время работы процесс (приложение) может создавать один или несколько новых процессов, например для чтения или записи данных в файл, обновление экрана, получение данных из сети, обмен данными с внешними устройствами и т.д. В этом случае создаются дочерние процессы, и формируется иерархия процессов.
4. Создание пакетного задания – применяется в системах пакетной обработки данных на больших компьютерах. Пользователь посылает пакет заданий (несколько заданий), а ОС сама формирует процесс и выполняет задания по очереди. Назначенные задания Windows, Shell – сценарии Linux.
Часть процессов порождаются пользовательскими приложениями и называются пользовательскими процессами.Вторая часть процессов, запускаются самой ОС и являются системными. Пользовательские и системные процессы имеют разный приоритет, от которого зависит очередность и интервал времени обслуживания процесса.
После того, как процесс создан, он выполняет свою работу. Во время работы процесс, как правило, взаимодействует с другими процессами. Процесс приостанавливает свою работу, если ожидает ввода данных или передает данные на выход, или в том случае, если операционная система выбирает другой процесс на выполнение.
Процесс может находится в трех состояниях:
1. Выполнение – идет выполнение на процессоре;
2. Готовность – готов к выполнению, но приостановлен, так как процессор выполняет другой процесс (стоит в очереди);
3. Ожидание (блокировка) – ждет завершение операции ввода / вывода.
выполнение
1 3
ожидание 4 готовность
блокировка
1 – процесс переходит в состояние ожидания для выполнения ввода / вывода;
2 – ОС выбрала другой процесс на выполнение
3 – ОС выбрала этот процесс на выполнение
4 - ввод / вывод завершен
5 – процесс завершен (правильно или с ошибкой)
Завершение процесса происходит вследствие одного из следующих событий:
1. Обычное завершение процесса (преднамеренное);
2. Завершение процесса по ошибке, как правило, выводится сообщение, и процесс завершает работу.
3. Завершение по непредвиденной ошибке (программы или аппаратуры);
4. Уничтожение другим процессом (завершение в диспетчере программ)
Для управления некоторыми ресурсами процессы могут объединяться в задания. Задание представляет собой набор, состоящий из одного или нескольких процессов, управляемых как единое целое. Для каждого задания определены квоты и лимиты ресурсов. Квоты включают максимальное количество дочерних процессов, которые может создать родительский процесс, суммарное время процессора, доступное для каждого процессами в отдельности и для всего задания в целом, максимальное количество памяти для процесса и для всего задания. Задания могут ограничивать процессы в вопросах безопасности, например, запрещать получать право на выполнение некоторых операций.
Для каждого вновь создаваемого процесса ОС создает специальную информационную структуру - запись в таблице процессов, строка таблицы соответствует одному процессу и называется – блок управления процессом. Блок управления процессом содержит информацию о состоянии процесса, счетчик команд (содержит адрес команды, которая должна выполнятся следующей), данные о потребностях процесса в ресурсах, о фактически выделенных ресурсах, об адресах ОП в которых размещен процесс и т.д.
Функциями ОС по управлению процессами являются:
- распределение оперативной памяти между всеми процессами, запущенными в системе, таким образом, чтобы каждый процесс работал в своем адресном пространстве – оперативная память, выделенная процессам не пересекалась;
- организация взаимодействия процессов, как правило, через общую память;
- выделение процессорного времени каждому конкретному процессу;
- распределение внешних устройств между процессами;
- разрешение конфликтов при распределении ресурсов.
Для решения этих задач в состав ОС входит специальный модуль – планировщик процессов (заданий). При управлении процессами следует решить следующие вопросы:
o Как долго процесс может выполняться процессором?
o Применять принудительное снятие процесса во время выполнения или нет?
o Если применяется принудительное снятие, то какой процесс запустить следующим?
Алгоритмы планирования, которые решают эти вопросы, делятся на два класса:
1. Вытесняемые – ОС принудительно снимает процесс и переводит его в состояние ожидания
2. Невытесняемые – процесс выполняется на процессоре столько, сколько необходимо.
Управление процессами может быть организовано по-разному в зависимости от того, в какой области деятельности применяется компьютер.
В зависимости от области применения компьютера операционные системы делятся на два больших класса: универсальные (интерактивные) и специализированные. В свою очередь специализированные операционные системы подразделяются на два подкласса:
- системы пакетной обработки, в которых выполнение программ происходит без участия пользователя по заранее составленному пакету программ (приложений);
- системы реального времени, которые предназначены для управления технологическими процессами, станками, спутником и т.д., выполнение программ проходит по заранее составленному расписанию в соответствии с реальным временем.
Эффективность работы компьютера, и соответственно ОС, может быть оценена с помощью трех основных критериев:
1. Пропускная способность – это количество задач, выполняемых на компьютере в единицу времени;
2. Удобство работы пользователя – то есть возможность работы в интерактивном режиме с несколькими приложениями одновременно;
3. Реактивность системы – способность системы выдерживать заранее заданные интервалы времени между запуском приложения и поучением результата (время выполнения процесса);
В зависимости от назначения ОС один из критериев является определяющим.
Высокая пропускная способность лучше всего достигается в системах пакетной обработки данных, но при этом пользователь не имеет возможности работать со своей программой. В начале работы формируется пакет заданий, каждое задание содержит требования к ресурсам. Пакет формируется таким образом, чтобы одновременно выполнялись программы, предъявляемые разные требования к разным ресурсам. Например, программы с большим объемом вычислений и с большим объемом печати. Таким образом, достигается равномерная загрузка всех ресурсов компьютера. Набор таких программ называется мультипрограммная смесь.
В системах пакетной обработки данных переключение процессора с одной задачи надругую происходит по инициативе самой программы, выполняющийся в данный момент времени, без участия операционной системы. Как правило, для выполнения операций ввода – вывода. Есть одна задача долго занимает процессор, то применяется принудительное снятие. Как правило, применяется алгоритм «Первым пришел – первым обслужен» FIFO. Все программы, которые существуют в пакете, выстроены в очередь, первой запускается – первая программа, создается процесс и он выполняется на процессоре столько сколько необходимо, когда возникает операция ввода/вывода, процесс переходит в состояние «ожидания» и запускается следующая программа, создается следующий процесс, когда освободится процессор начинает работу первый процесс и т.д.
Системы пакетной обработки данных в настоящее время применяется при решении сложных вычислительных задач, таких как расчет траектории движения спутника, предсказание погоды, игра в шахматы.
В системах реального времени основным критерием является время реакции системы, так как существует предельно допустимое время, в течение которого должна быть выполнена управляющая программа. В системах реального времени пакет заданий представляет собой фиксированный набор заранее известных программ, а выбор программы на выполнение осуществляется по расписанию или в зависимости от аварийного случая.
Удобство работы пользователя достигается в универсальных ОС и является основным критерием эффективности работы таких ОС, как Windows, Linux.
В этом случае всем процессам попеременно выделяется квант процессорного времени (возможно, неравный), по истечении которого происходит принудительная приостановка выполнения процесса по инициативе ОС. Таким образом, ни одна задача не может надолго занять процессор.
Дата добавления: 2015-08-11; просмотров: 952;