
книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины
.pdfграмме во время ее загрузки или выполнения. При таком режиме работы возможности параллельной работы основных устройств ма шины используются неполностью.
Режим пакетной обработки представляет собой способ органи зации одновременного решения нескольких задач в ЦВМ, при ко-' тором вся необходимая информация (программы, исходные дан ные) вводится в ЗУ машины заранее, до начала решения задач, а в ходе их решения вмешательство потребителей с пульта ие допу скается. При таком режиме работы потребители, как правило, не имеют непосредственного доступа к машине. Заранее подготовлен ные ими задачи (программы) сдаются операторам (программи стам), из них формируется пакет программ, который затем реали зуется. Через определенное время потребители получают резуль таты решения задач. Основная цель организации режима пакетной обработки — минимизация времени на реализацию заданного на бора задач (программ) за счет обеспечения параллельной работы основных устройств машины.
Программы, собираемые в пакет, могут иметь различные прио ритеты. В режиме пакетной обработки, как и в других режимах работы ЦВМ, может использоваться как система статических, так и система динамических приоритетов. В первом случае приоритет программы является абсолютным, не связанным с динамикой про цесса реализации пакета. Во втором случае присвоение программе того или иного приоритета осуществляется в ходе выполнения про грамм пакета. Присвоение динамических приоритетов связывается, например, с временем ожидания программ в процессе реализации пакета.
Режим работы с разделением времени — это такой способ орга низации решения задач, при котором некоторое число независимых абонентов (потребителей) с помощью периферийных устройств ввода — вывода имеет в процессе решения своих задач непосред ственный, постоянный и одновременный доступ к ЦВМ. Каждый абонент имеет в своем распоряжении собственные средства связи с машиной, с помощью которых он может обращаться к ней в лю бой момент времени. При одновременном обращении нескольких абонентов машина реагирует на их запросы с задержкой времени, которая, с точки зрения каждого абонента, представляется такой же, как и при индивидуальном пользовании, что вытекает из факта несоответствия скоростей реакции человека и современных ЦВМ.
В отличие от режима пакетной обработки организация режима разделения времени требует дополнительного оснащения машины аппаратурой селекторных и мультиплексных каналов для обеспече ния оперативной связи с абонентами и соблюдения определенных временных соотношений между моментами запросов абонентов и реакции ЦВМ на эти запросы. Режим разделения времени сочетает эффективное использование возможностей ЦВМ с предоставлением человеку удобств индивидуального пользования.
Режим работы запрос — ответ представляет собой такой способ организации решения задач абонентов, при котором их программы
20
постоянно хранятся в ЗУ машины, а запросы на их выполнение и необходимые исходные данные поступают извне от абонентов, имеющих прямой доступ к машине. Каждому запросу соответствует своя программа, которая вырабатывает соответствующий ответ. Число таких отвечающих программ ограничено емкостью ЗУ. Сле довательно, ограничен и набор допустимых запросов, поэтому ре жим работы запрос — ответ применяется в основном для решения таких задач, как резервирование мест на транспорте, выдача раз личных справок и т. д.
Поток запросов может быть детерминированным или вероятно стным, причем в последнем случае возможен как стационарный, так и нестационарный поток. Запросы могут иметь различные приоритеты и, кроме того, временные ограничения на срок их обслу живания. В связи с этим возникает задача диспетчирования, опре деления порядка обслуживания запросов. Диспетчирование опре деляет некоторую стратегию обслуживания, с помощью которой из множества поступивших запросов выбирается совокупность запро сов для обслуживания в первую очередь. Правила выбора запросов из этой совокупности определяют дисциплину обслу живания.
Наиболее часто применяются следующие дисциплины обслужи вания запросов:
—в порядке поступления запросов, т. е. по принципу «первый пришел — первый обслужен»;
—в порядке абсолютных приоритетов, когда все запросы раз
биты на группы и каждой группе присвоен определенный приори тет; обслуживание запросов из группы с некоторым приоритетом не начинается до тех пор, пока не будут обслужены все запросы из групп с более высоким приоритетом;
— в порядке относительных приоритетов, назначаемых в зави симости от принадлежности запроса к той или иной приоритетной группе и от момента его поступления;
— в порядке динамических приоритетов, назначаемых в зависи мости от принадлежности запроса к той или иной приоритетной группе и от допустимого времени ожидания обслуживания.
Выбор дисциплины обслуживания определяется критерием, по которому оценивается качество функционирования ЦВМ, характе ром потоков запросов и производительностью машины.
Машина, работающая в режиме запрос — ответ, может быть за гружена не полностью. В таком случае в промежутках между об служиванием запросов машина может решать другие задачи, на пример, в режиме пакетной обработки.
§ 1.4. Математическое обеспечение
Математическим обеспечением (МО) ЦВМ называется ком плекс программных средств, предназначенных для повышения эф фективности использования машины, облегчения ее эксплуатации и
2t
снижения трудоемкости подготовительной работы при решении за дач на машине.
Все МО можно разделить на две группы — общее и специаль ное. Общее МО позволяет повысить эффективность использования машины, облегчает ее техническую эксплуатацию, упрощает работу по подготовке задач к решению. Такое МО решает задачу приме нения ЦВМ как некоторой универсальной системы обработки ин формации. Специальное МО представляет собой комплекс про грамм, которые добавляются к общему МО и обеспечивают функ ционирование ЦВМ как некоторой специализированной системы обработки информации.
Общее МО состоит из трех систем: системы тестов, системы ав томатизации программирования и операционной системы. В систе му тестов входят тестовые программы, с помощью которых облег чается техническая эксплуатация ЦВМ, так как они дают возмож ность не только установить факт неисправности машины (контро лирующие программы), но и локализовать неисправность (диагно стические программы).
Системой автоматизации программирования (САП) называется часть МО, обеспечивающая всестороннюю автоматизацию процесса получения рабочих программ. Развитые САП включают алгорит мические языки, трансляторы (программы перевода рабочих про грамм с алгоритмических языков на машинный язык), интерпре тирующие и компилирующие системы, библиотеки стандартных программ, программы сервиса и т. д. Объем и разнообразие средств, представленных в САП, в конечном счете определяют «квалификацию» машины, удобство ее использования абонентами и программистами.
Операционная система (ОС) представляет собой программно аппаратурный комплекс, объединяющий средства организации про цесса функционирования ЦВМ. Основные функции ОС: управление обменом информацией между внешними абонентами и машиной, планирование и организация многопрограммной работы машины, оперативное управление работой всех устройств ЦВМ в процессе решения задач, обеспечение контроля работоспособности машины, обеспечение долговременного хранения информационных массивов (личных архивов) абонентов.
К операционной системе предъявляется ряд требований, основ ные из которых следующие:
— ОС должна обладать свойством структурной гибкости, спо собностью изменяться и пополняться новыми управляющими и об служивающими программами; структурная гибкость обычно дости гается путем использования модульного принципа построения ОС;
— система должна предоставлять абонентам максимум удобств в сочетании с наиболее эффективным использованием ЦВМ;
— ОС должна сводить к минимуму простои оборудования
.(главным образом процессора), связанного с вмешательством опе ратора или абонента в процесс обработки информации машиной;
22
— потери времени на работу ОС должны быть минимальными. Затраты машинного времени на работу ОС существенно зави сят от соотношения между аппаратурной и программной частями этой системы. В общем случае чем больше удельный вес аппаратур ной части, тем сложнее ЦВМ, но тем меньше затрачивается време ни на работу ОС, и наоборот. В аппаратурную часть ОС входят переключатели режимов работы ЦВМ, схемы выработки сигналов прерываний, регистры прерываний, схемы управления прерыва нием, счетчики времени для выработки периодических временных
сигналов и т. д.
Программная часть ОС представляет собой иерархический на бор управляющих и обслуживающих программ, верхний уровень которого определяет стратегию, а последующие — тактику прохож дения задач через ЦВМ. Стратегия управления зависит от харак теристик задач и имеющихся ресурсов машины, тактика — от теку щего состояния ЦВМ, времени нахождения в машине задач, подлежащих решению, количества этих задач, времени на их обслуживание и т. д.
Набор программ ОС зависит от возможностей машины и требо ваний, предъявляемых к ней. Иначе говоря, структура и функции ОС в значительной мере определяются не только характером за дач, решаемых ЦВМ, но и логической структурой конкретной ма шины. Поэтому ОС должна разрабатываться одновременно с про ектированием аппаратурной части машины.
В литературе по цифровым вычислительным машинам и систе мам получило распространение деление ОС на такие части: дирек тор, монитор, супервизор.
Директор — это часть ОС, которая направляет и контролирует работу остальных компонентов ОС. Он осуществляет перестройку ОС при переключении режимов функционирования, принимает и организует выполнение приказов, поступающих от оператора, информирует оператора о ситуациях, требующих его вмеша тельства.
Монитором называется часть ОС, реализующая оперативное планирование и управление выполнением основных программ в различных режимах работы, распределение физической памяти между основными программами, подготовку программ к выпол нению.
Супервизор — это набор управляющих программ, обеспечиваю щих взаимодействие ЦВМ с устройствами ввода — вывода.-Его основные функции: обслуживание работы устройств ввода — выво да в нормальных и аварийных ситуациях, ввод информации с со ответствующего устройства ввода — вывода в заданную область оперативной памяти машины, вывод информации из заданной области оперативной памяти в соответствующее устройство ввода —■ вывода, устранение причин сбоев в работе устройств ввода — вы вода самостоятельно или с привлечением операторов.
Совокупность супервизора и монитора часто называют диспет чером.
23
Для размещения всех программ ОС требуется достаточно боль шой объем памяти. Обычно не представляется возможным хранить все программы ОС в ОЗУ машины. В оперативной памяти по стоянно размещается лишь определенная часть ОС, получившая название резидентной части. В состав резидентной части ОС вхо дят программы, наиболее часто используемые при управлении вы числительным процессом.
§ 1.5. Организация функционирования ЦВМ в режиме пакетной обработки
Организация работы ЦВМ в режиме пакетной обработки связа на с решением таких вопросов, как выбор дисциплины (порядка) реализации рабочих программ пакета, выбор вида пакетной обра ботки, подготовка рабочих программ к пакетной реализации, пла нирование загрузки устройств ЦВМ.
Выбор той или иной дисциплины реализации рабочих про грамм определяется назначением ЦВМ и характером решаемых задач. Если задачи дифференцируются по своей срочности и важ ности, для них устанавливаются соответствующие уровни приори тетов с таким расчетом, чтобы в первую очередь и в приемлемые сроки были решены наиболее важные задачи. Приоритетность за дач внутри данного пакета может устанавливаться по степени их важности и по информационной связности: если для некоторой за дачи в качестве исходных данных используются результаты (про межуточные или окончательные) решения другой задачи, то эта другая задача, естественно, должна решаться в первую очередь. Как уже отмечалось, в режиме пакетной обработки может исполь зоваться как система статических, так и система динамических приоритетов. Наилучшие результаты с точки зрения обеспечения минимальных затрат машинного времени на реализацию пакета задач получаются в том случае, если эти задачи независимы (ин формационно не связаны) и равноценны по своей важности и сроч ности.
Можно выделить следующие виды пакетной обработки в много программной ЦВМ:
— реализация задач пакета без сегментации (распараллелива ния) рабочих программ, принадлежащих этому пакету;
— реализация задач пакета с сегментацией рабочих про грамм.
В первом случае рабочие программы, входящие в реализуемый пакет, выполняются в такой последовательности, чтобы, с одной стороны, обеспечить в первую очередь выполнение программ с наи более высоким уровнем приоритета и, с другой стороны, затратить минимум суммарного машинного времени на выполнение всех программ пакета. При этом рабочие программы не сегменти
руются, что, |
естественно, облегчает решение задачи |
определе |
ния порядка |
их выполнения (задачи планирования |
загрузки |
ЦВМ). |
|
|
24
Второй вид пакетной обработки отличается от первого тем, что рабочие программы, входящие в пакет, предварительно разбивают ся программистами на куски (сегменты), которые могут выпол няться независимо и одновременно. Поэтому при том же количестве рабочих программ в пакете задача планирования загрузки ЦВМ усложняется, зато с лучшим результатом решается задача по обес печению минимальных затрат машинного времени на реализацию пакета. Распараллеливание рабочих программ пакета особенно эффективно в том случае, когда число программ сравнительно не велико и они резко отличаются по своим размерам.
После установления связности рабочих программ и их распа раллеливания решается задача планирования загрузки основных устройств ЦВМ — процессора, запоминающих устройств, устройств ввода — вывода. Эта задача называется также задачей планиро вания многопрограммной работы ЦВМ.
Планирование многопрограммной работы ЦВМ является одной из важных и самостоятельных задач организации многопрограммной работы машины. Основная цель такого планирования состоит в том, чтобы путем лучшей организации работы машины (а не за счет использования ЦВМ более высокой производительности) по высить эффективность ее функционирования. Это повышение достигается путем создания оптимального, субоптимального или при ближенного плана выполнения рабочих программ пакета, в кото ром определяется последовательность выполнения программ или их сегментов с учетом приоритетности и связности. В качестве основ ного показателя эффективности планирования многопрограммной работы ЦВМ, как правило, принимается время Т3ш, затрачиваемое на выполнение заданного набора рабочих программ. Это время за висит не только от качества плана многопрограммной работы ма шины, но и от того, насколько качественно выполнен предшествую щий этап по распараллеливанию рабочих программ.
Различают неоперативное планирование многопрограммной работы ЦВМ и оперативное. Неоперативное планирование осущест вляется для выработки плана выполнения рабочих программ пакета применительно к некоторым типовым ситуациям функциониро вания ЦВМ. Следовательно, оно производится заранее, не в дина мике работы машины. Для каждой типовой ситуации составляется свой план выполнения программ пакета, а реализация планов осу ществляется в процессе функционирования ЦВМ по мере возникно вения соответствующих ситуаций. Очевидно, что неоперативное планирование целесообразно проводить для ЦВМ с ограниченным перечнем решаемых задач, для которых составлены программы и известно время выполнения каждой программы на машине. Кроме того, наборы программ должны быть более или менее стабильны ми, а надобность в их выполнении должна возникать неоднократ но, так как в противном случае не окупаются потери времени, в том числе и машинного, на составление планов.
Оперативное планирование проводится в динамике функциони рования ЦВМ непосредственно перед началом реализации посту
25
пившей в машину к данному моменту времени группы задач. Оно осуществляется с учетом сложившейся к этому моменту ситуации: занятости машины решением задач определенной приоритетности,
|
наличием очередей для задач каждого приоритета, состоянием ма |
|||||||||||
|
шины в смысле ее работоспособности. С учетом этих факторов опе |
|||||||||||
|
ративно составляется план реализации поступившего пакета задач, |
|||||||||||
|
оптимальность которого оценивается величиной Т3нп. Оперативное |
|||||||||||
|
планирование в сущности представляет собой диспетчирование, |
|||||||||||
|
одно из основных требований к которому состоит в том, чтобы вре |
|||||||||||
|
мя на составление плана (время на диспетчирование) было меньше |
|||||||||||
|
выигрыша во времени реализации поступившего пакета задач, по |
|||||||||||
|
лучаемого за счет проведения оперативного планирования. Опера |
|||||||||||
|
тивное планирование осуществляется при наличии данных о вре |
|||||||||||
|
мени, необходимом на решение каждой задачи пакета на |
ма |
||||||||||
|
шине. |
|
|
|
|
|
|
|
|
|
|
|
|
Многопрограммная работа ЦВМ на основе централизации уп |
|||||||||||
|
равления |
функционированием |
всех |
ее устройств |
осуществляется |
|||||||
|
диспетчером, представляющим собой комплекс управляющих |
про |
||||||||||
|
грамм, которые выполняют только |
служебные функции. |
Рабочие |
|||||||||
|
программы взаимодействуют с машиной только через диспетчер. |
|||||||||||
|
В процессе функционирования ЦВМ обращения к диспетчеру про |
|||||||||||
|
исходят двумя путями: со стороны рабочих программ |
всякий |
раз, |
|||||||||
|
когда требуется выполнить действие, которым управляет диспет |
|||||||||||
|
чер; со стороны устройств |
ввода — вывода |
по сигналам прерыва |
|||||||||
|
ния, когда |
|
возникает необходимость в использовании |
процессора |
||||||||
|
для обеспечения работы этих устройств. |
|
|
|
|
|
|
|||||
|
Состав и структура диспетчера |
различны в различных ЦВМ, |
||||||||||
|
поскольку вообще операционная система тесно связана со структу |
|||||||||||
|
рой машины. Однако можно говорить о некоторой типовой струк |
|||||||||||
|
туре диспетчера. Например, в |
его |
состав |
могут |
входить |
плани |
||||||
|
рующая программа, программа-распределитель, программы пре |
|||||||||||
|
рывания, |
программы управления |
вводом — выводом, |
программы |
||||||||
|
управления |
библиотекой |
стандартных |
|
программ, |
транслято |
||||||
^ |
рами и др. |
|
|
|
|
|
последовательность |
вы |
||||
Планирующая программа определяет |
||||||||||||
|
полнения рабочих программ. Эффективность ее работы опреде |
|||||||||||
|
ляется как заложенным в нее алгоритмом, так и наличием данных |
|||||||||||
|
о времени выполнения рабочих программ на машине. Точное |
|||||||||||
|
значение этого времени может быть неизвестным, и тогда при |
|||||||||||
|
ходится пользоваться ориентировочными цифрами. Планирующая |
|||||||||||
|
программа постоянно находится в оперативной |
памяти |
ма |
|||||||||
|
шины. |
|
|
|
|
|
|
|
|
|
|
|
|
После составления плана выполнения имеющегося набора ра |
|||||||||||
|
бочих программ управление от планирующей программы передает |
|||||||||||
|
ся программе-распределителю, |
которая |
отводит |
каждой |
рабочей |
|||||||
|
программе |
место в ОЗУ, |
если |
емкость |
этой памяти |
достаточна. |
||||||
|
В противном случае в ОЗУ загружаются только те рабочие про |
|||||||||||
|
граммы, которые в соответствии с составленным планом должны |
|||||||||||
|
выполняться в первую очередь. |
Программа-распределитель осуще- |
26
ствляет динамическое распределение памяти, управляет процес сом обмена информацией между ОЗУ и ВЗУ, вызывая активные программы или активные участки программ в ОЗУ и возвращая из ОЗУ в ВЗУ те программы или их сегменты, которые в течение опре деленного времени не будут использоваться. На распределитель воз лагаются также функции организации системы защиты памяти, поэтому его структура во многом определяется структурой этой си стемы, особенно характером встроенных в нее аппаратурных средств распределения и защиты памяти.
В составе диспетчера может быть несколько программ преры вания. Обычно они специализируются по причинам прерывания, для чего назначаются программы, обслуживающие запросы от
устройств |
ввода — вывода, |
программные прерывания, прерывания |
от схем |
контроля и т. д. |
Код прерывания формируется либо в |
устройстве прерывания, либо указывается в командах обращения к диспетчеру. Программа прерывания, восприняв код прерывания, дешифрирует его и определяет возможность удовлетворения запро са на обслуживание путем передачи управления одной из про грамм диспетчера. В частности, если пришел запрос на решение срочной задачи, для которой рабочая программа составлена зара нее и хранится в ВЗУ системы, соответствующая программа преры вания передает управление планирующей программе. Планирую щая программа составляет новый план реализации набора рабочих программ, включающего и программу, соответствующую срочному запросу.
В современных ЦВМ операции по вводу информации в машину или выводу результатов решения задач на устройства регистрации и документирования, а также по передаче этих результатов або нентам осуществляются одновременно с реализацией рабочих про грамм. Управление операциями ввода — вывода производится с помощью соответствующих программ диспетчера, которые включа ются в работу планирующей программой. Если, таким образом, в ходе реализации некоторой рабочей программы окажется необхо димым ввести для нее массив информации из ВЗУ в ОЗУ, управле ние вводом берет на себя диспетчер. Если бы управление осуще ствлялось самой рабочей программой, то на время ввода процес сор машины бездействовал бы.
Уменьшение простоев устройств ввода в ЦВМ достигается пу тем использования способа предварительной комплектации данных. Для этого заявка на решение задачи должна содержать сведения о необходимом объеме исходных данных. Данные комплектуются по командам программы управления вводом. Комплектация счи тается законченной, если в памяти машины собрана вся инфор мация, необходимая для решения данной задачи. Задачи, для которых укомплектованы все необходимые данные, включаются в список активных задач. Порядок их выполнения координируется планирующей программой. Аналогично с целью исключения зна чительных простоев устройств вывода производится предваритель ная комплектация выводимой информации.
27
Помимо отмеченного на диспетчер возлагаются функции по ор ганизации работы библиотеки стандартных программ, входящих в состав математического обеспечения ЦВМ, по управлению работой трансляторов, по управлению работой машины в отладочном ре
жиме.
Диспетчер, обеспечивающий работу ЦВМ в режиме пакетной обработки, может иметь и другую типовую структуру. Он может состоять из трех основных частей: диспетчера заданий, диспетчера задач и диспетчера данных. Такая структура рассматривается в гл. XII применительно к работе ЦВМ в режиме разделения вре мени.
Глава II
МАШИННАЯ АРИФМЕТИКА
§2.1. Позиционные системы счисления
ВЦВМ арифметические действия производятся над числами, представленными в виде специальных (машинных) кодов в приня той для данной машины позиционной системе счисления.
Под системой счисления понимается способ наименования и изо бражения чисел с помощью символов, имеющих определенные ко личественные значения.
Символы, применяемые для изображения чисел, называются цифрами.
В зависимости от способа изображения чисел с помощью цифр системы счисления делятся на позиционные и непозиционные.
Позиционной называется система счисления, в которой количе ственное значение каждой цифры зависит от ее места (позиции) в числе.
Примером такой системы может служить общепринятая в на стоящее время арабская (десятичная) система счисления.
Внепозиционной системе счисления цифры не меняют своего количественного значения при изменении положения в записи чис ла, как, например, в римской системе.
Впозиционной системе счисления любое число, например сме
шанное, записывается в виде последовательности цифр:
|
А = + |
^т—1®/п—2 ’ " * |
*' *^l^Oi ^—1• • • |
(2.1) |
||
Позиции, |
пронумерованные индексами |
k (в |
данном |
случае в |
||
пределах — |
fe |
m — 1), называются |
разрядами числа. Сумма |
|||
т + 1 соответствует |
количеству |
разрядов |
числа, |
в котором целая |
часть имеет т разрядов, а дробная — / разрядов.
Каждая цифра щ, в записанной последовательности может при нимать одно из некоторого количества N возможных значений,
т. е. N—1 ^ ah ^>0.
29