ОП 01. Операционные системы 16.11.2020г. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

ОП 01. Операционные системы 16.11.2020г.



ОП 01. Операционные системы      16.11.2020г.

Группа 1003ПК, 1004ПК

 

Преподаватель Плотникова О.Н.

 

Тема: Управление процессами (заданиями, задачами)

 

ЛЕКЦИОНННЫЙ МАТЕРИАЛ

 

Основными понятиями управления прохождением задач в ЭВМ являются процесс, задача, работа, программа, ресурс, дисциплина распределения ресурса.

Процесс — минимальный программный объект, обладающий собственными системными ресурсами (запущенная программа).

 Классификация процессов

По временным характеристикам различают:

ü интерактивные - время существования интерактивного процесса определяется реакцией ЭВМ на запрос обслуживания и составляет секунды.

ü пакетные процессы - запускаются один вслед за другим и здесь время реакции минуты и даже часы.

ü процессы реального времени - имеют гарантированное время окончания работы и время реакции порядка миллисекунд (мс).

 

По генеалогическому признаку различают порождающие и порожденные процессы.

 

Управление процессами

Процесс — это программный модуль, выполняемый в центральном процессоре (CPU). Операционная система контролирует следующую деятельность, связанную с процессами:

ü создание и удаление процессов;

ü планирование процессов;

ü синхронизация процессов; ü коммуникация процессов;

ü разрешение тупиковых ситуаций.

Не следует смешивать понятия «процесс» и «программа». Программа — это план действий, а процесс — это собственно действие, поэтому понятие процесса включает:

ü программный код;

ü данные;

ü содержимое стека;

ü содержимое адресного и других регистров процессора.

Таким образом, для одной программы могут быть созданы несколько процессов в том случае, если с помощью одной программы в CPU выполняется несколько несовпадающих последовательностей команд. За время существования процесс многократно изменяет свое состояние.

 

Различают следующие состояния процесса (рис. 16):

ü новый (процесс только что создан);

ü выполняемый (команды программы выполняются в CPU);

ü ожидающий (процесс ожидает завершения некоторого события, чаще всего операции ввода-вывода);

ü готовый (процесс ожидает освобождения CPU); ü завершенный (процесс завершил свою работу).

Переход из одного состояния в другое не может выполняться произвольным образом. На рис. 16 приведена типовая диаграмма переходов для состояний процессов.

 

 

Рис. 16. Состояния процесса

 

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

На рис. 17 схематически показано, каким образом операционная система использует РСВ для переключения процессора с одного процесса на другой.

 

Планирование процессов

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

 

 

Рис. 17. Переходы между процессами

 

Очереди

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

Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса — адресного пространства основной памяти.

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

Процесс в состоянии ожидания завершения операции ввода-вывода находится в одной из очередей к оборудованию ввода-вывода.

При прохождении через компьютер процесс мигрирует между различными очередями под управлением программы, которая называется планировщик(scheduler).

Операционная система, обеспечивающая режим мультипрограммирования, обычно включает два планировщика — долгосрочный и краткосрочный. Например, в OS/360 долговременный планировщик назывался планировщиком заданий, а краткосрочный — супервизором задач.

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

Основное различие между долгосрочным и краткосрочным планировщиками заключается в частоте запуска, например, краткосрочный планировщик может запускаться каждые 100 мс, долгосрочный — 1 раз за несколько минут.

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

Долгосрочный планировщик выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых процессов должны находиться в разной пропорции как процессы, ориентированные на ввод-вывод, так и процессы, ориентированные на преимущественную работу с CPU.

На уровне долгосрочного планирования объектом является не отдельный процесс, а некоторое объединение процессов по функциональному назначению, которое называется работой (приложением). Каждая работа рассматривается как независимая от других работ деятельность, связанная с использованием одной или многих программ и характеризующаяся конечностью и определенностью. По мере порождения новых работ создается собственная виртуальная машина для их выполнения. Например, в ОС Windows 95 для каждого 32-разрядного приложения реализуется своя виртуальная машина. Распределение машин производится однократно в отличие от краткосрочного планирования, где процессор процессу может выделяться многократно.

Краткосрочный планировщик решает, какой из процессов, находящихся в очереди готовых процессов, должен быть передан на выполнение в CPU.

В некоторых операционных системах долгосрочный планировщик может отсутствовать. Например, в системах разделения времени (timesharing system) каждый новый процесс сразу же помещается в основную память.

На уровне краткосрочного планирования объектом управления являются процессы, которые выступают как потребители центрального процессора для внутренних процессов или внешнего процессора для внешних процессов. Причинами порождения процесса могут быть процессы на том же уровне или сигналы, посылаемые от долгосрочного планировщика.

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

 

Взаимодействие процессов

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

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

Для взаимодействия процесса-производителя и процесса-потребителя создается совместный буфер, заполняемый процессом-производителем и потребляемым процессом-потребителем.

Буфер имеет фиксированные размеры и, следовательно, процессы могут находиться в состоянии ожидания, когда:

ü буфер заполнен — ожидает процесс-производитель; ü буфер пуст — ожидает процесс-потребитель.

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

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

 

Транспортеры (каналы). Являются средством взаимодействия родственных процессов, представляют собой область памяти, имеющую файловую организацию, для которой обеспечивается запись и считывание данных в транспортере. Реализуется очередь обслуживания. Порядок записи данных на транспортер неизменен, не допускается повторное считывание данных. Обмен данными происходит не непосредственно, а через транспортер. Из вызвавшего процесса задается размер транспортера. Дочерние процессы могут использовать родительский транспортер.

 

Очереди. Эти механизмы могут обеспечивать передачу или использование общих данных без перемещения данных, а с передачей элемента очереди, содержащего указатель данных и объем массива данных. Очередь используется вместе с механизмом общей памяти. Элемент очереди может быть считан с уничтожением или без уничтожения этого элемента. Чтение элемента может осуществляться в соответствии с механизмом очереди или стека. Чтение элементов очереди осуществляет только создающий очереди процесс, все другие процессы могут только записать элемент в очередь.

ОП 01. Операционные системы      16.11.2020г.

Группа 1003ПК, 1004ПК

 



Поделиться:


Последнее изменение этой страницы: 2020-11-28; просмотров: 127; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.104.29 (0.01 с.)