Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 227

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Г л а в а о д и н н а д ц а т а я

МУЛЬТИПРОГРАММНЫЕ И МНОГОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ

СИСТЕМЫ. СИСТЕМЫ С РАСПРЕДЕЛЕНИЕМ ВРЕМЕНИ

1 1 - 1 . О С Н О В Н Ы Е П О Н Я Т И Я и К Л А С С И Ф И К А Ц И Я

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

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

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

564


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

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

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

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

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

тенсивно

используются периферийные

устройства и в

меньшей

степени — процессор. При

комбинировании

565


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

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

Классификация систем по формам обслуживания.

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

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

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

Р а с п р е д е л е н и е в р е м е н и — форма обслужи­ вания, при которой возможен одновременный доступ не­ скольких независимых пользователей к одной вычисли­ тельной машине.

566


Одновременность доступа означает, что: 1) каждому пользователю должны быть предоставлены собственные средства связи с машиной (пульты, аппараты ввода-вы­ вода), с помощью которых он может обращаться к ма­ шине в любой, удобный для него момент времени; 2) при одновременном обращении нескольких пользователей машина должна реагировать на их запросы с задержкой времени, которая с точки зрения каждого пользователя

представляется такой же (или почти такой

же), как

и при индивидуальном пользовании.

пользо­

Независимость пользователей означает, что

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

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

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

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

§67


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

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

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

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

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

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

вооруженности

этими

средствами могут существо­

вать

различные виды

мультипрограммных

систем

(рис. 11-1).

 

 

 

 

 

 

С и с т е м ы

с п р е д в а р и т е л ь н ы м

( или

р у ч ­

ным)

п л а н и р о в а н и е м

являются простейшей

фор­

мой мультипрограммных

систем и предполагают наличие

программиста-распорядителя,

которому

заранее

из-