Многопоточность- способность операционной системы поддерживать в рамках одного процесса выполнение нескольких потоков.
Традиционный подход, при котором каждый процесс представляет собой единый поток выполнения, называется однопоточным подходом.
· управляющий блок процесса;
· пользовательское адресное пространство;
· стеки ядра и пользователя(с помощью которых осуществляются вызовы процедур и возвраты из них при выполнении процесса).
В многопоточной среде с каждым процессом тоже связаны управляющий блок и адресное пространство, но теперь для каждого потока создаются свои отдельные стеки, а также свой управляющий блок, в котором содержатся значения регистров, приоритет и другая информация о состоянии потока:
Основные преимущества использования потоков с точки зрения производительности.
· Создание нового потока в уже существующем процессе занимает меньше времени, чем создание нового процесса.
· Поток можно завершить быстрее, чем процесс.
· Переключение потоков в рамках одного и того же процесса происходит быстрее.
· При использовании потоков повышается эффективность обмена информацией между двумя выполняющимися программами.
14) Управление процессами. Типы планирования процессора.
Долгосрочное планирование – решение о добавлении процесса в пул выполняемых процессов.
Среднесрочное планирование – решение о добавлении процесса к числу процессов частично или полностью размещенных в основной памяти.
Краткосрочное планирование – решение о том, какой из готовых процессов будет выполняться процессором.
Планирование ввода-вывода – решение о том, какой из запросов процессов на операции ввода-вывода будет обработан свободным устройством ввода-вывода.
|
Управление процессами.
Критерии краткосрочного планирования.
Функция выбора и режим решения.
Пользовательские, связанные с производительностью
· Время оборота (Интервал времени между подачей процесса и его завершением. Включает время выполнения, а также время, затраченное на ожидание ресурсов, в том числе и процессора)
· Время отклика (В интерактивных процессах это время, истекшее между подачей запроса и началом получения ответа на него)
· Предельный срок (При указании предельного срока завершения процесса планирование должно подчинить ему все прочие цели максимизации количества процессов, завершающихся в срок)
Пользовательские, иные
· Предсказуемость (Данное задание должно выполняться примерно за одно и то же количество времени и с одной и той же стоимостью, независимо от загрузки системы)
Системные, связанные с производительностью
· Пропускная способность (Стратегия планирования должна пытаться максимизировать количество процессов, завершающихся за единицу времени, что является мерой количества выполненной системой работы)
· Использование процессора (Этот показатель представляет собой процент времени, в течение которого процессор оказывается занят)
Системные, иные
· Беспристрастность (При отсутствии дополнительных указаний от пользователя или системы все процессы должны рассматриваться как равнозначные и ни один процесс не должен подвергнуться голоданию)
· Использование приоритетов (Если процессам назначены приоритеты, стратегия планирования должна отдавать предпочтение процессам с более высоким приоритетом)
|
· Баланс ресурсов (Стратегия планирования должна поддерживать занятость системных ресурсов)
Функция выбора определяет, какой из готовых к выполнению процессов будет выбран следующим для выполнения.
Режим решения определяет, в какие моменты времени выполняется функция выбора.
· Вытесняющие: Выполняющийся в настоящий момент процесс может быть прерван и переведен операционной системой в состояние готовности к выполнению.
· Невытесняющие: В этом случае находящийся в состоянии выполнения процесс продолжает выполнение до тех пор, пока он не завершится или пока не окажется в заблокированном состоянии ожидания завершения операции ввода-вывода или запроса некоторого системного сервиса.
16) Управление процессами. Алгоритмы планирования FCFS и RR.
· Первым поступил — первым обслужен(FCFS)
Как только процесс становится готовым к выполнению, он присоединяется к очереди готовых процессов. При прекращении выполнения текущего процесса для выполнения выбирается процесс, который находился в очереди дольше других.
· Круговое планирование(RR)
Таймер генерирует прерывания через определенные интервалы времени. При каждом прерывании исполняющийся в настоящий момент процесс помещается в очередь готовых к выполнению процессов, и начинает выполняться очередной процесс, выбираемый в соответствии со стратегией FCFS.
17) Управление процессами. Алгоритмы планирования SPN и SRT.
· Наиболее короткий процесс следующий(SPN)
|
Если в очереди появляется короткий процесс, то он выполняется первым. Автоматически система не может определить какой процесс короче.
· Наименьшее остающееся время(SRT)
В этом случае планировщик выбирает процесс с наименьшим ожидаемым временем до окончания процесса.
При присоединении нового процесса к очереди готовых к исполнению процессов может оказаться, что его оставшееся время в действительности меньше, чем оставшееся время выполняемого в настоящий момент процесса. Планировщик может применить вытеснение при готовности нового процесса.
18)Управление процессами. Алгоритмы планирования HRRN и FB.
· Наивысшее отношение отклика(HRRN)
Рассмотрим соотношение
R= w+s /s, где
R — отношение отклика;
w — время, затраченное процессом на ожидание;
s — ожидаемое время обслуживания.
При завершении или блокировании текущего процесса для выполнения из очереди готовых процессов выбирается тот, который имеет наибольшее значение R.
· FB (feedback) Снижение приоритета
Выполняется вытесняющее (по квантам времени) планирование с использованием динамического механизма. При входе процесса в систему он помещается в очередь RQ0. После первого выполнения и возвращения в состояние готовности процесс помещается в очередь RQ1. В дальнейшем при каждом вытеснении этого процесса он вносится в очередь со все меньшим приоритетом.
По достижении очереди с наиболее низким приоритетом процесс уже не покидает ее, всякий раз после вытеснения попадая в нее вновь.
Такой подход известен как многоуровневый возврат (multilevel feedback2), поскольку при блокировании или вытеснении процесса осуществляется его возврат, на очередной уровень приоритетности.