Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 272
Скачиваний: 0
— потери времени на работу ОС должны быть минимальными. Затраты машинного времени на работу ОС существенно зави сят от соотношения между аппаратурной и программной частями этой системы. В общем случае чем больше удельный вес аппаратур ной части, тем сложнее ЦВМ, но тем меньше затрачивается време ни на работу ОС, и наоборот. В аппаратурную часть ОС входят переключатели режимов работы ЦВМ, схемы выработки сигналов прерываний, регистры прерываний, схемы управления прерыва нием, счетчики времени для выработки периодических временных
сигналов и т. д.
Программная часть ОС представляет собой иерархический на бор управляющих и обслуживающих программ, верхний уровень которого определяет стратегию, а последующие — тактику прохож дения задач через ЦВМ. Стратегия управления зависит от харак теристик задач и имеющихся ресурсов машины, тактика — от теку щего состояния ЦВМ, времени нахождения в машине задач, подлежащих решению, количества этих задач, времени на их обслуживание и т. д.
Набор программ ОС зависит от возможностей машины и требо ваний, предъявляемых к ней. Иначе говоря, структура и функции ОС в значительной мере определяются не только характером за дач, решаемых ЦВМ, но и логической структурой конкретной ма шины. Поэтому ОС должна разрабатываться одновременно с про ектированием аппаратурной части машины.
В литературе по цифровым вычислительным машинам и систе мам получило распространение деление ОС на такие части: дирек тор, монитор, супервизор.
Директор — это часть ОС, которая направляет и контролирует работу остальных компонентов ОС. Он осуществляет перестройку ОС при переключении режимов функционирования, принимает и организует выполнение приказов, поступающих от оператора, информирует оператора о ситуациях, требующих его вмеша тельства.
Монитором называется часть ОС, реализующая оперативное планирование и управление выполнением основных программ в различных режимах работы, распределение физической памяти между основными программами, подготовку программ к выпол нению.
Супервизор — это набор управляющих программ, обеспечиваю щих взаимодействие ЦВМ с устройствами ввода — вывода.-Его основные функции: обслуживание работы устройств ввода — выво да в нормальных и аварийных ситуациях, ввод информации с со ответствующего устройства ввода — вывода в заданную область оперативной памяти машины, вывод информации из заданной области оперативной памяти в соответствующее устройство ввода —■ вывода, устранение причин сбоев в работе устройств ввода — вы вода самостоятельно или с привлечением операторов.
Совокупность супервизора и монитора часто называют диспет чером.
23
Для размещения всех программ ОС требуется достаточно боль шой объем памяти. Обычно не представляется возможным хранить все программы ОС в ОЗУ машины. В оперативной памяти по стоянно размещается лишь определенная часть ОС, получившая название резидентной части. В состав резидентной части ОС вхо дят программы, наиболее часто используемые при управлении вы числительным процессом.
§ 1.5. Организация функционирования ЦВМ в режиме пакетной обработки
Организация работы ЦВМ в режиме пакетной обработки связа на с решением таких вопросов, как выбор дисциплины (порядка) реализации рабочих программ пакета, выбор вида пакетной обра ботки, подготовка рабочих программ к пакетной реализации, пла нирование загрузки устройств ЦВМ.
Выбор той или иной дисциплины реализации рабочих про грамм определяется назначением ЦВМ и характером решаемых задач. Если задачи дифференцируются по своей срочности и важ ности, для них устанавливаются соответствующие уровни приори тетов с таким расчетом, чтобы в первую очередь и в приемлемые сроки были решены наиболее важные задачи. Приоритетность за дач внутри данного пакета может устанавливаться по степени их важности и по информационной связности: если для некоторой за дачи в качестве исходных данных используются результаты (про межуточные или окончательные) решения другой задачи, то эта другая задача, естественно, должна решаться в первую очередь. Как уже отмечалось, в режиме пакетной обработки может исполь зоваться как система статических, так и система динамических приоритетов. Наилучшие результаты с точки зрения обеспечения минимальных затрат машинного времени на реализацию пакета задач получаются в том случае, если эти задачи независимы (ин формационно не связаны) и равноценны по своей важности и сроч ности.
Можно выделить следующие виды пакетной обработки в много программной ЦВМ:
— реализация задач пакета без сегментации (распараллелива ния) рабочих программ, принадлежащих этому пакету;
— реализация задач пакета с сегментацией рабочих про грамм.
В первом случае рабочие программы, входящие в реализуемый пакет, выполняются в такой последовательности, чтобы, с одной стороны, обеспечить в первую очередь выполнение программ с наи более высоким уровнем приоритета и, с другой стороны, затратить минимум суммарного машинного времени на выполнение всех программ пакета. При этом рабочие программы не сегменти
руются, что, |
естественно, облегчает решение задачи |
определе |
ния порядка |
их выполнения (задачи планирования |
загрузки |
ЦВМ). |
|
|
24
Второй вид пакетной обработки отличается от первого тем, что рабочие программы, входящие в пакет, предварительно разбивают ся программистами на куски (сегменты), которые могут выпол няться независимо и одновременно. Поэтому при том же количестве рабочих программ в пакете задача планирования загрузки ЦВМ усложняется, зато с лучшим результатом решается задача по обес печению минимальных затрат машинного времени на реализацию пакета. Распараллеливание рабочих программ пакета особенно эффективно в том случае, когда число программ сравнительно не велико и они резко отличаются по своим размерам.
После установления связности рабочих программ и их распа раллеливания решается задача планирования загрузки основных устройств ЦВМ — процессора, запоминающих устройств, устройств ввода — вывода. Эта задача называется также задачей планиро вания многопрограммной работы ЦВМ.
Планирование многопрограммной работы ЦВМ является одной из важных и самостоятельных задач организации многопрограммной работы машины. Основная цель такого планирования состоит в том, чтобы путем лучшей организации работы машины (а не за счет использования ЦВМ более высокой производительности) по высить эффективность ее функционирования. Это повышение достигается путем создания оптимального, субоптимального или при ближенного плана выполнения рабочих программ пакета, в кото ром определяется последовательность выполнения программ или их сегментов с учетом приоритетности и связности. В качестве основ ного показателя эффективности планирования многопрограммной работы ЦВМ, как правило, принимается время Т3ш, затрачиваемое на выполнение заданного набора рабочих программ. Это время за висит не только от качества плана многопрограммной работы ма шины, но и от того, насколько качественно выполнен предшествую щий этап по распараллеливанию рабочих программ.
Различают неоперативное планирование многопрограммной работы ЦВМ и оперативное. Неоперативное планирование осущест вляется для выработки плана выполнения рабочих программ пакета применительно к некоторым типовым ситуациям функциониро вания ЦВМ. Следовательно, оно производится заранее, не в дина мике работы машины. Для каждой типовой ситуации составляется свой план выполнения программ пакета, а реализация планов осу ществляется в процессе функционирования ЦВМ по мере возникно вения соответствующих ситуаций. Очевидно, что неоперативное планирование целесообразно проводить для ЦВМ с ограниченным перечнем решаемых задач, для которых составлены программы и известно время выполнения каждой программы на машине. Кроме того, наборы программ должны быть более или менее стабильны ми, а надобность в их выполнении должна возникать неоднократ но, так как в противном случае не окупаются потери времени, в том числе и машинного, на составление планов.
Оперативное планирование проводится в динамике функциони рования ЦВМ непосредственно перед началом реализации посту
25
пившей в машину к данному моменту времени группы задач. Оно осуществляется с учетом сложившейся к этому моменту ситуации: занятости машины решением задач определенной приоритетности,
|
наличием очередей для задач каждого приоритета, состоянием ма |
|||||||||||
|
шины в смысле ее работоспособности. С учетом этих факторов опе |
|||||||||||
|
ративно составляется план реализации поступившего пакета задач, |
|||||||||||
|
оптимальность которого оценивается величиной Т3нп. Оперативное |
|||||||||||
|
планирование в сущности представляет собой диспетчирование, |
|||||||||||
|
одно из основных требований к которому состоит в том, чтобы вре |
|||||||||||
|
мя на составление плана (время на диспетчирование) было меньше |
|||||||||||
|
выигрыша во времени реализации поступившего пакета задач, по |
|||||||||||
|
лучаемого за счет проведения оперативного планирования. Опера |
|||||||||||
|
тивное планирование осуществляется при наличии данных о вре |
|||||||||||
|
мени, необходимом на решение каждой задачи пакета на |
ма |
||||||||||
|
шине. |
|
|
|
|
|
|
|
|
|
|
|
|
Многопрограммная работа ЦВМ на основе централизации уп |
|||||||||||
|
равления |
функционированием |
всех |
ее устройств |
осуществляется |
|||||||
|
диспетчером, представляющим собой комплекс управляющих |
про |
||||||||||
|
грамм, которые выполняют только |
служебные функции. |
Рабочие |
|||||||||
|
программы взаимодействуют с машиной только через диспетчер. |
|||||||||||
|
В процессе функционирования ЦВМ обращения к диспетчеру про |
|||||||||||
|
исходят двумя путями: со стороны рабочих программ |
всякий |
раз, |
|||||||||
|
когда требуется выполнить действие, которым управляет диспет |
|||||||||||
|
чер; со стороны устройств |
ввода — вывода |
по сигналам прерыва |
|||||||||
|
ния, когда |
|
возникает необходимость в использовании |
процессора |
||||||||
|
для обеспечения работы этих устройств. |
|
|
|
|
|
|
|||||
|
Состав и структура диспетчера |
различны в различных ЦВМ, |
||||||||||
|
поскольку вообще операционная система тесно связана со структу |
|||||||||||
|
рой машины. Однако можно говорить о некоторой типовой струк |
|||||||||||
|
туре диспетчера. Например, в |
его |
состав |
могут |
входить |
плани |
||||||
|
рующая программа, программа-распределитель, программы пре |
|||||||||||
|
рывания, |
программы управления |
вводом — выводом, |
программы |
||||||||
|
управления |
библиотекой |
стандартных |
|
программ, |
транслято |
||||||
^ |
рами и др. |
|
|
|
|
|
последовательность |
вы |
||||
Планирующая программа определяет |
||||||||||||
|
полнения рабочих программ. Эффективность ее работы опреде |
|||||||||||
|
ляется как заложенным в нее алгоритмом, так и наличием данных |
|||||||||||
|
о времени выполнения рабочих программ на машине. Точное |
|||||||||||
|
значение этого времени может быть неизвестным, и тогда при |
|||||||||||
|
ходится пользоваться ориентировочными цифрами. Планирующая |
|||||||||||
|
программа постоянно находится в оперативной |
памяти |
ма |
|||||||||
|
шины. |
|
|
|
|
|
|
|
|
|
|
|
|
После составления плана выполнения имеющегося набора ра |
|||||||||||
|
бочих программ управление от планирующей программы передает |
|||||||||||
|
ся программе-распределителю, |
которая |
отводит |
каждой |
рабочей |
|||||||
|
программе |
место в ОЗУ, |
если |
емкость |
этой памяти |
достаточна. |
||||||
|
В противном случае в ОЗУ загружаются только те рабочие про |
|||||||||||
|
граммы, которые в соответствии с составленным планом должны |
|||||||||||
|
выполняться в первую очередь. |
Программа-распределитель осуще- |
26
ствляет динамическое распределение памяти, управляет процес сом обмена информацией между ОЗУ и ВЗУ, вызывая активные программы или активные участки программ в ОЗУ и возвращая из ОЗУ в ВЗУ те программы или их сегменты, которые в течение опре деленного времени не будут использоваться. На распределитель воз лагаются также функции организации системы защиты памяти, поэтому его структура во многом определяется структурой этой си стемы, особенно характером встроенных в нее аппаратурных средств распределения и защиты памяти.
В составе диспетчера может быть несколько программ преры вания. Обычно они специализируются по причинам прерывания, для чего назначаются программы, обслуживающие запросы от
устройств |
ввода — вывода, |
программные прерывания, прерывания |
от схем |
контроля и т. д. |
Код прерывания формируется либо в |
устройстве прерывания, либо указывается в командах обращения к диспетчеру. Программа прерывания, восприняв код прерывания, дешифрирует его и определяет возможность удовлетворения запро са на обслуживание путем передачи управления одной из про грамм диспетчера. В частности, если пришел запрос на решение срочной задачи, для которой рабочая программа составлена зара нее и хранится в ВЗУ системы, соответствующая программа преры вания передает управление планирующей программе. Планирую щая программа составляет новый план реализации набора рабочих программ, включающего и программу, соответствующую срочному запросу.
В современных ЦВМ операции по вводу информации в машину или выводу результатов решения задач на устройства регистрации и документирования, а также по передаче этих результатов або нентам осуществляются одновременно с реализацией рабочих про грамм. Управление операциями ввода — вывода производится с помощью соответствующих программ диспетчера, которые включа ются в работу планирующей программой. Если, таким образом, в ходе реализации некоторой рабочей программы окажется необхо димым ввести для нее массив информации из ВЗУ в ОЗУ, управле ние вводом берет на себя диспетчер. Если бы управление осуще ствлялось самой рабочей программой, то на время ввода процес сор машины бездействовал бы.
Уменьшение простоев устройств ввода в ЦВМ достигается пу тем использования способа предварительной комплектации данных. Для этого заявка на решение задачи должна содержать сведения о необходимом объеме исходных данных. Данные комплектуются по командам программы управления вводом. Комплектация счи тается законченной, если в памяти машины собрана вся инфор мация, необходимая для решения данной задачи. Задачи, для которых укомплектованы все необходимые данные, включаются в список активных задач. Порядок их выполнения координируется планирующей программой. Аналогично с целью исключения зна чительных простоев устройств вывода производится предваритель ная комплектация выводимой информации.
27