21
Тема 4. “Основные принципы управления процессором и процессами.” 1. Основные понятия 2. Управление процессором в однопрограммном режиме 3. Управление процессором в режиме мультипрограммирования 3.1. Понятие мультипрограммирования 3.2. Мультипрограммирование в системах пакетной обработки 3.3. Мультипрограммирование в системах разделения времени 3.4. Мультипрограммирование в системах реального

Основные принципы управления процессором и процессами

Embed Size (px)

Citation preview

Page 1: Основные принципы управления процессором и процессами

Тема 4.“Основные принципы управления

процессором и процессами.”1. Основные понятия2. Управление процессором в однопрограммном режиме3. Управление процессором в режиме мультипрограммирования3.1. Понятие мультипрограммирования3.2. Мультипрограммирование в системах пакетной обработки3.3. Мультипрограммирование в системах разделения времени3.4. Мультипрограммирование в системах реального времени

Page 2: Основные принципы управления процессором и процессами

1. Основные понятия

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

Page 3: Основные принципы управления процессором и процессами

Основными критериями для оценки эффективности вычислительной системы являются: пропускная способность – количество задач, выполняемых

вычислительной системой в единицу времени; удобство работы пользователей, заключающееся, например, в

том, что они могут одновременно работать в интерактивном режиме с несколькими приложениями на одном компьютере;

реактивность системы.

Page 4: Основные принципы управления процессором и процессами

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

Page 5: Основные принципы управления процессором и процессами

Каждый процесс должен иметь возможность влиять только на принадлежащие ему коды и данные, поэтому в задачи ОС при управлении процессами входит изоляция одного процесса от другого. Реализация этих задач подразумевает выделение операционной системой каждому процессу виртуального адресного пространства – совокупность адресов, которыми может манипулировать программный модуль процесса.

Page 6: Основные принципы управления процессором и процессами

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

Page 7: Основные принципы управления процессором и процессами

В операционной системе наряду с про цессами нужен другой механизм распараллеливания вычислений, который учи тывал бы тесные связи между отдельными ветвями вычислений одного и того же приложения. Для этих целей современные ОС предлагают механизм мпогопоточной обработки (multithreading). При этом вводится новая единица работы – поток выполнения, а понятие “процесс” в значительной степени меняет смысл. Понятию “поток” соответствует последовательный переход процессора от одной команды программы к другой. Создание потоков, а не процессов, требует от ОС меньших накладных расходов.

Page 8: Основные принципы управления процессором и процессами

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

Page 9: Основные принципы управления процессором и процессами

Итак, мультипрограммирование более эффективно на уровне потоков. Каждый поток имеет собственный счетчик команд и стек. Задача, оформлен ная в виде нескольких потоков в рамках одного

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

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

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

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

Page 10: Основные принципы управления процессором и процессами

2. Управление процессором в однопрограммном режиме

В такой ОС существует два процесса: системный процесс – процесс выполнения программ ОС и пользовательский процесс – процесс выполнения программ

пользователя.

Page 11: Основные принципы управления процессором и процессами

Переключение “пользовательский процесс – системный процесс” в однопрограммной ОС связано со следующими событиями в вычислительной системе: завершение пользовательского процесса; обращение пользовательского процесса к системному

процессу для выполнения каких-либо функций ОС.Переключение “системный процесс – пользовательский процесс” связано с: созданием пользовательского процесса; завершением выполнения функций ОС, используемых

пользовательским процессом.

Page 12: Основные принципы управления процессором и процессами

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

Page 13: Основные принципы управления процессором и процессами

3.2. Мультипрограммирование в системах пакетной обработки

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

Page 14: Основные принципы управления процессором и процессами

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

задание содержит требование к системным ресурсам; из этого пакета за даний формируется

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

Page 15: Основные принципы управления процессором и процессами

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

Page 16: Основные принципы управления процессором и процессами

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

Вычисления А А В В Ввод-вывод А В а

Вычисления А В А В Ввод-вывод А В Готовность А В 1 2 3 4 5 6 7 8 9 10 11 Т

б

Рис. 2. Время выполнения двух задач: а – в однопрограммной системе; б – в мультипрограммной системе

Page 17: Основные принципы управления процессором и процессами

3.3. Мультипрограммирование в системах разделения времени

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

Page 18: Основные принципы управления процессором и процессами

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

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

Критерием эффективно сти систем разделения времени является не максимальная пропускная способ ность, а удобство и эффективность работы пользователя.

Page 19: Основные принципы управления процессором и процессами

3.4. Мультипрограммирование в системах реального времени

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

Page 20: Основные принципы управления процессором и процессами

В системах реального времени:

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

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

Page 21: Основные принципы управления процессором и процессами

Спасибо за внимание!