В политическом отношении атомный проект укрепил международное положение СССР, однако на социально-экономическую сферу он оказал двоякое влияние. С одной стороны, для развития этого проекта были задействованы огромные ресурсы, полученные за счет других отраслей народного хозяйства и ущемления нужд населения страны. С другой — проект послужил развитию ряда отраслей науки и экономики, в том числе вычислительной техники нового поколения.
В 1955 году на Урале (Челябинск-70, современное название — Снежинск) был развернут второй ядерный центр. Для проведения его расчетно-теоретических работ под руководством Н. Н. Яненко был образован математический сектор, состоящий из четырех отделов: теоретического, производственного счета, вычислительной техники и отдела программирования (его возглавил Ю. И. Морозов). Основными вычислительными средствами, применяемыми в период становления сектора, были арифмометры «Мерседес» и «Рейнметалл». Особо важные задания для расчетов отправлялись в Москву, в Отделение прикладной математики (ОПМ), где в тот момент уже использовалась ЭВМ «Стрела» [1]. В марте 1957 года такая машина была установлена и в секторе, а в начале 1960-х годов появилась М-20 [2]. Для расчета работы узлов изделий использовались программы, разработанные в ОПМ, но создавались и собственные программные средства.
В 1958 году в математическом секторе НИИ-1011 по инициативе Морозова была создана программирующая система на базе клавишного устройства (ПСКУ). Это была одна из первых отечественных систем символьного программирования, которая впоследствии определила направление развития работ по автоматизации программирования в секторе. В 1960 году был образован научно-технический совет (НТС-3) с секциями вычислительной математики и вычислительной техники, председателем которого стал Яненко.
В 1967 году НИИ-1011 получил БЭСМ-6 [3], оснащенную операционной системой Д-68 [4] разработки ИТМиВТ АН СССР. ОС не отвечала требованиям, которые предъявлялись к вычислениям, характерным для специфики работ НИИ-1011, и имела ряд ограничений. Следует учесть, что тогда еще не было удобных ассемблеров, и вся система была запрограммирована вручную. Много времени занимал поиск ошибок, а слабая производительность не позволяла в полной мере использовать аппаратные возможности БЭСМ-6. В 1969 году В. Ф. Тюрин (выпускник физико-математического факультета Уральского государственного университета в Свердловске, где тогда преподавали Яненко и Морозов) вынес на рассмотрение НТС-3 предложение о создании собственной операционной системы, получившей название ДИСПАК (Диспетчер пакетов). Свердловский университет был одним из базовых вузов для НИИ-1011 и ОПМ, а его выпускники приняли участие в становлении советской компьютерной индустрии.
Группе разработчиков (см. рисунок) в короткие сроки нужно было создать эффективную, удобную и надежную ОС. Работа началась в январе 1970 года, а уже в марте следующего года требовалось представить первую версию системы. Машинное время для работы на БЭСМ-6 предоставлялось группе без ограничений, что тогда было редкостью. Точно в срок ДИСПАК предъявили на испытание, а вскоре запустили в эксплуатацию. Информация о новой ОС, отличавшейся своей практичностью и удобством, быстро распространилась, и вскоре она была принята в качестве серийной, поставляемой вместе с ЭВМ БЭСМ-6.
Группа разработчиков ОС ДИСПАК. Слева направо: Юрий Озорнин, Николай Шулепов, Светлана Зельдинова, Владимир Карякин, Владимир Тюрин, Виталий Зуев, Людмила Кошкина (Челябинск-70, 1969 год) |
Для работы ОС ДИСПАК в первых версиях применялись системные магнитные ленты: одна использовалась для ввода задач пользователя, их хранения и запуска в решение, а генерируемые задачами в процессе решения данные поступали на системные ленты вывода. После завершения задачи информация о ней изымалась с лент. В связи с большой нагрузкой прежде всего нужно было повысить надежность, безопасность и удобство работы с лентами. Данные на ленте представляли собой блоки по 1024 слова для пользователя плюс восемь служебных слов. Каждая лента получала свой идентификатор (имя), который записывался в одно из служебных слов каждого блока. Каждый блок магнитной ленты нумеровался, а номер записывался в одно из служебных слов этого блока. В ОС хранилась информация о текущем состоянии установленных лент (имя ленты, номер блока) — при установке оператором любой ленты она автоматически опознавалась по имени и номеру блока, причем при необходимости ленту можно было переставить на другое устройство. Для повышения надежности работы каждая запись на ленту сопровождалась контрольным чтением.
Для задач пользователей выделялись 16 каналов, которые распределялись с помощью бюджетной системы между различными группами задач в зависимости от потребностей вычислительного центра, а планирующая система отвечала за эффективное использование ресурсов. При поступлении задачи пользователя инициировалась работа планировщика, который определял нужные ей ресурсы (программный канал, применение магнитной ленты) и при их наличии запускал задачу на решение либо откладывал ее. В процессе решения задачи информация, поступающая на выводные устройства, записывалась на системные ленты вывода и только после завершения счета передавалась на реальные устройства вывода. После окончания счета планировщик возвращал ОС ресурсы задачи и выбирал следующую.
Большое внимание в ОС ДИСПАК уделялось средствам функционирования в критических ситуациях — была реализована развитая система сообщений пользователю, оператору и обслуживающему персоналу. Система осуществляла оперативный сбор статистики как о работе аппаратуры, так и о действиях пользователей, обрабатывая накопленные за различные периоды времени данные.
ОС ДИСПАК обеспечивала работу в пакетном и диалогово-пакетном режимах. За счет автоматизации процесса решения пользовательских задач, поддержки режима многозадачности и параллельного решения, буферизации ввода-вывода и эффективного использования внешних устройств было достигнуто достаточно быстрое прохождение задач на ЭВМ. Все это позволило в 15–20 раз повысить скорость решения задач по сравнению со штатным системным ПО.
В 1971 году на БЭСМ-6 появились магнитные диски и был создан коммутатор магнитных дисков, имевший три входа для подключения трех ЭВМ. После того как были разработаны средства для подключения магнитных дисков, впервые на платформе ОС ДИСПАК в 1972 году появилась возможность создавать децентрализованные многомашинные вычислительные комплексы (МВК) из БЭСМ-6 с общей внешней памятью на магнитных дисках. Пользовательские задачи автоматически перераспределялись между ЭВМ, что повысило как эффективность работы, так и надежность вычислительных систем. В этом же году Тюрин защитил диссертацию на тему «Операционная система ДИСПАК». В 1973 году по приглашению М. В. Келдыша Тюрин переехал в Москву, поступил на работу в ИПМ АН СССР и по настоянию академика А. Н. Тихонова начал преподавать в МГУ, на факультете ВМК, где до 2013 года читал лекции по операционным системам. В 1983 году Тюрин защитил докторскую диссертацию по многомашинным комплексам с общей дисковой памятью на базе машин БЭСМ-6.
В 1975 году был разработан и внедрен в эксплуатацию коммутатор терминалов, а в 1976 году — разработан коммутатор машин, позволивший объединить дисковое пространство всех ЭВМ: любая из них могла теперь обратиться к общему дисковому пространству. Тюрин создал программные средства для работы ОС ДИСПАК с коммутатором машин: событийный аппарат, главную и подчиненную задачи, передачу сообщений между задачами. Терминальный коммутатор на 64 терминала с выходом на семь ЭВМ БЭСМ-6 позволил создавать локальные и распределенные сети — пользователи могли в автоматическом режиме запускать задачи на любом терминале и на любом компьютере многомашинного комплекса, просматривая результаты на своем терминале. Такой комплекс был создан, например, в Главном производственном вычислительном центре СО АН СССР.
В период с 1968 по 1981 год было построено 367 машин БЭСМ-6. На более чем 95% из них была установлена ОС ДИСПАК, которая работала в крупнейших ВЦ и НИИ страны: ВЦ АН СССР, ГПВЦ СО АН СССР, ИММ УрО АН СССР, ИрВЦ СО АН СССР, НИИАС, ЦНИИАГ, НПО «Энергия», ИАЭ им. И. В. Курчатова.
В 1980 году Тюрин перешел в ИТМиВТ на проект ДИСПАК для МВК «Эльбрус1-К2», также известного как СВС («система, воспроизводящая систему») и разработанного на основе компонентов и технологий «Эльбруса-2» для замены БЭСМ-6. Разработка комплекса была завершена в 1988 году, до 1992 года было выпущено 60 машин. Процессор МВК «Эльбрус1-К2» был совместим с БЭСМ-6 по командам пользователя. ОС ДИСПАК решала вопросы организации работы в режимах разделения времени и реального времени, исключая простои оборудования комплекса. К каждой БЭСМ-6 были подключены десятки терминалов, работавших под управлением диалоговых систем УПО, ДИМОН, КРАБ, ДЖИН и др. В однопроцессорном варианте ОС ДИСПАК работала без сбоев 662 часа (четыре недели), а время функционирования в многомашинной конфигурации было практически неограниченным.
В 1985 году начался проект по созданию вычислительного комплекса «Эльбрус-Б», в аппаратуре которого для работы с внешними устройствами, прерываниями и т. д. вводились специальные команды, отличающиеся от команд БЭСМ-6. Комплекс работал в трех режимах. Первый обеспечивал полную совместимость с БЭСМ-6, второй совпадал с первым режимом за исключением длины пользовательских регистров (регистр БЭСМ-6 имел длину 15 бит, а во втором режиме было 27 бит), третий режим работы был полностью несовместим с БЭСМ-6. Созданная для комплекса «Эльбрус-Б» версия ОС ДИСПАК обеспечивала полное совмещение с задачами пользователя БЭСМ-6 для первого режима, второй режим не поддерживался, а третий был возможен с применением средств тестовых задач, написанных на ассемблере. Государственные испытания «Эльбрус-Б» и ОС ДИСПАК прошли в 1988 году, а в 1991 году коллектив разработчиков получил премию Совета министров СССР за создание системного программного обеспечения для этой системы.
***
Операционные системы — важнейшая часть управления современными компьютерными комплексами любого назначения и форм-фактора, и от того, владеет ли страна технологиями создания и развития ОС, зависит сегодня ее национальная безопасность [5]. Вместе с тем иногда можно столкнуться с несерьезным отношением к вопросам разработки ОС, встретив мнение, что «в стране нет и не было собственных ОС». В этой связи уместно напомнить, что разработанные в СССР операционные системы ДИСПАК, «Дубна», ИПМ и ряд других не только были на пике достижений компьютерной индустрии, но и содержали идеи, опередившие свое время. В ИТ абсолютные новинки редкость.
Литература
- Наталья Дубова. Очерки истории советской вычислительной техники // Открытые системы.СУБД. — 1999. — № 1. — С. 69–76. URL: http://www.osp.ru/os/1999/01/179659 (дата обращения: 18.02.2016).
- Галина Езерова, Энгелина Луховицкая. Начало цифровой эпохи // Открытые системы.СУБД. — 2014. — № 7. — С. 42–45. URL: http://www.osp.ru/os/2014/07/13042921 (дата обращения: 18.02.2016).
- Вера Карпова, Леонид Карпов. Первая БЭСМ: начало пути // Открытые системы.СУБД. — 2007. — № 10. — С. 74–79. URL: http://www.osp.ru/os/2007/10/4706915 (дата обращения: 18.02.2016).
- Наталья Дубова. Наши первые ОС // Computerworld Россия. — 2000. — № 2. URL: http://www.osp.ru/cw/2000/02/2589 (дата обращения: 18.02.2016).
- Дмитрий Кульнев, Роман Модянов, Алексей Петрик. Защищенная ОС // Открытые системы.СУБД. — 2015. — № 4. — С. 12–13. URL: http://www.osp.ru/os/2015/04/13047962 (дата обращения: 18.02.2016).
Ирина Крайнева (cora@iis.nsk.su) — научный сотрудник ИСИ им. А. П. Ершова СО РАН (Новосибирск). Работа выполнена при поддержке РФФИ (грант 15-07-06345). Автор выражает признательность В. Ф. Тюрину и С. А. Зельдиновой за помощь в подготовке статьи.