По результативности различают: 


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



ЗНАЕТЕ ЛИ ВЫ?

По результативности различают:



ü эквивалентные

ü тождественные ü равные процессы.

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

 По времени развития различают процессы:

ü последовательные,

ü параллельные

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

 

По месту развития процессыделятся на внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).

 По принадлежности к операционной системе процессы бывают:

ü системные (исполняют программу из состава операционной системы)

ü пользовательские.

 По связности различают процессы:

а. взаимосвязанные, которые имеют какую-то связь (пространственно-временную, управляющую, информацион-

ную);

б. изолированные — слабо связанные;

в. информационно-независимые, которые используют совместные ресурсы, но имеют собственные информационные базы;

г. взаимодействующие — имеют информационные связи и разделяют общие структуры данных;

д. взаимосвязанные по ресурсам;

е. конкурирующие.

Порядок взаимосвязи процессов определяется правилами синхронизации. Процессы могут находиться в отношении:

а. предшествования — один всегда находится в активном состоянии раньше, чем другой;

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

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

 

Ресурс — любая потребляемая (расходуемая) сущность.

По запасам ресурсы подразделяются на исчерпаемые и неисчерпаемые. Потребители ресурсов — процессы.

Ресурс — средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

Основными ресурсами вычислительной системы являются:

ü процессоры;

ü области основной памяти;

ü наборы данных;

ü периферийные устройства;

ü программы

 

Процессор любое устройство в составе ЭВМ, способное автоматически выполнять допустимые для него действия (процессоры, каналы и устройства, работающие с каналами). Реализация системы управления процессами в составе ОС предъявляет определенные требования к свойствам процессоров.

 

 

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

 

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

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

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

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

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

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

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

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

ü данные;

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

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

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

 

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

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

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

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

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

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

 

 

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

 

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

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

 

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

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

 

 

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

 

Очереди

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

 

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



Поделиться:


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

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