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

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

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

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

При обслуживании с прерыванием кванта в любой момент времени осуществляется выполнение программы, принадлежащей очереди с наивысшим приоритетом.

В этом случае возможны два варианта организации вычис­ лений:

— повторение вычислений при возврате к прерванной про­ грамме, начиная с той операции, которая соответствует началу прерванного кванта; при этом теряется часть кванта, предше­ ствующая моменту приоритетного прерывания;

— возобновление вычислений при возврате к прерванной про­ грамме, начиная с того места программы, где эти вычисления были прерваны.

Рассмотрим конкретные примеры организации очередности об­ служивания требований (программ), применяемые в существую­ щих СРВ [64, 65].

Организация очередей в соответствии с алгоритмом FBjV (FB — начальные буквы английского словосочетания Foreground — Background). Алгоритм разработан применительно к однопроцес­ сорной СРВ. Из программ, имеющихся в системе, организуется ряд очередей, которым присваиваются номера от 1 до N. Вновь прибывающие требования на обслуживание (на выполнение про­ грамм) поступают в конец очереди № 1. Программы выполняются в такой последовательности. Сначала выполняется программа, стоящая первой в очереди № 1. Ей предоставляется квант вре­ мени Ткв* Если за время тКв выполнение этой программы закан­ чивается, результаты выводятся на печать или вообще каким-то образом регистрируются и к исполнению принимается следующая программа из первой очереди. В противном случае незавершенная программа отправляется в конец очереди № 2 и т. д. Так про­ должается до тех пор, пока в очереди № 1 не останется ни одной программы. Затем таким же образом выполняются программы из

очереди № 2 и т. д.

 

 

на

выполнение

Первая программа из i-й очереди поступает

только в случае, когда нет очередей с номерами

i — 1, t — 2, ...

2, 1. Программы из последней, N-й, очереди выполняются без пре­

рываний по принципу «первая поступила — первая

обслужена».

Организация очередей в соответствии с

алгоритмом К+

FBjv,

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

(циклического)

алго­

ритма и алгоритма FB.iv. Алгоритм K+ FBjv использовался

в си­

стеме с разделением времени, построенной

на

базе

ЦВМ

AN/FSQ-32 фирмы IBM (США).

В соответствии с этим алгорит­

мом из программ, находящихся

в системе,

образуются три

оче­

390

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

Во второй очереди, где также используется принцип кругового обслуживания, программы выполняются в течение одного цикла, причем каждая из них получает от одного до шести квантов вре­ мени (здесь также т:кв= 600 мсек). Незавершенные программы от­ правляются в конец третьей очереди, где они обслуживаются за один цикл. За время цикла каждой программе предоставляется до 20 квантов по 600 мсек. После окончания каждого кванта вре­ мени выполнение программ из очередей № 2 и 3 может быть прервано, если за это время появились программы в первой оче­ реди.

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

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

391

тетное обслуживание по принципу «чем важнее требование, тем выше его приоритет».

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

§ 12.5. Показатели качества функционирования систем с разделением времени

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

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

Наиболее распространенными являются следующие показатели качества функционирования СРВ.

Полное время обслуживания абонента (Гоа)— это интервал времени от момента подачи запроса на обслуживание до момента получения результатов решения задачи абонента или ответа на

392

запрос. Иногда это время называется также временем реакции си­ стемы на запрос.

Максимальное число абонентов, которые одновременно могут обслуживаться системой.

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

Коэффициент эффективности программ операционной системы (т]), с помощью которого оцениваются затраты времени на работу самой операционной системы:

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

Гос — время, затрачиваемое на работу программ операционной системы в течение Гц.

Определение конкретных значений указанных показателей с достаточной точностью связано с необходимостью моделирования процесса функционирования СРВ с учетом специфических для таких систем факторов.

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

двусторонней связи происходит принятие решений

(обычно на

базе предварительно проведенных вычислений) и

производятся

некоторые направленные управляющие воздействия.

Можно выделить два аспекта в поведении абонента во время работы его в СРВ:

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

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

врезультате которой выявляется наиболее приемлемый путь к достижению поставленной цели.

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

нент должен представляться своей математической моделью. Тогда объединенная модель абонентов — это сложная модель, со­

393

стоящая из отдельных моделей абонентов, работающих с набором различных задач.

Для определения значений показателей качества функциони­ рования СРВ могут быть использованы как аналитические мето­ ды, так и метод статистического моделирования.

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

Естественно, что такие допущения приводят к результатам, ко­ торые могут приниматься лишь за ориентировочные оценки каче­ ства функционирования СРВ. Тем не менее применение аналити­ ческих методов для предварительной, прикидочной оценки вполне оправдано и в отдельных случаях может дать хорошие резуль­ таты. Например, в [62] показано, что марковская модель однопро­ цессорной СРВ дает достаточно точное предсказание среднего времени обслуживания абонента как функции числа абонентов, взаи­ модействующих с системой. Такая точность объясняется, очевидно, тем, что основное влияние на результат оценки качества функцио­ нирования однопроцессорной СРВ оказывают среднее время об­ думывания (это средний интервал времени между моментом, когда абонент получил от центрального процессора ответ о реализации его последнего кванта информации по данному запросу, и момен­ том посылки абонентом очередного кванта), среднее время работы процессора и число активных абонентов. Все эти величины фигу­ рируют в марковской модели.

