Многозадачность и многопроцессорность ОС
Многозадачность и многопроцессорность – разные понятия, хотя многозадачность поддерживает многопроцессорность. Многозадачность появляется благодаря совместным усилиям микропроцессора и операционной системы. Многозадачные ОС подразделяются на три типа в соответствии с ис- пользованными при их разработке критериями эффективности: • системы пакетной обработки (например, OC EC); • системы разделения времени (например, Unix); • системы реального времени (например, OS9, QNX). Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения ре- зультатов. Главной целью и критерием эффективности систем пакетной обра- ботки является максимальная пропускная способность, то есть решение мак- симального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в нача- ле работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременно- го выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желатель- но одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зави- сит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание. Следовательно, в таких ОС невозможно гарантировать вы- полнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной за- дачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Понятие процесса и потока в ОС. Алгоритмы планирования. Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Планирование потоков в ОС. Алгоритмы планирования. Планирование процессов включает в себя решение следующих задач: -определение момента времени для смены выполняемого процесса; -выбор процесса на выполнение из очереди готовых процессов; -переключение контекстов "старого" и "нового" процессов. Первые две задачи решаются программными средствами, а последняя в значительной степени. Существует множество различных алгоритмов планирования процессов, по разному решающих вышеперечисленные задачи, преследующих различные цели и обеспечивающих различное качество мультипрограммирования. Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на квантовании, и алгоритмы, основанные на приоритетах. Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии. В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если: -процесс завершился и покинул систему, -произошла ошибка, -процесс перешел в состояние ОЖИДАНИЕ, -исчерпан квант процессорного времени, отведенный данному процессу.
|