Главная страница
Навигация по странице:

  • Блок управления процессом

  • Состояние существования процесса

  • Создание и завершение процессов Создание процессов

  • Завершение процессов

  • Диспетчеризация процесса

  • Понятие тупика

  • Понятие события

  • Модель процесса. Л.6 Модель процесса. Лекция Модель процесса. Создание процесса. Завершение процесса. Иерархия процесса. Состояние процесса. Реализация процесса


    Скачать 143.23 Kb.
    НазваниеЛекция Модель процесса. Создание процесса. Завершение процесса. Иерархия процесса. Состояние процесса. Реализация процесса
    Анкор Модель процесса.docx
    Дата07.09.2022
    Размер143.23 Kb.
    Формат файлаdocx
    Имя файлаЛ.6 Модель процесса.docx
    ТипЛекция
    #665549

    Лекция: Модель процесса. Создание процесса. Завершение процесса. Иерархия процесса. Состояние процесса. Реализация процесса.
    Процессом, по существу, называют программу в момент выполнения.

    Блок управления процессом является моделью процесса для операционной системы. Любая операция, производимая операционной системой над процессом, вызывает определенные изменения в PCB . В рамках принятой модели состояний процессов содержимое PCB между операциями остается постоянным.

    Модель процесса.В этой модели все функционирующее на компьютере программное обеспечение, иногда включая собственно операционную систему, организовано в виде набора последовательных процессов, или, для краткости, просто процессов. Процессом является выполняемая программа, включая текущие значения счетчика команд, регистров и переменных. 

    Создание процесса.Операционной системе необходим способ, позволяющий удостовериться в нали­чии всех необходимых процессов. В простейших системах, а также системах, раз­работанных для выполнения одного-единственного приложения, можно реализовать такую ситуацию, в которой все процессы, которые когда-либо могут понадобиться, присутствуют в системе при ее загрузке. В универсальных системах необходим способ создания и прерывания процессов по мере необходимости. В этом разделе мы рассмотрим некоторые из возможных способов решения этой проблемы. Ниже перечислены четыре основ­ных события, приводящие к созданию процессов.

    • Инициализация системы.

    • Выполнение изданного работающим процессом системного запроса на созда­ние процесса.

    • Запрос пользователя на создание процесса.

    • Инициирование пакетного задания.

    Состояние существования процесса

    На рис. 1 представлена диаграмма состояний, показывающая три возможных состояния процесса:

    1. Выполнение (процесс использует процессор).

    2. Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу).

    3. Блокировка (процесс не может быть запущен прежде, чем произойдет некое внешнее событие).



    1. Процесс блокируется, ожидая входных данных

    2. Планировщик выбирает другой процесс

    3. Планировщик выбирает этот процесс

    4. Доступны входные данные

    Рис. 1 Состояния процесса. Стрелками показаны возможные переходы между состояниями.

    В состоянии готовности процессор недоступен. В состоянии выполнения процесс обслуживается процессором. Третье состояние отличается тем, что запустить процесс невозможно, какой бы ни была загруженность процессора.

    Каждый процесс представлен в операционной системе набором данных, называемых таблица управления процессом либо Блок управления процессом (ТУП (БУП)— PCВ — process control block). В РСВ процесс описывается набором значе­ний, параметров, характеризующих его

    текущее состояние и ис­пользуемых операционной системой для управления прохождением процесса через компьютер. Информация, хранящаяся в БУП:

    § текущее состояние процесса

    § уникальный идентификатор(номер) процесса

    § указатели памяти процесса

    § указатели выделенных ресурсов для процесса

    § область сохранения регистров, где хранится точка останова процессора

    Создание и завершение процессов

    Создание процессов

    Когда операционная система собирается добавить новый процесс к тем, которые уже состоят на учете, она создает структуры данных, использующиеся при управлении этим процессом (как описано в разделе 3.2), и размещает его адресное пространство в основной памяти. С помощью этих действий и создается новый процесс.

    К созданию процесса могут привести четыре события, перечисленные в табл. 3.1. В среде пакетной обработки процесс создается в ответ на поступление задания; в интерактивной среде процесс создается при попытке нового пользователя войти в систему. В обоих случаях ответственность за создание нового процесса лежит на операционной системе. Кроме того, операционная система может создавать процесс по требованию приложения. Например, если пользователь отправляет запрос на распечатку файла, операционная система может создать процесс, управляющий печатью. Затем процесс, производивший запрос, может продолжить свою работу, независимо от того, сколько времени понадобится для печати.

    Таблица 3.1. Причины создания процессов



    Завершение процессов

    В табл. 3.2 перечислены типичные причины завершения процессов. В любой компьютерной системе должны быть средства, позволяющие определить, закончилось выполнение процесса или нет. Пакетное задание должно включать в себя команду типа Halt (останов) или какой-то явный вызов службы операционной системы, приводящий к завершению процесса. В первом случае генерируется прерывание для извещения операционной системы о завершении процесса. Например, в системе с разделением времени процесс пользователя должен быть завершен, когда пользователь выходит из системы или выключает терминал. На персональном компьютере или рабочей станции пользователь может выйти из приложения (например, закрыть программу обработки текста или электронную таблицу). Все эти действия в конечном счете приведут к тому, что будет вызвана служба операционной системы, завершающая процесс.

    Таблица 3.2. Причины завершения процессов



    Кроме того, к завершению процессов могут привести и другие ошибки или условия отказа. В табл. 3.2 перечислены некоторые из наиболее часто возникающих условий.

    Наконец, в некоторых операционных системах процесс может быть завершен процессом, который его породил, а также при завершении самого родительского процесса.

    Диспетчеризация процесса — процесс централизованного оперативного контроля и дистанционного управления, с использованием оперативной передачи информации между объектами диспетчеризации и пунктом управления.

    Выбор работ – планирование, выполняется спец программой, которая принято называть планировщик (программа инициирования, инициатор). Он создает процесс для выбранной работы, переводит его в состояние готовности, выделяет ОП, внешнюю память, действия по завершению работы. Выделение фактического процессора готовому процессу – принято называть диспетчеризацией, выполняется спец программой – диспетчер (монитор). Диспетчеризация выполняется многократно. Планирование осуществляется один раз для каждой задачи, диспетчеризация – многократно.
    Для исполнения диспетчер выбирает процесс, находящийся в состоянии готовности и имеющий наивысший приоритет.
    Для определения приоритета используют следующие факторы:
    1) время создания процесса
    2) время появления работы, вызвавшей образование процесса
    3) заказное время обслуживания
    4) использованное время обслуживания
    5) время, в течении которого процесс не обслуживался
    6) объём и вид других ресурсов, необходимых процессу.
    Диспетчеризация с одной очередью:
    предоставление всем пользователям одинаковых услуᴦ. Процессы обслуживаются в порядке их появления, позволяя каждому процессу обслуживаться до конца (FIF0). В случае если позволить процессу переходить в заблокированное состояние, то стратегия будут называться FCFS (первый пришел, первый обслужен).
    1.процесс обслуживается в порядке появления и каждому процессу позволено выполняться до конца (первый пришел, первый ушел - FIFO). Здесь процессы не блокируются.
    2.если допускается блокирование процессов, то используется стратегия FCFS (первый пришел, первый обслужен). Очередь готовых к выполнению процессов крайне важно поддерживать в порядке возрастания времени процесса. Перераспределение процессора не производится.
    НЕДОСТАТОК: короткие процессы ждут столько же, сколько и длинные.
    3.стратегия на базе минимизации общего среднего времени ожидания, приоритет основан на времени выполнения (стратегия – следующий с кратчайшим ожиданием заданием SJN). Стратегия НЕ перераспределяет процессор, она изменяет общее среднее время ожидания: для коротких процессов оно становится меньше, увеличивая время ожидания длинных процессов.
    4.следующая с минимальным остановившимся временем SRT. Перераспределение процессора осуществляется с использованием интервалов времени, которые выделялись процессору. Оставшееся время – разность между запрошенным и полученным временем. В этой стратегии достигается минимально возможное общее время ожидания. НЕДОСТАТКИ 1-4:задержка выполнения длинных процессов (некоторые процессы могут теряться навсегда). Требования: гарантия завершения всех процессов.
    5.наиболее популярна циклическая стратегия перераспределения процессора – RR. Каждому процессу по очереди выделяется фиксированный квант времени, в конце которого, в случае если процесс не закончился или не заблокировался, он снимается с процессора, считается только что поступившим в систему, и ставится в конец очереди.
    6.стратегия гарантирует выделение процессора длинным процессам путем увеличения приоритета с течением времени. Эта стратегия учитывает старение.
    (+) – низкая стоимость реализации
    (-) – короткие процессы ждут столько же сколько и длинные, - увеличивается среднее время ожидания.
    Диспетчеризация с несколькими очередями
    Используется информация пользователя и информация, получаемая в процессе выполнения. Существуют процессы интерактивные, пакетные, реального времени.
    Для каждого вида процессов создается своя очередь. Существует связь очереди и процесса, она м.б. постоянной или меняться во времени.
    Процесс реального времени должен быть обслужен к конкретному моменту времени.
    Интерактивный д.б обслужен за приемлемый интервал времени.
    Пакетный процесс не имеет жестких ограничений во времени.
    Для каждой очереди используется своя стратегия, с различными управляющими параметрами, связь между процессом и очередью м.б постоянной, а может изменяться со временем (статическая, динамическая).

    Понятие тупика

    Говорят, что в мультипрограммной системе процесс находится в состоянии тупика, дедлока, или клинча, если он ожидает неко­торого события, которое никогда не произойдет. Системная тупико­вая ситуация, или «зависание» системы — это ситуация, когда один или более процессов оказываются в состоянии тупика.

    В мультипрограммных вычислительных машинах одной из главных функций операционной системы является распределение ресурсов. Когда ресурсы разделяются между многими пользова­телями, каждому из которых предоставляется право исключитель­ного управления выделенными ему конкретными ресурсами, вполне возможно возникновение тупиков, из-за которых процессы некото­рых пользователей никогда не смогут завершиться.

    Понятие события

    Под событием понимается здесь упорядочен­ная пара двух состояний , переход объекта от ран­него состояния к последующему новому состоянию. Таким образом, в отличие от первой точки зрения, вторая трактует событие как понятие, производное не от состояния, которое «случилось», а от пары состояний, определяющих начало и конец события в период перехода. Отметим, что различие двух приведенных точек зрения существенно. Первая трактует событие как ситуацию-состояние, случив­шуюся в определенный момент времени, для вто­рой — это переход между парой состояний во вре­менном интервале.


    написать администратору сайта