Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Управление процессором в режиме мультипрограммирования




 

Понятие мультипрограммирования

 

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

 

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

Пакетной обработки

 

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

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

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

Рассмотрим более детально совмещение во времени операций ввода-вывода и вычислений.

Достигнуть описанного выше совмещения можно несколькими способами. Один из них характе­рен для компьютеров, имеющих специализированный процессор ввода-вывода. В компьютерах класса мэйнфреймов такие процессоры называют каналами. Как правило, канал имеет систему команд, отличающуюся от системы команд цен­трального процессора. Эти команды специально предназначены для управления внешними устройствами. Ка­нальные программы могут храниться в той же оперативной памяти, что и про­граммы центрального процессора. Однако в системе команд центрального процессора предусматривается специальная инструкция, с помощью которой каналу переда­ются параметры и указания на то, какую программу ввода-вывода он должен вы­полнить. Начиная с этого момента центральный процессор и канал могут работать параллельно (рис.1, а).

 

 

а

 

б

Рис. 1. Параллельное выполнение вычислений и операций ввода-вывода

 

Существует и другой способ совмещения вычислений с операциями ввода-вывода. Он реализован в компьютерах, управление внешними устройствами в которых осуществляется так называемыми контроллерами. Каждое внешнее устройство (или группа внеш­них устройств одного типа) имеет свой собственный контроллер, который авто­номно отрабатывает команды, поступающие от центрального процессора. При этом контроллер и центральный процессор работают асинхронно. Многие внешние устройства включают электромеханические узлы, вследствие чего контроллер выпол­няет свои команды управления устройствами существенно медленнее, чем цен­тральный процессор свои. Именно это обстоятельство используется для организации параллельного выполнения вычислений и операций ввода-вывода: в промежутке между передачей команд контроллеру центральный процессор может выполнять вычисления (рис.1, б). Контроллер может сообщить центральному процессору о том, что он готов принять следующую команду, с помощью специального сигнала, либо центральный процессор узнает об этом, периодически опрашивая состояние кон­троллера.

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

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

Общее время выполнения смеси задач часто оказывается меньше, чем их сум­марное время последовательного выполнения (рис.2, а). Впрочем, выполнение отдельной задачи в мультипрограммном режиме может занять больше времени, чем при монопольном выделении процессора этой задаче. Этот легко объясняется тем, что при совместном использовании процессора в системе могут возникать ситуации, ко­гда задача готова выполняться, но процессор занят выполнением другой задачи. В таких случаях задача, завершившая ввод-вывод, готова выполняться, но выну­ждена ждать освобождения процессора, что удлиняет срок ее выполнения. Так, из рис. 2 видно, что в однопрограммном режиме задача А выполняется за 6 единиц времени, а в мультипрограммном – за 7. Задача В также вместо 5 единиц времени выполняется за 6. Но зато время выполнения обеих задач в мультипро­граммном режиме составляет всего 8 единиц, что на 3 единицы меньше, чем при последовательном выполнении.

 

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

б – в мультипрограммной системе

 

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





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1280 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2338 - | 2092 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.