Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf

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

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

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

Добавлен: 11.04.2024

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

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

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

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

сигналов и т. д.

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

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

В литературе по цифровым вычислительным машинам и систе­ мам получило распространение деление ОС на такие части: дирек­ тор, монитор, супервизор.

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

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

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

Совокупность супервизора и монитора часто называют диспет­ чером.

23


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

§ 1.5. Организация функционирования ЦВМ в режиме пакетной обработки

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

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

Можно выделить следующие виды пакетной обработки в много­ программной ЦВМ:

— реализация задач пакета без сегментации (распараллелива­ ния) рабочих программ, принадлежащих этому пакету;

— реализация задач пакета с сегментацией рабочих про­ грамм.

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

руются, что,

естественно, облегчает решение задачи

определе­

ния порядка

их выполнения (задачи планирования

загрузки

ЦВМ).

 

 

24


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

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

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

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

Оперативное планирование проводится в динамике функциони­ рования ЦВМ непосредственно перед началом реализации посту­

25


пившей в машину к данному моменту времени группы задач. Оно осуществляется с учетом сложившейся к этому моменту ситуации: занятости машины решением задач определенной приоритетности,

 

наличием очередей для задач каждого приоритета, состоянием ма­

 

шины в смысле ее работоспособности. С учетом этих факторов опе­

 

ративно составляется план реализации поступившего пакета задач,

 

оптимальность которого оценивается величиной Т3нп. Оперативное

 

планирование в сущности представляет собой диспетчирование,

 

одно из основных требований к которому состоит в том, чтобы вре­

 

мя на составление плана (время на диспетчирование) было меньше

 

выигрыша во времени реализации поступившего пакета задач, по­

 

лучаемого за счет проведения оперативного планирования. Опера­

 

тивное планирование осуществляется при наличии данных о вре­

 

мени, необходимом на решение каждой задачи пакета на

ма­

 

шине.

 

 

 

 

 

 

 

 

 

 

 

 

Многопрограммная работа ЦВМ на основе централизации уп­

 

равления

функционированием

всех

ее устройств

осуществляется

 

диспетчером, представляющим собой комплекс управляющих

про­

 

грамм, которые выполняют только

служебные функции.

Рабочие

 

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

 

В процессе функционирования ЦВМ обращения к диспетчеру про­

 

исходят двумя путями: со стороны рабочих программ

всякий

раз,

 

когда требуется выполнить действие, которым управляет диспет­

 

чер; со стороны устройств

ввода — вывода

по сигналам прерыва­

 

ния, когда

 

возникает необходимость в использовании

процессора

 

для обеспечения работы этих устройств.

 

 

 

 

 

 

 

Состав и структура диспетчера

различны в различных ЦВМ,

 

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

 

рой машины. Однако можно говорить о некоторой типовой струк­

 

туре диспетчера. Например, в

его

состав

могут

входить

плани­

 

рующая программа, программа-распределитель, программы пре­

 

рывания,

программы управления

вводом — выводом,

программы

 

управления

библиотекой

стандартных

 

программ,

транслято­

^

рами и др.

 

 

 

 

 

последовательность

вы­

Планирующая программа определяет

 

полнения рабочих программ. Эффективность ее работы опреде­

 

ляется как заложенным в нее алгоритмом, так и наличием данных

 

о времени выполнения рабочих программ на машине. Точное

 

значение этого времени может быть неизвестным, и тогда при­

 

ходится пользоваться ориентировочными цифрами. Планирующая

 

программа постоянно находится в оперативной

памяти

ма­

 

шины.

 

 

 

 

 

 

 

 

 

 

 

 

После составления плана выполнения имеющегося набора ра­

 

бочих программ управление от планирующей программы передает­

 

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

которая

отводит

каждой

рабочей

 

программе

место в ОЗУ,

если

емкость

этой памяти

достаточна.

 

В противном случае в ОЗУ загружаются только те рабочие про­

 

граммы, которые в соответствии с составленным планом должны

 

выполняться в первую очередь.

Программа-распределитель осуще-

26


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

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

устройств

ввода — вывода,

программные прерывания, прерывания

от схем

контроля и т. д.

Код прерывания формируется либо в

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

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

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

27