Применение аналитических методов особенно целесообразно

при разработке новых СРВ, на первом этапе их

проектирова­

ния, когда большое значение

имеют прикидочные

расчеты с

целью:

(и ориентировочные размеры этих

— определить преимущества

преимуществ), предоставляемые организацией работы ЦВМ в ре­ жиме разделения времени;

установить факторы, оказывающие наибольшее влияние на размеры упомянутых преимуществ;

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

Эта цель достигается с помощью аналитических методов, кото­ рые могут существенно облегчить и ускорить разработку СРВ, выбор оптимальной структуры системы и выбор дисциплины об-

394

служивания абонентов, поскольку применение этих методов дает возможность:

получить предварительную информацию, на основании ко­ торой можно судить о целесообразности использования режима разделения времени;

существенно сократить объем работы при использовании метода статистического моделирования, когда проводится более

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

— более целенаправленно осуществлять поиск приемлемых ва­ риантов структуры СРВ или дисциплины обслуживания або­ нентов.

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

Тогда при циклическом выполнении программ абонентов спра­ ведливо следующее очевидное соотношение:

 

Тд 0 -

ч)

( 12. 1)

 

2 т П

Ткв

 

 

где тп— среднее время на

перепись

прерываемой программы из

ОЗУ в ВЗУ или наоборот,

причем

 

 

,лмакс

,гмакс п

(тгп — время на перепись /-й программы из ОЗУ в ВЗУ или на­

оборот) .

Из (12.1) видно, что при фиксированных значениях Тц, т], -сп увеличение пмаис возможно за счет уменьшения ткв.

При n = const величина Тц, получаемая из соотношения (12.1), может быть существенно сокращена, если перепись (i-H)-ft про­ граммы (из числа одновременно выполняемых) из ВЗУ в ОЗУ бу­ дет осуществляться заранее, во время реализации i-и программы.

В этом случае

п К + ткв)

(12.2)

Если, кроме того, перепись t-к программы (после предостав­ ления ей очередного кванта времени) из ОЗУ в ВЗУ осуще­ ствляется одновременно с выполнением (/+1)-й программы, то

7 '« = Й | .

(12.3)

Организация работы СРВ, при которой справедливы соотно­ шения (12.2) и (12.3), возможна в случае, когда тп ^ хкп. Таким образом, за счет динамического перемещения программ между за­ поминающими устройствами различных уровней, выполняемого в

ходе их

реализации, удается без уменьшения

ть-в сократить Тц

и тем

самым повысить

эффективность использования процес­

сора.

 

что в реальных СРВ

максимальное чис­

Следует иметь в виду,

ло Ломакс одновременно обслуживаемых активных абонентов, нуж­ дающихся в машинном времени центрального процессора, может быть больше величины /гм ак с. Это объясняется следующим:

— при решении своей задачи абонент сравнительно много вре­ мени затрачивает на обдумывание и анализ промежуточных ре­ зультатов, он обычно не успевает за процессором;

— средний абонент не является профессионалом, поэтому он больше затрачивает времени на ручной ввод информации при ра­ боте с периферийными устройствами;

— довольно много времени уходит на выдачу данных або­ ненту.

Величина р - £ ызкс устанавливается в результате обобще-

^макс

ния статистических данных по работе абонентов в различных СРВ.

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

торов.

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

396

§ 12.6. Операционная система

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

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

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

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

397

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

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

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

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

программы, устройства, в которых

располагаются эти массивы.

В СРВ управляющая информация,

определяющая задание, содер­

жится в запросе на обслуживание (однако не обязательно в виде определенной последовательности стандартных операторов).

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

анализ входного потока заданий;

распределение устройств ввода — вывода;

распределение памяти ВЗУ;

формализация шага (пункта) задания как отдельной за­

дачи;

398

— выполнение операций, связанных с завершением задания или шага задания.

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

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

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

Для диспетчера задач единицей управления является задача (а не рабочая программа, поскольку одна и та же программа мо­ жет быть затребована несколькими задачами одновременно). Си­ стема может работать либо в режиме выполнения одиночной за­ дачи, когда в любой момент времени в системе находится только одна задача и ей принадлежат все ресурсы СРВ, либо в режиме одновременного решения нескольких задач, когда ресурсы СРВ распределяются между задачами на приоритетной основе. Рас­ пределение ресурсов осуществляется и в режиме выполнения оди­ ночной задачи (однозадачном режиме), однако существенно важ­ ным оно становится в многозадачном режиме. Диспетчер задач должен распределять ресурсы между задачами, сохранять сведе­ ния о всех распределениях и проверять, действительно ли освобо­ дились ресурсы после завершения задачи. Если несколько задач ждут освобождения одного и того же ресурса, необходима орга­ низация очереди. Управление ресурсами каждого типа осуще­ ствляется своей программой диспетчера задач. Эта программа получает управление по сигналу прерывания, который вырабаты­ вается после завершения использования соответствующего ре­ сурса.

399

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