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

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

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

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

Добавлен: 09.04.2024

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

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

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

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

ями распорядителя.

 

 

Подобные

системы исполь­

 

зуются в задачах комплексной

 

автоматизации

производствен­

 

ных процессов,

характеризую­

 

щихся

параллельной

работой

 

многих механизмов, каждый из

 

которых управляется своей соб­

 

ственной программой. Сущест­

 

венным

требованием

к аппа­

 

ратной части системы является

 

наличие

свойства

прерывания,

 

обеспечивающего

переключе­

Рис. 11-1. Классификация

ние программ в соответствии с

мого объекта.

 

 

 

 

текущим состоянием управляе­

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

Системы

с

предваритель­

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

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



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

Различают два вида систем с автоматическим плани­ рованием: аппаратные и аппаратно-программные систе­ мы. В первых из них функции организации мультипро-

Рис. 11-2. Блок-схема машины с аппаратным распределением вре­ мени.

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

570

Т, равный времени прохождения информации через ли­ нию задержки, разделяется на N равных периодов, каж­ дый из которых отводится одному пользователю. Адрес­ ный счетчик, указывающий номер слова, проходящего в данный момент через усилители считывания, на каж­ дом из N периодов ведет отсчет адресов от нуля. Таким образом, каждый пользователь получает в каждом цик­ ле машинное время T/N и объем памяти Q/N (где Q — полная емкость главной памяти), недоступные другим пользователям.

Так как при смене программ текущая операция мо­ жет быть прервана на любой ее фазе, необходимо запо­ минать состояние всех регистров и управляющих тригге­ ров процессора с тем, чтобы восстановить их, когда в следующий раз наступит период работы данной про­ граммы. Для этого используются вспомогательная ли­ ния задержки и сдвигающий регистр, являющийся как бы продолжением этой линии задержки. Длина сдвига­ ющего регистра обеспечивает запоминание всех регист­ ров и триггеров процессора. Когда адресный счетчик проходит через нуль, т. е. происходит смена программ, производится параллельный обмен содержимого сдви­ гающего регистра и регистров процессора: в процессоре восстанавливается код состояния следующей програм­ мы, подлежащей исполнению, а состояние предыдущей программы начинает последовательно, разряд за разря­ дом, передаваться на хранение из сдвигающего регист­ ра во вспомогательную линию задержки. Если длина вспомогательной линии задержки вместе со сдвигающим регистром соответствует N—1 периодам, то обеспечивает­ ся необходимая синхронность движения информации во вспомогательной линии задержки и линиях задержки главной памяти.

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

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

571


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

зор

загружает целевые программы в оперативную па­

мять

машины из

внешней

памяти (барабаны, диски)

или

с первичных

носителей

(перфоленты, перфокарты)

и передает управление целевой программе,

имеющей

в данный момент в соответствии с алгоритмом

суперви­

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

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

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

572


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

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

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

573