Разделы:


Best links:

Управление процессами

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

Image

Рис. 7.3. Производительность однопрограммной (а) и мультипрограммной (б) системы

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

Производительность системы часто измеряется числом заданий, выполненных за временной интервал; эта величина называется пропускной способностью системы. Чтобы показать, каким образом совмещение обработки и ввода-вывода в режиме ПДП может улучшить пропускную способность системы, рассмотрим два процесса. Типичные действия однопрограммной системы показаны на рис. 7.3,а. Процесс 1 начинается и продолжается до точки А, где ему потребовался ввод-вывод. Здесь инициируется ввод-вывод, а обработка продолжается параллельно с ним до тех пор, пока для обработки не потребовались входные данные (точка В); ЦП должен ожидать завершения ввода-вывода. Обработка возобновляется, когда ввод-вывод закончен (точка С). Аналогичная ситуация возникает в точках D, Е и F. По окончании процесса 1 начинается процесс 2; он выполняется также, как и процесс 1. Кроме "перемешивания" нескольких действий ввода-вывода, мультипрограммная система может одновременно обслуживать нескольких пользователей. Пользователи поочередно управляют ЦП, когда каждому из них выделяется временной квант — получается система с разделением времени.

предыдущаяследующая