Cтраница 3
Рассмотрим организационное строение ИНМОС: структуру данных, с которыми она работает, механизмы управления процессами, файлами и внешними устройствами. Поскольку ИНМОС - многопользовательская система, рассмотрим алгоритмы диспетчеризации процессов, реализацию своппинга, средства многопользовательской защиты, доступа к файлам и организацию ввода-вывода. [31]
Последний результат интересен тем, что позволяет установить некоторое соотношение размена между производительностью ЦВМ и средней длиной очереди заявок, что приближенно пропорционально емкости буферных зон памяти ЦВМ. Естественно, что это соотношение является справедливым лишь для оценки эффективности алгоритма диспетчеризации при заданных характеристиках поступающих потоков заявок на решение задач. [32]
Важным фактором, определяющим целесообразность применения диспетчеризации с динамическими приоритетами, является соотношение между длительностью обслуживания поступающих в ЦВМ потоков заявок и периодом изменения основных параметров этих заявок - относительной важности или длительности обслуживания. При этом характеристики алгоритмов диспетчеризации в установившемся режиме могут быть определены по приведенным ранее формулам для алгоритмов диспетчеризации с фиксированными приоритетами. [33]
Если же программы младшего приоритета имеют сильные функциональные связи с другими программами ЦВМ, то блокировка их решения на период перегрузки недопустима, так как она нарушает функциональную законченность алгоритмов, выполняемых вычислительной машиной. В этих случаях необходимо предусматривать в составе операционной системы машины специальные алгоритмы анализа и регулирования ее загрузки, или же не применять алгоритмов диспетчеризации с жесткой фиксацией приоритетов. [34]
При этом с увеличением загрузки ЦВМ величина выигрыша вначале возрастает за счет сокращения задержек в обслуживании наиболее важных заявок, а затем уменьшается в результате влияния прерывания обслуживания заявок низкого приоритета. Таким образом, для каждого заданного множества параметров входных потоков заявок в общем случае существует некоторый оптимальный уровень общей загрузки ЦВМ р р, при котором достигается максимальный выигрыш в эффективности смешанного алгоритма диспетчеризации. [35]
Однако абсолютное значение суммарного штрафа за ожидание (3.5.1) или суммарной длины очереди заявок в памяти ЦВМ (3.5.2) при некотором алгоритме диспетчеризации трудно сопоставить с затратами производительности и памяти ЦВМ на реализацию этого алгоритма. Поэтому при оценке эффективности различных алгоритмов диспетчеризации вычислений оказывается более удобным вместо абсолютного значения функционалов С и L использовать критерии, характеризующие относительные изменения этих величин по сравнению с теми значениями, которые они принимают при некотором эталонном алгоритме диспетчеризации. [36]
Отношение (3.5.24) показывает, во сколько раз сокращается величина суммарного штрафа за единицу времени функционирования ЦВМ при оптимальном распределении подпрограмм на основные и вклинивающиеся по сравнению с некоторым другим распределением этих программ, принятым в качестве исходного. При анализе уже разработанных и функционирующих программ для систем автоматизированного управления значение So для исследуемой программы известно, так как оно определяется ранее заданным значением режимных констант операционной системы. В этом случае оценку эффективности алгоритма диспетчеризации при оптимальном значении параметра S S естественно следует проводить по отношению к исходному значению этого параметра. [37]
Последующий анализ алгоритмов диспетчеризации вычислений в мультипрограммных управляющих ЦВМ проводится, в основном, для пуассоновских входных потоков заявок, так как именно для потоков этого вида в большинстве случаев удается получить достаточно простые для расчетов аналитические результаты. Однако при этом следует иметь в виду, что такие потоки являются предельным случаем потоков Эрланга и создают в классе этих потоков наиболее тяжелые условия для работы ЦВМ. Поэтому получаемые при пуассоновских потоках характеристики алгоритмов диспетчеризации являются верхними оценками для тех же характеристик при эрланговских потоках более высоких порядков. Аналогичные результаты при регулярных входных потоках заявок являются нижними оценками соответствующих характеристик, однако получение этих результатов аналитическими методами, как правило, оказывается очень сложным. Поэтому для исследования алгоритмов диспетчеризации при регулярных потоках заявок обычно используется метод статистического моделирования работы этих алгоритмов на универсальных ЦВМ. [38]
Многоуровневая система прерывания программ применяется в управляющих ЦВМ, в основном, для диспетчеризации работы вклинивающихся подпрограмм обмена информацией с разнотипными внешними абонентами, обладающими различной производительностью и длительностью хранения информации в буферных регистрах памяти. На рис. 3.3.2, б представлена структура программы ЦВМ, соответствующая случаю, когда каждому потоку заявок на включение вклинивающихся подпрограмм назначен свой уровень прерывания. Эта структура и используемый в данном случае смешанный алгоритм диспетчеризации вычислений отличается от описанного выше алгоритма с одним уровнем прерывания тем, что обслуживание заявок с приоритетами k - 1, S осуществляется по правилу абсолютного приоритета. Другими словами, внутри этого класса заявок допускаются прерывания в соответствии с установленными приоритетами и, кроме то го, все заявки с абсолютными приоритетами прерывают обслуживание заявок с низшими приоритетами, которые обслуживаются в порядке относительного приоритета. [39]
Рассмотрены задачи синтеза оптимальных модульных СОД РВ, работающих в режиме разделения времени. Такие системы используются в тех случаях, когда заявки пользователей имеют равные приоритеты на обработку, а задачи обработки данных, необходимые для их обслуживания, слабо взаимосвязаны между собой по используемым процедурам и информационным элементам. В таких случаях входной поток заявок может быть описан как сумма элементарных входных потоков, а алгоритмы диспетчеризации заявок на обслуживание принадлежат к классу бесприоритетных. Для класса подобных систем обосновано использование показателей максимума производительности СОД РВ и максимума коэффициента готовности системы как достаточно общих критериев эффективности СОД РВ. [40]
При третьем способе хранения программы обычно основная часть ее ( 80 - 90 % всего объема) хранится во внешних накопителях типа магнитных барабанов или дисков. В оперативной памяти ЦВМ в этом случае хранятся только наиболее часто используемые и управляющие подпрограммы, к числу которых относятся подпрограммы обмена с внешними накопителями и абонентами, диспетчерские подпрограммы и некоторые типы стандартных подпрограмм. В оперативной памяти ЦВМ в этом случае приходится выделять значительные массивы для хранения подпрограмм, переписываемых из внешних накопителей, а на алгоритмы диспетчеризации вычислений возлагать дополнительные функции переписи программы в ОЗУ, модификации адресов команд, а также распределения и защиты зон памяти, предназначенных для хранения программы. Для обеспечения надежности программа ЦВМ частично или полностью дублируется на нескольких внешних накопителях. [41]
Как уже отмечалось, одной из основных особенностей управляющих ЦВМ является решение задач в реальном масштабе времени. Учет реального масштаба времени в управляющих ЦВМ обеспечивается наличием в аппаратуре ЦВМ счетчика реального времени - рис. 1.2.2, показания которого учитываются при вычислениях, а также мультипрограммным характером вычислительного процесса, который позволяет включать в счет отдельные подпрограммы в соответствии с моментами поступления данных от внешних абонентов и их содержанием. Значительная часть вычислений, производимых управляющими ЦВМ, имеет определенную периодичность выполнения. Поэтому в составе алгоритма диспетчеризации вычислений ЦВМ необходимо иметь специальную подпрограмму, которая осуществляет наблюдение за показаниями счетчи -, ка реального времени и в определенные моменты производит запись заявок на выполнение периодических подпрограмм. [42]
Последующий анализ алгоритмов диспетчеризации вычислений в мультипрограммных управляющих ЦВМ проводится, в основном, для пуассоновских входных потоков заявок, так как именно для потоков этого вида в большинстве случаев удается получить достаточно простые для расчетов аналитические результаты. Однако при этом следует иметь в виду, что такие потоки являются предельным случаем потоков Эрланга и создают в классе этих потоков наиболее тяжелые условия для работы ЦВМ. Поэтому получаемые при пуассоновских потоках характеристики алгоритмов диспетчеризации являются верхними оценками для тех же характеристик при эрланговских потоках более высоких порядков. Аналогичные результаты при регулярных входных потоках заявок являются нижними оценками соответствующих характеристик, однако получение этих результатов аналитическими методами, как правило, оказывается очень сложным. Поэтому для исследования алгоритмов диспетчеризации при регулярных потоках заявок обычно используется метод статистического моделирования работы этих алгоритмов на универсальных ЦВМ. [43]