Cтраница 3
Рассмотрим случай, когда каждому из поступающих в ЦВМ входных пуассоновских потоков заявок назначен свой абсолютный приоритет обслуживания k ( k 1, п), а равноприоритетные заявки обслуживаются в порядке их поступления. Такой алгоритм часто применяется для диспетчеризации включений вклинивающихся подпрограмм, осуществляющих обмен информацией ЦВМ с разнотипными внешними абонентами, но он требует для своей реализации многоуровневой системы прерывания. При этом для каждого уровня прерываний приходится выделять свои рабочие зоны оперативной памяти для хранения промежуточных результатов вычислений и информации о состоянии программы в момент прерывания. [31]
В некоторых случаях в управляющих ЦВМ могут также возникать и импульсные потоки внутренних заявок, вызванные неправильной настройкой программ операционной системы ЦВМ. Так, например, очень часто периоды включения периодических подпрограмм выбираются кратными, что при отсутствии фазового сдвига между процессами тактировки этих подпрограмм может создавать импульсные потоки заявок на их включение. [32]
Статическая комплексная отладка характеризуется двумя существенными отличиями от последующих этапов. Первое отличие состоит в почти полном игнорировании реального времени включения подпрограмм диспетчером. Время используется только как некоторая постоянная величина, необходимая в расчетах и не определяет последовательности функционирования подпрограмм. Это приводит ко второму отличию статической комплексной отладки, которое состоит в слабом учете реального взаимодействия с другими подпрограммами, включаемыми диспетчером в иные моменты времени. Функционирование этих подпрограмм имитируется информацией, подготавливаемой в составе тестов; в результирующих данных отлаживаемой подпрограммы также контролируется информация, необходимая для других подпрограмм. Однако реальная динамика взаимодействия во времени подпрограмм, включаемых диспетчером при статической комплексной отладке, не проверяется. [33]
Процесс вычислений и обработки информации в управляющих ЦВМ может начинаться на только вследствие появлений сообщений от внешних абонентов, но и вследствие формирования определенных заявок или сообщений в процессе решения других задач. В ЦВМ это приводит к образованию, в общем случае случайного потока заявок на включение определенных подпрограмм, источником которого является сама ЦВМ и косвенно-сообщения внешних абонентов, поступление которых вызвало необходимость подключения тех или иных блоков программы. Кроме того, как уже отмечалось ранее, заявки на решение некоторых задач могут формироваться в ЦВМ периодически по счетчику реального времени ЦВМ. Такие заявки образуют регулярный поток. [34]
При наличии в буферной зоне нескольких сообщений подпрограмма ППВг после выдачи - му абоненту очередного сообщения самостоятельно выдает в устройство обмена сигнал готовности, который обеспечивает последующее включение этой подпрограммы для вывода из ЦВМ очередного сообщения. Таким образом, каждому включению подпрограммы формирования сообщений в данном случае соответствует / HJ включений вклинивающейся подпрограммы выдачи информации. [35]
Многоуровневая система прерывания программ применяется в управляющих ЦВМ, в основном, для диспетчеризации работы вклинивающихся подпрограмм обмена информацией с разнотипными внешними абонентами, обладающими различной производительностью и длительностью хранения информации в буферных регистрах памяти. На рис. 3.3.2, б представлена структура программы ЦВМ, соответствующая случаю, когда каждому потоку заявок на включение вклинивающихся подпрограмм назначен свой уровень прерывания. Эта структура и используемый в данном случае смешанный алгоритм диспетчеризации вычислений отличается от описанного выше алгоритма с одним уровнем прерывания тем, что обслуживание заявок с приоритетами k - 1, S осуществляется по правилу абсолютного приоритета. Другими словами, внутри этого класса заявок допускаются прерывания в соответствии с установленными приоритетами и, кроме то го, все заявки с абсолютными приоритетами прерывают обслуживание заявок с низшими приоритетами, которые обслуживаются в порядке относительного приоритета. [36]
Структура подпрограммы и чипы адресов, которые могут быть записаны в адресных частях команд подпрограммы, определены. Теперь рассмотрим кодирование адресов различного типа, с тем, чтобы не только облегчить их ручную модификацию при включении подпрограмм в основную программу, но и впоследствии попытаться автоматизировать компоновку основной программы из отдельных ее частей ( в том числе и подпрограмм) и модификацию адресных частей команд. [37]
Во всех случаях должны составляться временная диаграмма включения диспетчером подпрограмм и схема изменения состава информации, используемой взаимодействующими подпрограммами. Процесс контроля информации, которой обмениваются подпрограммы, является самым сложным для динамической комплексной отладки, особенно в связи с разнообразием возможных ситуаций включения подпрограмм в реальном масштабе времени. [38]
При динамической комплексной отладке в первую очередь подключаются программы обмена информацией с внешними абонентами и операционная система, объединяющая программы управления вычислительным процессом. Производится проверка динамики заполнения буферных накопителей, включения подпрограмм ( вместо которых включаются заглушки-имитаторы, например циклы определенного размера), проверка выработки сигналов включения периодических подпрограмм и проверка функционирования других служебных и управляющих подпрограмм. [39]
Рассмотрим теперь случай, когда в ЦВМ используется несколько уровней прерывания, на каждом из которых в порядке собственного относительного приоритета обслуживается п / потоков заявок на включение вклинивающихся подпрограмм. [40]
![]() |
Характеристика стандартных подпрограмм общего назначения АСУ. [41] |
Подпрограммы, часто применяемые в разных программах, оформляют по единым правилам и называют ста да ртными подпрограммами. Стандартизация предусматривает единую форму идентификации и обращения к подпрограммам; фиксированный формализованный способ задания информации об аргументах и результатах; единые правила составления подпрограмм, обеспечивающие возможность автоматизации включения подпрограмм в основную программу. [42]
Подпрограммы, часто применяемые в разных программах, оформляют по единым правилам и называют стандартными подпрограммами. Стандартизация обычно предусматривает единую форму идентификации и обращения к подпрограммам, фиксированный формализованный способ задания информации об аргументах и результатах, а также единые правила составления самих подпрограмм, обеспечивающие возможность автоматизации включения подпрограмм в основную программу. [43]
Кроме операторов языка в Бейсике используются и системные команды. Этот язык также удобен для отладки алгоритмов, которые затем будут записываться на других языках программирования. К достоинствам Бейсика можно отнести также минимальные требования к системным ресурсам, возможность включения подпрограмм, написанных на языке Ассемблер, наличие большого числа версий, некоторые из них включают в себя возможность обработки символьной информации, имеют операторы для графической обработки. [44]
Третья и четвертая главы посвящены анализу методов диспетчеризации вычислительных процессов в реальном масштабе времени. В третьей главе методами теории массового обслуживания анализируются дисциплины диспетчеризации по критерию времени ожидания до выполнения некоторой программы. В четвертой главе рассмотрены дисциплины диспетчеризации при ограниченной буферной памяти, когда возможна потеря сообщений или заявок на включение подпрограмм. В обеих главах анализ проводится для бесприоритетной и различного типа приоритетных дисциплин. Значительное внимание уделено оценке эффективности дисциплин диспетчеризации по величине штрафа, а также по изменению эквивалентной производительности и эквивалентного объема буферной памяти управляющих ЦВМ. Особенностью третьей главы является наличие сравнительно простых аналитических выражений для оценки характеристик ожидания, в том числе и для некоторых типов дисциплин с динамическими приоритетами, в то время как значительная часть результатов четвертой главы получена методом Монте-Карло. Кроме того, в четвертой главе проводится анализ достоверности передачи сообщений в системах передачи данных, сопряженных с ЦВМ. [45]