Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I. Понятие МПЗ, классификация и оценка материалов.
  2. II Классификация.
  3. II Разновидности производственных процессов
  4. II. Классификация инвестиций
  5. II. Классификация Леонгарда
  6. II. Методы и источники изучения истории; понятие и классификация исторического источника.
  7. II. Объекты и субъекты криминалистической идентификации. Идентификационные признаки и их классификация.
  8. II. Сравнение потоков и процессов
  9. III Принципы организации производственных процессов
  10. III. Классификация проблем абонентов ТД.

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

По принадлежности к ОС – системные и пользовательские.

По месту выполнения – внутренние (на CPU) и внешние (на внешних процессорах).

По связанности – взаимосвязанные, изолированные, взаимодействующие (имеют общие структуры данных), конкурирующие.

За время существования процесс многократно меняет свое состояние. Различают следующие состояния процесса:

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

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

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

· Готовый (процесс ожидает освобождения CPU)

· Завершенный (процесс выполнился)

Переход из одного состояния в другое не может быть выполнен произвольно. Он происходит в соответствии с таблицей управления процессом (PCB = Process Control Block). В этой таблице процесс описывается набором значений, параметров, характеризующих его текущее состояние и используемых ОС для управления прохождением процесса через компьютер.

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

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

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

При смерти процесса-родителя в Unix ребенок сиротеет, но не умирает. Его усыновляет один из системных процессов.

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

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

Для эффективной загрузки ресурсов процессы объединяют в очереди. Новые процессы находятся во входной очереди (очередь заданий). Она располагается во внешней памяти. Там процессы ожидают освобождения адресного пространства оперативной памяти.

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

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

При прохождении через компьютер процесс мигрирует между очередями под управлением программы-планировщика (scheduler). В ОС с мультипрограммированием обычно имеется 2 планировщика – краткосрочный и долгосрочный.

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

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

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

Существует множество алгоритмов работы краткосрочного планировщика.

1. FCFS = First Come First Served (первый пришел, первый обслужился). Это наиболее простая стратегия. Время ожидания для процессов здесь сильно зависит от порядка поступления в очередь готовых процессов. Если имеется несколько маленьких процессов и один большой, то возникает «эффект конвоя».

2. SJF = Shortest Job First (Наиболее короткое задание выполняется первым). Предназначено для борьбы с «эффектом конвоя». Снижает время ожидания в очереди. Основная трудность – в определении заранее длины процесса. Как правило, применяется в долгосрочных планировщиках, обслуживающих пакетный режим. В этом случае, программист перед отправлением задания в пакет должен указать макс. время выполнения задания.

3. Приоритетное планирование. Каждому процессу приписывается приоритет – целое положительное число, - определяющее очередность предоставления ему CPU. Приоритет зависит от требований процесса к памяти, кол-ва открытых файлов, времени ввода-вывода процесса, его важности (какой модуль ОС его запустил).

4. RR = Round Robin («Карусельная» стратегия). Применяется в системах разделения времени. Св-ва стратегии сильно зависят от величины выделяемого каждому процессу кванта времени tk, очередь готовых процессов рассматривается как кольцевая. Новые процессы добавляются в хвост очереди. Если процесс не завершился в выделенный ему квант времени, то его работа принудительно прерывается, и он перемещается в хвост очереди.

Загрузка...

5. Multilevel queue scheduling (Планирование с использование многоуровневой очереди). Разработана для ситуации, когда процессы можно легко разбить на несколько групп (например, интерактивные и фоновые - пакетные). В каждой из очередей находится процессы с одинаковыми свойствами, а каждая отдельная очередь может иметь свою стратегию планирования. Ни один процесс с более низким приоритетом не может быть запущен, пока не выполнятся процессы во всех очередях в более высокими приоритетами.

6. Multilevel feedback queue scheduling (Планирование с использование многоуровневой очереди с обратными связями).Стратегия предполагает, что процессы могут перемещаться между очередями. Она является универсальной и сочетает в себе св-ва всех рассмотренных ранее стратегий.


Дата добавления: 2014-12-20; просмотров: 13 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2019 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав