Студопедия

КАТЕГОРИИ:

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


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




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

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

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

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

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

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

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

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

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


Поделиться:

Дата добавления: 2014-12-23; просмотров: 110; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты