Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины

.pdf
Скачиваний:
22
Добавлен:
25.10.2023
Размер:
15.96 Mб
Скачать

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

Режим пакетной обработки представляет собой способ органи­ зации одновременного решения нескольких задач в ЦВМ, при ко-' тором вся необходимая информация (программы, исходные дан­ ные) вводится в ЗУ машины заранее, до начала решения задач, а в ходе их решения вмешательство потребителей с пульта ие допу­ скается. При таком режиме работы потребители, как правило, не имеют непосредственного доступа к машине. Заранее подготовлен­ ные ими задачи (программы) сдаются операторам (программи­ стам), из них формируется пакет программ, который затем реали­ зуется. Через определенное время потребители получают резуль­ таты решения задач. Основная цель организации режима пакетной обработки — минимизация времени на реализацию заданного на­ бора задач (программ) за счет обеспечения параллельной работы основных устройств машины.

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

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

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

Режим работы запрос — ответ представляет собой такой способ организации решения задач абонентов, при котором их программы

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

Соседние файлы в папке книги из ГПНТБ