Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
Значительная часть исходных данных в рассматриваемых системах являлась результатом квантованных измерений непрерывных физических величин – координат объектов и их скорости, показаний датчиков напряжения, давления и т. д. Относительно невысокая точность этих данных определяла рациональную разрядность квантования их значений для обработки и хранения на ЭВМ. Поэтому структура разрядной сетки и операции с частью слова выбирались в соответствии с числом разрядов наиболее часто используемых величин, что позволяло экономить объем аппаратуры. Эти же обстоятельства определили практическое отсутствие в специализированных ЭВМ операций с плавающей точкой. Операции с фиксированной точкой были более экономными по использованию оборудования, и вполне удовлетворяли разработчиков программ. В результате были созданы машины с различной базовой разрядностью памяти и основных операций – 12, 16, 18, 20, 24, и т. п. разрядов.
Логические операции в программах производились, как правило, с малоразрядными величинами или даже с отдельными битами. Для их выполнения целесообразно было ориентировать процессоры ЭВМ на удобную и быструю работу с величинами соответствующей структуры и вводить значительное количество специализированных логических операции с различными частями слова. Часть слова памяти (1–6 разрядов) отводилась для различных признаков логических величин. Такая ориентация конструкции машин на особенности основных, функциональных задач позволяла при относительно слабой элементной базе достигать необходимых характеристик по памяти и производительности ЭВМ. Поэтому многие машины только в конце 70-х годов начали приближаться к менее эффективной для конкретных приложений в данной области, универсальной, байтовской структуре операций и обрабатываемых данных.
Специализация систем команд ЭВМ для эффективного решения особых функциональных задач систем, усложняла труд программистов, однако позволяли их решать при минимальных затратах на аппаратуру вычислительной техники. Кроме того, программирование могло начинаться только после полной готовности к применению всей аппаратуры. В результате в крупных системах разработка комплексов программ становилась определяющей совокупные затраты и сроки их производства.
Функциональные задачи многих оборонных систем управления в реальном времени характеризуются интенсивными случайными потоками неоднородных данных, длительность обработки которых являются также случайными величинами. Эти длительности во многом зависят от содержания поступающих данных и случайных моментов их обработки. Моменты и способы включения программ на обработку данных в специализированных ЭВМ производятся в основном автоматически и зависят от информации, передаваемой по телекоммуникационным линиям от операторов или из внешней среды. При этом, зачастую, нет необходимости при функционировании систем накапливать и хранить большие объемы данных продолжительное время. Поэтому базы данных о состоянии внешней среды отличались сравнительно небольшим объемом и практически отсутствовали специальные системы управления базами данных. Только некоторые стационарные военные системы (штабные) имели довольно крупные базы данных, но регламент реального времени у них был более легкий и допустимы большие времена задержки отклика.
Многие системы со специализированными ЭВМ предполагались для производства и применения в небольшом количестве (единицы, десятки, или сотни экземпляров), что ориентировало разработчиков на применение оригинальных технических решений и вызывало пренебрежение унификацией и стандартизацией аппаратуры, программ и технологии их производства. Практически независимая разработка такого широкого спектра вычислительных машин, конечно, обходилась очень дорого, однако в результате появлялось множество очень эффективных технических решений при разработке и применении ЭВМ и комплексов программ. Ведомства заказчиков оборонных систем не координировали между собой технические требования к вычислительным средствам, каждое из которых адаптировалось разработчиками к задачам конкретного заказчика. В результате бурно рос «зоопарк» типов вычислительных машин и программных комплексов, зачастую решающих одни и те же задачи. Особенно это проявлялось в многообразии машин и программных комплексов с подобными задачами в авиационных и ракетных системах.
Ориентация на решение конкретных функциональных задач и конструкционные требования минимизации энергопотребления, веса и габаритов, определяли предельно ограниченные ресурсы памяти и производительности многих ЭВМ. Отсутствие избыточности ресурсов ЭВМ заставляло разработчиков и заказчиков систем искать компромисс между широтой реализуемых функций, сложностью алгоритмов решаемых задач и необходимым качеством результатов функционирования системы. Ограниченность ресурсов ЭВМ требовало от разработчиков экономного их использования и поиска архитектурных, технических и алгоритмических возможностей совершенствования качества решения задач в пределах имеющихся ресурсов.
Реальных ресурсов, специализированных ЭВМ по памяти и производительности, обычно было недостаточно для полного и качественного решения даже основных, функциональных задач таких систем, и размещение на них инструментария автоматизации программирования было принципиально невозможно. Поэтому возникла необходимость распределять процессы создания комплексов программ оборонного назначения по двум классам ЭВМ. На универсальных технологических ЭВМ с большими ресурсами памяти и производительности реализовывать и применять инструментарий для автоматизации разработки программ, производить трансляцию программ с различных языков программирования, их предварительную отладку и документирование. На специализированных, объектных ЭВМ с ограниченными ресурсами, достаточными только для решения основных, функциональных задач системы, завершать их отладку и обеспечивать их эксплуатацию в соответствии с этими задачами. Эти ЭВМ обычно принципиально отличались от универсальных по архитектуре, системам команд, ресурсам и наличию периферии, что вызвало проблемы интерпретации программ специализированных ЭВМ на универсальных машинах, и моделирования на них тестов для имитации внешней среды при отладке и испытаниях (см. главу 2).
Отсутствие в стране в 1950-е – 60-е годы развитой централизованной промышленности электронных компонентов для ЭВМ, явилось причиной их разработки зачастую теми же предприятиями, которые создавали архитектуру специализированных ЭВМ и системы управления в целом. Вследствие этого элементная база часто была полукустарной, малотиражной и разнотипной, не отличалась высоким качеством и технологическим уровнем. Необходимость для многих предприятий оборонных отраслей вести разработку систем по полному циклу, начиная с создания элементной базы ЭВМ и далее всей вычислительной техники и программных средств, не только приводило к множеству параллельных, не унифицированных разработок, но и значительно увеличивало длительность и стоимость проектов систем.
Только в начале 80-х годов в нашей стране начала проявляться тенденция частичной унификации архитектуры специализированных ЭВМ. Она была обусловлена необходимостью резкого ускорения и автоматизации разработки программ, для реализации инструментальных средств которой не было ресурсов памяти и производительности у объектных, специализированных машин. Их архитектуру стали ориентировать на наиболее распространенные в стране универсальные ЭВМ типа СМ или ЕС. Предполагалось, что это позволит полностью отрабатывать комплексы программ на универсальных ЭВМ, а затем переносить их без изменений на объектные ЭВМ.
Однако специфика ЭВМ военного назначения реального времени не полностью отражалась в универсальных ЭВМ, вследствие чего окончательную комплексную отладку и испытания приходилось проводить на реальных объектных ЭВМ. Этот процесс развивался очень медленно вследствие огромного объема «-унаследованных.» программ, уже используемых в реальных системах. Это позволяло сохранять испытанные и эксплуатируемые программы и вводить новые – без проведения полной разработки всего комплекса программ и системы управления с необходимыми испытаниями.
4.3. Создание операционных систем и глобальной телекоммуникационной сети ЭВМ реального времени в 1965-е годы
Интенсивное увеличение использования ресурсов ЭВМ потребовало автоматизировать регистрацию и упорядочивание запросов разных специалистов на решение их задач, и привело к созданию автоматизированных операционных систем распределения времени функционирования отдельных ЭВМ с учетом очередей пользователей и задач. Такие системы удовлетворяли индивидуальное использование ЭВМ независимыми специалистами в научных учреждениях и вузах при относительно небольшом спросе на их применение и небольших по размеру программах. Возрастание очередей на решение различных задач при ограниченном числе доступных ЭВМ в стране вызвало необходимость совершенствования механизмов управления последовательностью и эффективностью использования ресурсов отдельных автономных вычислительных машин.