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

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

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

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

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

Урок 23. Процесс в операционной системе

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

При прохождении через компьютер процесс мигрирует между различными очередями под управлением программы, которая называется планировщик. (scheduler) Операционная система, обеспечивающая режим мультипрограммирования, обычно включает два планировщика — долгосрочный (long term scheduler) и краткосрочный (short term scheduler/CPU scheduler).

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

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

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

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

3.3. Взаимодействие процессов. Пользовательский уровень.

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

Эксперимент, который доказал что свобода выбора это миф

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

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

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

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

буфер пуст; ожидает процесс — потребитель

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

Читайте также:
Программа отключить датчик приближения

Источник: studfile.net

Планирование процессов. Понятие очереди

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

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

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

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

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

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

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

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

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

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

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

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

Краткосрочный планировщик решает, какой из процессов, нахо­дящихся в очереди готовых процессов, должен быть передан на вы­полнение в CPU. B некоторых операционных системах долгосроч­ный планировщик может отсутствовать. Например, в системах разделения времени (time-sharing system) каждый новый процесс сразу же помещается в основную память.

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

Читайте также:
Как батником открыть программу

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

Источник: studopedia.su

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

Распределение процессов между процессами имеющихся ресурсов носит название планирование процессов.

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

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

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

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

· долгосрочный (long term scheduler)

· краткосрочный (short term scheduler/CPU scheduler).

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

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

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

Иногда используют термины:

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

Планировщик нижнего уровня – для программы выделения фактического процессора.

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

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

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

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

Блокированные и приостановленные процессы могут быть откачаны во внешнюю память.

Некоторые ОС откачивают готовые активные процессы и тем самым переводят их в блокированное состояние.

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

Планировщик процессов выполняет функции создания процессов, выделения ресурсов и завершения процессов (выделение виртуального процессора).

Диспетчеризация процессов при мультипрограммировании

Процесс, который может выполняться, как только процессор освободится, находится в состоянии — готовый активный. Такому процессу уже выделена ОП и другие ресурсы. Он ждет только одного ресурса – процессора.

Диспетчером процессов выполняется функция выделения процессора готовому активному процессу (выделение фактического процессора).

Диспетчер передает управление либо по истечении фиксированного интервала времени, либо при возникновении какого-либо внешнего по отношению к выполняющейся программе события (завершение в/в и т.п.). Диспетчер обрабатывает очередь готовых процессов, в которой любой готовой к выполнению программе соответствует элемент определенной структуры.

За разделение процессора приходится «расплачиваться» снижением скорости выполнения работ ВС.

Дисциплины диспетчеризации процессов.

Дисциплины с одной очередью для невытесняющей многозадачности.

Читайте также:
Рейтинг программы жизнь других на первом

1. Первым пришел – первым обслужен (FCFS, first come-first served)

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

Обеспечить для всех процессов одно и то же среднее время ожидания.

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

Стоимость реализации низка, так как очередь готовых надо поддерживать в порядке возрастания времен создания процессов, а перераспределения процессора не производится.

Основным недостатком механизма FCFS является то, что короткие процессы вынуждены ждать столько же, сколько и длинные («эффект конвоя»).

Два недостатка из теории очередей:

1. Среднее время ожидания может неограниченно расти по мере приближения системы к пределу своей загруженности.

2. С увеличением дисперсии времени выполнения процессов среднее время ожидания увеличивается.

1. Следующий-с кратчайшим заданием (SJN, shortest job-next)

Стратегия, избавленная от недостатков FCFS, состоит в минимизации общего среднего времени ожидания.

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

Перераспределения процессора не происходит.

1. Снижается общее среднее время ожидания

2. Среднее время ожидания коротких процессов становится меньше, чем длинных.

3. Растет дисперсия времени ожидания (в результате трудно предсказать, когда процесс будет обслужен)

Циклические дисциплины для вытесняющей многозадачности.

1. Круговой циклический алгоритм (RR, round-robin).

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

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

Если существует n готовых процессов, то каждый получит 1/n часть процессорного времени. Такая форма равного обслуживания неявно отдает предпочтение коротким процессам, поскольку они будут заканчиваться быстрее, чем длинные, но без чрезмерного ущемления «интересов» длинных.

Из-за расходов на переключение процессов общее время ожидания может быть больше, чем при FCFS.

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

Существенную роль играет размер кванта. Он может зависеть от размера очереди и параметров процессов.

2. Многоуровневый циклический алгоритм (FB, Feed Back (обратная связь)

n=1 — первая очередь готовых процессов. Из нее заявка поступает на CPU и/или полностью обслуживается или снова поступает в очередь, но с номером на 1 больше.

Заявка в i-ой очереди обслуживается, если пусты все остальные очереди. В очереди N заявки обслуживаются до завершения (в очереди N принцип FIFO +RR).

3. Смешанный алгоритм(RR+FB)

Каждый процесс получает в i- ой очереди несколько квантов процессорного времени и только потом переходит в очередь i+1.

Достоинства смешанного алгоритма:

· сокращаются накладные расходы на перевод процесса из очереди в очередь;

· возможно подобрать параметры алгоритма под т поток процессов (т.е., можно варьировать

Выводы к бесприоритетным дисциплинам диспетчеризации:

· Линейные дисциплины характеризуются одинаковым средним временем ожидания.

· Циклические дисциплины обслуживают короткие процессы с неявным приоритетом.

· Бесприоритетые дисциплины не требуют предварительной информации о длительности заявок.

· Уменьшение длительности ожидания коротких процессов происходит за счет увеличения tожид. длинных заявок.

Классификация дисциплин диспетчеризации процессов

Источник: studopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru