355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Владимир Липаев » Очерки истории отечественной программной инженерии в 1940-е – 80-е годы » Текст книги (страница 4)
Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
  • Текст добавлен: 5 октября 2016, 22:41

Текст книги "Очерки истории отечественной программной инженерии в 1940-е – 80-е годы"


Автор книги: Владимир Липаев



сообщить о нарушении

Текущая страница: 4 (всего у книги 20 страниц) [доступный отрывок для чтения: 8 страниц]

1.3. Первые комплексы программ для оборонных систем в 1950-е – 60-е годы

Большое число крупных оригинальных, специализированных исследований и производственных работ по программированию, которые были связаны с созданием оборонной техники для авиации, космических, ракетных, морских и наземных систем, долгое время оставались секретными. Они охватывали множество сложнейших вычислительных задач, а также специфические задачи управления и обработки информации в динамических оборонных системах реального времени. Этот класс задач был не актуальным и недоступным для индивидуальных программистов в вузах и научных учреждениях, практически не упоминался в открытой печати, однако в 60-е годы и в дальнейшем ими были заняты в стране сотни тысяч специалистов, связанных с созданием сложных программ для ЭВМ.

Сергей Алексеевич Лебедев являлся инициатором внедрения электронной вы числительной техники в оборонные системы: в радиолокацию, ракетостроение и системы передачи данных. По его инициативе впервые в СССР, а возможно и в мире, проведены работы по фиксированию данных с радиолокационных станций сопровождения целей в цифровом виде и по передаче управляющей информации для наведения самолета или ракеты на цель. Преимущества вычислительной техники в системах военного применения были впервые продемонстрированы под руководством С.А. Лебедева в «Системе А» – экспериментальной системе противоракетной обороны (ПРО). Данный комплекс управлял радиолокационной станцией дальнего обнаружения и сопровождения цели и точного наведения противоракеты на баллистическую ракету противника [8, 9]. Были разработаны принципы построения вычислительных средств противоракетной обороны и создан высокопроизводительный вычислительный комплекс для решения задач высококачественного автоматического управления сложными, разнесенными в пространстве объектами, работающими в реальном масштабе времени. В его состав входили ЭВМ М-40, радиолокаторы обнаружения и сопровождения цели, радиорелейные линии передачи данных в замкнутой системе точного наведения ракеты, система контрольно-измерительной аппаратуры. ЭВМ М-40 начала выполнять сложные боевые задачи в 1957-м году. Впервые были предложены принципы распараллеливания вычислительного процесса за счет аппаратных средств. В марте 1961 года на этом комплексе впервые в мире была ликвидирована боевая часть баллистической ракеты осколочным зарядом противоракеты. За эти работы коллектив ведущих разработчиков комплекса, в том числе С.А. Лебедев и В.С. Бурцев, был удостоен Ленинской премии. ЭВМ М-50, введенная в строй в 1959 году, и явилась модификацией ЭВМ М-40, обеспечивающей выполнение операций с плавающей запятой и рассчитанной на применение в качестве универсальной ЭВМ. На базе М-40 и М-50 был создан двухмашинный комплекс.

С 1953-го года Михаил Романович Шура-Бура работал в Отделении прикладной математики Математического института им. В.А. Стеклова, созданном М.В. Келдышем в 1953-м году и преобразованном затем в Институт прикладной математики АН СССР (ныне ИПМ РАН им. М.В. Келдыша). В эти годы главной задачей и организационным успехом М.Р. Шуры-Буры как руководителя отдела программирования в ИПМ было формирование отдела [11]. Первым результатом работы отдела в 1953-м – 1955-м годах было применение программ для расчета энергии взрывов при моделировании ядерного оружия на ЭВМ «Стрела». Постановки задач и методы расчетов для этих программ готовили отделы математиков (А.Н. Тихонов, А.А. Самарский, И.М. Гельфанд). Программирование задач такой сложности в машинных кодах на ЭВМ, имевшей оперативную память емкостью всего 1000 ячеек, неработающий накопитель на магнитной ленте и частые сбои в арифметике и управлении, требовало от программистов виртуозного умения и оригинальных находок в организации отладки программ и счета. В 1954 – м году М.Р. Шура-Бура защитил диссертацию на соискание ученой степени доктора физико-математических наук.

В середине 50-х годов отдел программирования был привлечен М.В. Келдышем к расчетам траекторий искусственных спутников Земли (ИСЗ). Программы, разработанные сотрудниками отдела, возглавляемого Михаилом Романовичем, для ЭВМ «Стрела», а затем М-20, должны были обеспечивать круглосуточный режим обработки измерений траекторий ИСЗ. Они использовались, начиная с 1957-го года при запуске первых и последующих ИСЗ, при полете Ю.А. Гагарина в 1961-м году и затем в течение последующих 10 лет. Значение этих работ трудно переоценить, потому что результаты траекторных расчетов, производимых в разных организациях, иногда не совпадали, что для управления космическими полетами было недопустимо.

Весьма значительным было влияние ИПМ и лично М.Р. Шуры-Буры на выбор архитектуры отечественных универсальных компьютеров. В 1955-м году на начальной стадии проекта ЭВМ первого поколения М-20 в разработке участвовали три человека: С. А. Лебедев (общие характеристики и структура машины), М.Р. Шура-Бура (система команд), П.П. Головистиков (схемотехника). Основные архитектурные решения М-20, предложил М.Р. Шура-Бура. Эти архитектурные решения М-20 были сохранены в ЭВМ М-220, М222, построенных на основе полупроводниковой элементной базы. Эти машины стали «рабочими лошадками» для выполнения научных и инженерных расчетов во многих исследовательских, проектных и оборонных организациях страны. Это была одна из немногих моделей ЭВМ, при создании которой объединились проектанты, конструкторы и математики, представленные ИТМ и ВТ, конструкторским бюро, создавшим машину «Стрела».

Эта солидная основа возлагала большую ответственность на разработчиков, поскольку ее архитектуре предстояло воплотиться в нескольких крупных сериях ЭВМ (М-20, БЭСМ-4, М-220). Для машин типа М-20 – БЭСМ-4, которая также относилась к семейству машин С.А. Лебедева, было разработано, по крайней мере, три системы технологических программ в ИПМ АН СССР, в МГУ, в СО АН СССР. Эти системы отличались мнемоникой задания кодов операций, методами кодирования адресных полей машинных команд и методами настройки программ при размещении их в памяти. В это же время велись интенсивные работы по созданию систем библиотечных программ, отличавшихся друг от друга по правилам размещения их в оперативной памяти и по механизмам обращения к ним. В автокодах учитывалась необходимость размещения библиотечных программ в любом месте оперативной памяти, и были разработаны механизмы настройки подпрограмм по адресам размещения. При проектировании архитектуры машин предусматривалась аппаратная поддержка механизмов обращения к подпрограммам (процедурам) и методов передачи параметров.

В сферу научных исследований и разработок в начале 60 – х годов в Советском Союзе (почти одновременно в несколько ином виде в США) вошел и был апробирован новый широкий класс вычислительных систем и телекоммуникационных сетей реального времени – первый советский прототип современных информационных глобальных сетей и Интернета. В нем основными компонентами и источниками информации являлись траектории воздушных объектов, характеризующиеся их назначением, координатами и обобщенными параметрами движения, определяющие требования к функциям сложных комплексов программ управления в системе противовоздушной обороны (ПВО) [12]. Телекоммуникационные сети ЭВМ обеспечили обмен и обобщение информации от радиолокационных узлов на большой территории страны для непрерывного обнаружения и сопровождения воздушных объектов. К таким системам заказчиком предъявлялись высокие требования к качеству функционирования и гарантированного решения задач.

Примером оригинальных (в то время секретных) работ в НИИ-5 (МНИИПА) являлось создание программ реального времени и телекоммуникационной сети системы ПВО страны и радиолокационного узла (РЛУ) «Межа» (главный конструктор Владимир Алексеевич Шабалин, заместитель – Анатолий Николаевич Коротоношко). Программный комплекс обработки радиолокационной информации в 1962-м – 68-м годах на ЭВМ 5Э89 был создан под руководством Владимира Васильевича Липаева (докторская диссертация – 1967-й год по специальности радиолокация). При этом был разработан в 1962-м году принципиально новый тип операционной системы реального времени на ЭВМ для автоматической синхронизации и управления динамическим решением разнородных задач о движущихся воздушных объектах при случайных потоках информации из внешней среды и случайной длительности обработки каждого сообщения. Операционная система обеспечивала функционирование комплекса программ телекоммуникационные сети для транспортировки и обработки информации на ЭВМ между несколькими соседними РЛУ о траекториях движения динамических объектов и для обобщения характеристик их траекторий.

В эти годы генерирование динамических тестов от внешних объектов на специализированных мобильных ЭВМ было невозможно вследствие ограниченности их вычислительных ресурсов. В 1965-м году для имитации тестов от движущихся объектов внешней среды в реальном времени были разработаны программы формирования магнитофильмов на универсальной ЭВМ М-20. На этой машине предварительно формировались и записывались на специализированных магнитофонах наборы динамических тестов о разнообразных ситуациях воздушной обстановки и движения объектов с регистрацией значений реального времени сообщений и их координат с точностью до секунды. Имитации внешней среды и динамических тестов в реальном времени, впоследствии стало широко применяться при разработке комплексов программ оборонных систем для испытаний и гарантирования их качества.

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

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

1.4. Организация подготовки первых программистов в 1950-е – 60-е годы

В Московском, Ленинградском и Киевском университетах в 1950-е годы началась подготовка специалистов по вычислительной математике, в технических высших учебных заведениях появились курсы по вычислительной технике, и стали открываться кафедры вычислительных машин [1, 4, 11]. Министерство высшего образования и Высшая аттестационная комиссия ввели формальный список таких специальностей. Эти списки в системе образования и научной аттестации играли в СССР важную роль, т. к. служили средством идентификации и формального признания квалификации специалистов. В частности, каждая образовательная специальность получала право иметь самостоятельный учебный план от первого до выпускного года обучения. Учебный план в своей основной части являлся обязательным для каждого вуза и утверждался министерством. Имелось, однако, некоторое количество курсов и семинаров по выбору, которые использовались для более конкретной специализации студентов в рамках данной специальности.

В 1952-м году в нескольких университетах была открыта в дополнение к существовавшей специальности «математика» новая специальность «вычислительная математика», предназначенная для подготовки специалистов, использующих вычислительную технику. Первый учебный курс программирования в СССР был прочитан А.А.Ляпуновым в 1952-м – 53-м учебном году. Структура курса складывалась на глазах у студентов. В перерыве между первым и вторым семестрами у лектора начали складываться основные подходы к «операторному методу». Вся вторая половина курса – это была по существу совместная работа профессора и студентов по созданию и уточнению символики операторов, используемых при составлении схем программ. Курс читался и воспринимался с большим энтузиазмом, и неслучайно почти половина слушателей, математиков-вычислителей, стали после выпуска профессиональными программистами. В 1955-м году в Московском университете при кафедре вычислительной математики работал семинар по смежным вопросам кибернетики и физиологии, который с 1956-го года принял название «семинар по кибернетике».

В 1955-м году чтение курса программирования в МГУ продолжил М.Р. Шура-Бура [1, 4]. Первой книгой об ЭВМ, рассчитанной на массового читателя, была книга А.И. Китова «Электронные цифровые машины», вышедшая в середине 1956-го года. Хорошим качеством книги была убедительная и увлекающая свежего читателя демонстрация новизны, вносимой ЭВМ в практику человеческой деятельности. Ее развитием стал учебник А.И. Китова и Н.А. Криницкого «Электронные цифровые машины и программирование» [5]. Это была первая книга, официально рекомендованная министерством высшего образования в качестве учебного пособия, весьма солидного объема (572 стр.), и изданная большим тиражом (25 тыс. экземпляров). Первым учебником, специально посвященным программированию, была книга киевских авторов Б.В. Гнеденко, А.С. Королюка и Е.Л. Ющенко «Элементы программирования». Они использовали для изложения условную ЭВМ и дидактику курса А.А. Ляпунова. Отдельная глава была посвящена символике адресного программирования. Первой попыткой создать солидный университетский курс программирования, базировавшийся на Алголе-60, была книга Е.А. Жоголева и Н.П.Трифонова «Курс программирования», основанная на опыте чтения лекций по программированию в МГУ.

Потребности в специалистах по программированию и в усилении подготовки по технологии системного программирования, как для общего математического обеспечения, так и для прикладных программ, привели к организации в 1969-м году новой специальности «прикладная математика» (для университетов и политехнических институтов), а также специальности «автоматизированные системы управления» (АСУ) (для отраслевых институтов). В 1975-м году подготовка по этим специальностям осуществлялась на 54 (прикладная математика) и 43 (АСУ) факультетах с общей численностью выпуска порядка 5000 человек в год.

Глава 2. История отечественной вычислительной техники в 1950-е – 70-е годы

2.1. История семейства стационарных универсальных вычислительных машин «Урал» в 1960-е – 70-е годы

В середине 60-х годов и в последующие годы, заводами страны производился серийно ряд оригинальных типов универсальных ЭВМ— БЭСМ-4; Урал-11 – 14; М-220; М-222; Минск-22; Минск-32; Раздан-2; Наири; Мир-1– 3 и другие – (см. рис. 1). Наиболее полно перечень свыше тридцати типов и десяти семейств ЭВМ, разработанных в СССР, представлен в Виртуальном компьютерном музее [10]. Некоторые ЭВМ имели экспериментальный характер или выпускались столь малыми сериями, что практически не отражались на вычислительном потенциале страны и не позволяли широко распространять и применять разрабатываемые на них программы. Поэтому далее в монографии этапы история программной инженерии отражены на ряде примеров технологических программных средств и операционных систем, оказавших наибольшее влияние на вычислительный потенциал страны, так как было нецелесообразно излагать историю программной инженерии для всей совокупности созданных вычислительных машин.

Для выделенных и рассматриваемых машин были созданы различные по функциям и качеству операционные системы и технологические компоненты программной инженерии. Квалификация их разработчиков значительно различалась, среди их продуктов можно найти оригинальные технические решения, однако большинство обеспечивало основные типовые функции автоматизации программирования, для более или менее комфортного применения соответствующих ЭВМ индивидуальными пользователями. В конце 60-х годов стало ясно, что необходимо сокращать разнотипность машин и сосредоточить их производство и разработку технологического программного обеспечения на нескольких типах наиболее перспективных универсальных ЭВМ для массового применения в научных учреждениях и промышленных предприятиях страны. Для таких ЭВМ следовало активизировать и сконцентрировать усилия специалистов по их оснащению эффективными средствами программной инженерии с целью расширения сфер применения и повышения производительности разработчиков прикладных программных продуктов.

Пензенская научная школа в области вычислительной техники, созданная Баширом Искандеровичем Рамеевым получила широкую известность и признание благодаря его таланту и колоссальному труду, вложенному в разработку и выпуск целого ряда вычислительных машин [11]. Первый, ламповый «Урал -1», был выпущен в 1957 году. Он стал «рабочей лошадью» во многих вычислительных центрах страны. Для серийного производства машины «Урал-1» был выбран завод в Пензе. Вместе с группой молодых специалистов, работавших с ним в Москве в СКБ-245, Б.И. Рамеев в 1955 – м году переехал в этот город. Коллектив разработчиков, который составил Пензенскую школу, начал складываться в 1952 – 54 годах еще в Москве в СКБ-245. Часть сотрудников училась в МИФИ, а после окончания института были направлены в СКБ-245.

В Пензе Б.И. Рамеев становится главным инженером и заместителем директора по научной работе НИИ математических машин (потом НИИ управляющих машин) и главным конструктором вычислительных машин «Урал». Машина «Урал-1» стала родоначальницей целого семейства. Простота машины, удачная конструкция, невысокая стоимость обусловили ее широкое применение. После «Урал-1» на той же элементной базе (на электронных лампах) были созданы еще две машины: в 1959 году – «Урал-2», а в 1961 – м году – «Урал-4». По сравнению с первым «Уралом» их быстродействие увеличилось в 50 раз, оперативная память была реализована на ферритовых сердечниках и значительно увеличен объем внешней памяти.

В 1960-м году были начаты работы по созданию семейства полупроводниковых «Уралов». Основные черты нового поколения машин были сформулированы еще в 1959-м году. В соответствии с ними определили состав семейства машин, их структуру, архитектуру, интерфейсы, установили принципы унификации, утвердили технические задания на устройства, ограничения на используемые комплектующие изделия и некоторые другие документы. В процессе проектирования обсуждались с разработчиками основные решения и ход работы. В ноябре 1962-го года была закончена разработка унифицированного комплекса компонентов «Урал-10», рассчитанного на автоматизированное производство. Хотя компоненты разрабатывались для использования в серии ЭВМ «Урал-11» – «Урал-16», они нашли широкое применение и в других средствах вычислительной техники и автоматике. Для этих целей было выпущено несколько миллионов штук компонентов.

В семейство полупроводниковых «Уралов» входили три модели: «Урал-11», «Урал-14» и «Урал-16». Первые две модели стали выпускаться серийно с 1964 года, а последняя – с 1969 года. Выпуск моделей этого семейства ознаменовал новую веху в творческом наследии главного конструктора Б.И. Рамеева. Это первое в нашей стране семейство машин с унифицированной системой организации связи с периферийными устройствами (унифицированный интерфейс), унифицированной оперативной и внешней памятью. В моделях этого семейства нашли свое воплощение многие идеи, которые затем широко использовались в машинах третьего поколения (развитая система прерываний, эффективная система защиты памяти, развитое программное обеспечение).

Это семейство являлось выдающимся примером создания массовых, программно совместимых универсальных ЭВМ разной мощности в 70-е голы, на единой конструктивной, технологической и схемной базе. Основные особенности поколения машин, воплощенные Б.И. Рамеевым в серии «Урал», сводились к следующему:

• машины представляли собой конструктивно, схемно– и программно совместимый ряд ЭВМ различной производительности, с гибкой блочной структурой;

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

• конструктивные и схемные возможности позволяли комплектовать системы обработки информации, состоящие из нескольких одинаковых или разных машин, обеспечивая плавное изменение количественных характеристик и существенно расширяя ряд в сторону увеличения производительности, круга решаемых задач и областей применения;

• наличие датчика времени, аппаратуры сопряжения с каналами связи и пультов операторов для связи с машиной давали возможность строить различные системы обработки данных коллективного пользования, работающие в режиме разделения времени;

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

В семействе ЭВМ были предусмотрены:

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

• – возможность резервирования отдельных устройств машин, позволяющая создавать системы повышенной надежности: системы схемной защиты данных, независимость программ от их места в памяти, система относительных адресов, развитая система прерываний и соответствующая система команд;

• возможность работать в режимах: с плавающей и фиксированной запятой, в двоичной и десятичной системах счисления, выполнение операций со словами фиксированной и переменной длины, что позволяло эффективно решать, как планово-экономические, информационные, так и научно-технические задачи;

• система аппаратного контроля устройств хранения, адресации, передачи, ввода и обработки информации;

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

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

Основные черты этого поколения машин были изложены еще в 1963-м году в проекте на семейство ЭВМ. Он появился на полтора года раньше публикаций об американском семействе машин IBM-360. Таким образом, идея создания семейства программно и конструктивно совместимых ЭВМ была опубликована Б.И. Рамеевым независимо от американских ученых и реализована практически одновременно. В отличие от первых моделей семейства IBM-360, семейство «Урал» обеспечивало возможность создания систем обработки информации, состоящих из нескольких одинаковых или разных машин, было рассчитано на работу в сетях и, наконец, было открытым для дальнейшего наращивания технических средств для конкретных систем. Семейство этих ЭВМ производилось серийно с 1964-го года и более десятка лет широко применялось на промышленных предприятиях в стране.


    Ваша оценка произведения:

Популярные книги за неделю