Нужна была операционная среда, которая позволила бы создавать новые программные проекты, не связывая их судьбу с планами выпуска того или иного компьютера. К необходимости такой системы подталкивала жизнь – назревал этап смены компьютерных архитектур. В стране началась адаптация Unix к советским ЭВМ. Не стоит, правда, представлять это как некий масштабный, четко управляемый и регулируемый процесс, текущий по всем правилам плановой экономики. Работы по созданию советских клонов Unix велись в инициативном порядке, в свободное от основных обязанностей время и, до определенного момента, почти без какой-либо координации усилий разных коллективов. Так, примерно к 1984 году появилось несколько вариантов Unix «по-русски», наиболее жизнеспособным из них оказалась Диалоговая Единая Мобильная Операционная Система, ядро разработчиков которой составили программисты Курчатовского института и их «конкуренты» из ИПК Минавтопрома.

Говорим Unix, подразумеваем ДЕМОС

Иногда говорят, что первые магнитные ленты с ОС Unix были добыты усилиями спецслужб, как это иногда случалось с программным обеспечением, попадавшим с Запада в СССР, но это не так – уже тогда операционная система свободно распространялась среди университетов и научных организаций США, и потому, как отмечает Сергей Аншуков, один из основных разработчиков ДЕМОС, необходимости в шпионаже не было. Ленты с дистрибутивами Unix привозили сотрудники советских научных институтов из зарубежных командировок или стажировок. Лаборатории информационных систем Курчатовского института повезло – в распоряжении ее сотрудников оказались исходные тексты седьмой редакции Unix, фактически первой действительно переносимой версии этой ОС, написанной на языке Си (примерно в это же время в СССР появилась и ее предшественница, Unix v6, большая часть компонентов которой была написана на языке ассемблера PDP-11).

Переносимость Unix, однако, не означала ее автоматической установки на любую аппаратную архитектуру, и попавшая в Курчатовский институт версия Unix для PDP требовала адаптации даже к их аналогу – СМ-4 (серия Систем малых ЭВМ, СМ ЭВМ), установленной в Лаборатории вычислительных систем института. Этот клон западных разработок повторял архитектуру компьютеров DEC, но имел свои особенности по организации внешних устройств, управлению памяти и др. Как рассказывает Аншуков, сначала Unix, установленная на СМ, просто опознавала ее как машину класса PDP, но другой модификации. Поэтому пришлось разворачивать систему на оригинальных PDP-11, которые стояли на АЗЛК, вносить нужные изменения и создавать дистрибутив для СМ-4. Научить систему правильно работать на СМ – это был первый шаг по превращению Unix в ДЕМОС.

Довольно значительных усилий потребовала русификация ОС. По словам Аншукова, как минимум за 15 лет до появления полноценных локализованных версий Unix программисты Курчатовского института реализовали в ДЕМОС двуязычную операционную систему. Для русификации потребовалось вносить изменения во все компоненты системы, связанные с текстовой обработкой, что означало правку не менее половины исходных кодов Unix. Исходная система работала с семибитными ASCII-кодами, но просто использовать восьмой бит для кодировки русских символов было невозможно – во многих компонентах ОС он выполнял функции служебного. Нельзя было решить проблему восьмого бита, отодвинув его, например, в девятый, поскольку PDP-11 использовала 16-разрядное слово, или за счет увеличения потребляемой памяти, которой в компьютере было мало. Так что русификация потребовала серьезной переделки алгоритмов текстовой обработки, причем таким образом, чтобы основной функционал системы не изменился и не возникало побочных эффектов.

ДЕМОС фактически объединила две версии Unix 7: 16-разрядную ОС DEC PDP и более богатую с точки зрения состава компонентов систему для 32-разрядных компьютеров VAX, также оказавшуюся в распоряжении программистов Курчатовского института. ДЕМОС работала на обеих архитектурах, при этом в версии PDP состав ее компонентов не был сведен к минимуму, а поддерживал все расширенные возможности версии для VAX. И когда на заводе в Вильнюсе начался выпуск СМ 1700, воспроизводившей машину VAX 730, она сразу поставлялась с установленной ОС ДЕМОС.

Лауреаты премии Совета министров СССР за создание ОС ДЕМОС, 1988 год. В первом ряду второй слева – Сергей Аншуков,  второй справа – Вадим  Антонов Слева направо стоят во втором ряду: Алексей Руднев, Владимир Сизов, Владимир Тихомиров, Михаил Давидов, Владимир Горской, Николай Саух, Михаил Паремский, Валерий Митрофанов, Анатолий Шатава, Юрий Школьников. Второй слева в первом ряду Сергей Аншуков, далее направо: Сергей Усиков, Леонид Егошин, Вадим Антонов, Валерий Бардин.

Поддержка более богатых возможностей для 32-разрядных машин на 16-разрядной архитектуре СМ-4 привела разработчиков еще к одной оригинальной идее, не имевшей аналога в исходном варианте ОС Unix. Адресация из 16 разрядов ограничивала объем адресного пространства программ 64 Кбайт, при том что реальная физическая память ЭВМ, на которых работала ДЕМОС, составляла 256 или даже 512 Кбайт. Чтобы преодолеть это ограничение, были созданы программные эмуляторы – оверлеи, которые переключали адресное пространство процессов при вызовах функций и позволяли запускать большие программы.

Хронология событий

Программисты Курчатовского института занимались адаптацией Unix для своих собственных нужд – им самим нужна была удобная операционная среда, с помощью которой можно было переносить без проблем свои наработки с одной аппаратной архитектуры на другую. Но когда был получен и успешно заработал советский вариант Unix, возникла идея распространить систему, чтобы получить возможность обмена и совместной работы со специалистами из других организаций, использующих разные архитектуры ЭВМ. Как замечает Аншуков, сообщество программистов на машинах ЕС ЭВМ работало настолько в иной технической и математической среде, что общение с ними было крайне затруднительно – ДЕМОС могла стать универсальным системным языком для разных семейств отечественных ЭВМ.

Инструментом официального распространения новой системы могла стать организация под названием «Центрпрограммсистем» – государственный архив программного обеспечения, собиравший и за некоторую плату предоставлявший всем заинтересованным лицам разработки советских программистов. Для того чтобы передать ДЕМОС в этот архив, систему надо было «узаконить» – пройти все положенные испытания госприемки и выпустить полную документацию. Аншуков рассказывает, что на подготовку документации, которая составила сорок томов, ушло все лето 1985 года. И это, конечно, не было просто переводом документации Unix – по каждому компоненту системы шла сверка описания с тем, что реально делала программа, вносились все необходимые дополнения и включались описания новых возможностей, внесенных разработчиками ДЕМОС.

Собственно, в ходе подготовки к формальной сдаче операционная система и получила название ДЕМОС, вспоминает ведущий разработчик этой ОС Валерий Бардин. В это время произошло объединение коллективов, которые с начала 80-х параллельно вели работы по созданию советского клона Unix. На кафедре прикладной математики и вычислительной техники Института повышения квалификации Минавтопрома примерно в то же время, что и в Курчатовском институте, под руководством Михаила Давидова начались работы по адаптации шестой версии Unix и созданию на ее основе своей операционной системы, которая получила название Машинно-Независимая Операционная Система (МНОС). Как уже отмечалось, эту редакцию Unix можно было лишь с большой натяжкой назвать переносимой – она была написана преимущественно на ассемблере и ориентирована на архитектуру PDP. Видимо, поэтому работы по МНОС развития не получили, а ее разработчики с середины 1980-х начали сотрудничать с создателями ДЕМОС, в частности в подготовке к официальному выпуску этой операционной системы. В этот неформальный коллектив входили и специалисты других научных организаций, так или иначе занимавшиеся ОС Unix для советских машин: ИНЭУМ, ИВФЭ в Протвино, ОИЯИ в Дубне и др.

Разработчики ДЕМОС не знали, что официально головной организацией по адаптации Unix к работе на отечественных ЭВМ был назначен образованный в 1983 году Институт проблем информатики Академии наук СССР (ИПИАН), который должен был решить эту задачу в рамках очередного пятилетнего плана, то есть к 1990 году. Там шла работа над Интерактивной Мобильной Операционной Системой (ИНМОС), однако «выход в свет» ДЕМОС в 1985-м сделал ее бессмысленной. За создание семейства операционных систем на базе ДЕМОС 25 человек, включая сотрудников ИПИАН, в 1988 году получили премию Совета Министров СССР. К этому времени силами объединенного коллектива разработчиков была выпущена новая версия ДЕМОС, построенная на базе Unix BSD 2.8 Университета Беркли. Для ДЕМОС 2.0 была проведена та же глобальная работа, которая была проделана для первой версии, – внесение изменений, учитывающих аппаратные особенности отечественных машин, полная русификация.

После 1985 года операционная система ДЕМОС была установлена практически на все универсальные серийные ЭВМ, выпускавшиеся в стране: СМ-4, СМ1700, «Электроника» 82, ЕС ЭВМ. Позже была сделана версия ДЕМОС для появившихся в СССР первых IBM PC XT на процессорах Intel 8086. Для машины «Эльбрус-Б» также была сделана своя редакция ОС ДЕМОС, хотя уровень имеющегося для нее программного обеспечения не устраивал ни программистов, ни пользователей и не позволял эффективно задействовать вычислительный потенциал машины.

Портирование ДЕМОС на архитектуру «Эльбруса» было выполнено достаточно быстро, поскольку этому предшествовала другая серьезная работа, которая способствовала успешной реализации версии операционной системы для отечественных суперкомпьютеров. В 1986 году, после аварии на Чернобыльской АЭС, институт получил возможность закупать западную технику и приобрел 32-разрядные компьютеры малоизвестной французской фирмы Utec на базе процессоров Motorola. Это были достаточно производительные и при этом компактные машины с французским вариантом Unix, который Аншуков характеризует как «кошмарный»: компьютер под ее управлением сутки не мог проработать без программного сбоя. Специалисты Курчатовского предложили поставщику джентльменское соглашение: они делают на основе ДЕМОС работоспособный и более качественный дистрибутив для его машины, воспользовавшись существующим системным компилятором Си, а взамен получают дополнительные компьютеры для института.

Полученный в результате этого соглашения вариант лег в основу 32-разрядной версии ДЕМОС для «Эльбруса», для которой практически осталось только адаптировать ассемблер и компилятор Си (этим занимались выпускники физтеха Сергей Вакуленко и Сергей Рыжков). ОС ДЕМОС, пожалуй, не было только для БЭСМ-6 – собственно, устаревание этой платформы и необходимость перехода на более современные машины послужили стимулом к поиску переносимых операционных сред. Однако БЭСМ-6 работала в ряде организаций до середины 90-х годов, ее производительность и высокая точность вычислений были важны для многих наукоемких применений. Среда ДЕМОС упростила перенос на новые архитектуры с Unix-средой накопленного на БЭСМ-6 и не потерявшего своей актуальности багажа программного обеспечения, созданного для военно-космических, ядерно-физических и других сложных задач. Как рассказывает Аншуков, в конце 1980-х в Курчатовском институте появились компьютеры Convex на базе Unix: «В силу того, что наши пользователи – физики – уже перенесли часть своего хозяйства на ДЕМОС на «Эльбрусе», проблемы миграции не возникло. Но если бы не было ДЕМОС, этот переход не удалось бы провести без серьезных потерь».

К началу 90-х годов работы по операционной системе ДЕМОС стали угасать. Была выпущена еще одна версия ДЕМОС 2.1, мало чем отличавшаяся от своей предшественницы. Это был период свертывания отечественного компьютеростроения, вместе с которым сходило на нет за ненадобностью и «строительство» собственных операционных систем. Разработчики ДЕМОС переключились на настройку и русификацию оригинальных ОС, приходивших в составе западных машин. А созданный ими в 1989 году кооператив «Демос» вошел в историю как «прорубатель» окна из Советского Союза в большой сетевой мир. Для создания компьютерной сети была использована неформальная инфраструктура подготовки кадров, распространения и сопровождения операционной системы ДЕМОС. Как отметил Бардин, «если бы не было истории с ДЕМОС, мы бы интегрировались в мировую сеть гораздо позже и медленнее».

Сообщество

В 1980-е годы в стране возникло большое сообщество пользователей ОС ДЕМОС, работавших в разных областях и на разных машинах, но фактически в единой среде, и потому они имели много общих тем для обсуждения. Площадками такого общения стали конференции пользователей ОС ДЕМОС, которые устраивались дважды в год в разных городах страны и собирали по 200-300 участников. Предметом обсуждения было в основном то, что мы сейчас называем приложениями, в среде ОС ДЕМОС работали специалисты советской авиационной и машиностроительной промышленности, отечественного автопрома и электронной отрасли. Конференции можно даже назвать международными. Программа ГКНТ по переносу ДЕМОС на различные архитектуры распространялась не только на СССР, но и на страны Варшавского договора, поэтому на конференции приезжали специалисты из тех стран, где шло производство машин серий ЕС и СМ ЭВМ, – ГДР и Чехословакии.

Продолжая традицию версий Unix 70-х годов и не имея в советских условиях других способов распространения своих разработок, создатели ДЕМОС передавали систему пользователям непосредственно через «Центрпрограммсистем», в исходных кодах, тем самым предоставляя им возможность вносить свой вклад в совершенствование этой ОС. На пользовательских конференциях иногда по полдня уходило на доклады, посвященные ошибкам, найденным в системных компонентах, и их исправлениям. Вся эта информация учитывалась разработчиками при подготовке очередной версии системы.

В начале 90-х неформальное сообщество пользователей ДЕМОС, объединявшее тысячи специалистов по всей стране, перекочевало под эгиду Советской ассоциации пользователей Unix (SUUG), созданной в 1990 году прежде всего в целях подключения страны к компьютерной сети европейских ассоциаций. Эта ассоциация в течение ряда лет была очень активна, в состав ее правления вошли ведущие разработчики ДЕМОС Валерий Бардин, Николай Саух, Сергей Аншуков, Дмитрий Володин. Неформальным печатным органом ассоциации со своего первого номера стал журнал «Открытые системы».

Итоги

Разработчики ДЕМОС сейчас уже не могут точно сказать, сколько инсталляций системы было сделано, но порядок этой величины несложно определить, если найти статистику общего количества машин в стране к концу 80-х. Сейчас, по прошествии 20 лет, уже трудно представить себе скромные размеры советского парка ЭВМ – свою собственную машину имела далеко не каждая научная лаборатория. Создатели ДЕМОС в ЛИС пользовались по ночам свободными от основных задач ресурсами вычислительного центра или ЭВМ СМ-4 другой лаборатории института, и если к 1990 году число компьютеров в стране составляло около шести тысяч, то на значительной части из них работала ДЕМОС.

Наряду с разработкой программистов Курчатовского института и их коллег, на советских ЭВМ устанавливались и отечественные клоны западных ОС, которые создавались специально для этих машин. Например, ОСРВ для СМ4, повторявшая RSX11 для DEC PDP11, и ОС ЕС, копировавшая IBM OS/360 или OS/370. В отличие от ДЕМОС, которая появилась в результате адаптации исходных текстов Unix, воспроизведение этих систем происходило на базе кодов оригинала. Таким способом было очень сложно реализовать адекватную поддержку архитектурных отличий отечественных машин от их западных аналогов, поэтому получавшиеся в результате ОС оказывались менее надежными, чем ДЕМОС.

Распространившаяся по всей стране ОС ДЕМОС сформировала сообщество специалистов, владевших наиболее современным на тот период времени системным языком и благодаря этому сумевших без больших потерь адаптироваться к бурной смене технологий на стыке 1980-х и 1990-х.


Команда ДЕМОС

Ряд участников коллектива ДЕМОС продолжает работать в отечественной ИТ-индустрии, многие в начале 90-х уехали на Запад и внесли весомый вклад в развитие оригинальных разработок по ОС Unix. Согласно воспоминаниям Сергея Аншукова приводим не претендующий на полноту список участников разработки ДЕМОС:

  • ИАЭ им. И.В. Курчатова: Валерий Бардин, Михаил Паремский, Сергей Аншуков, Алексей Руднев, Сергей Вакуленко, Сергей Рыжков, Юрий Школьников, Сергей Усиков, Владимир Петров, Алексей Долбин;
  • ИПК Минавтопрома: Михаил Давидов, Вадим Антонов, Павел Антонов, Полина Антонова, Дмитрий Володин, Ирина Машечкина, Ольга Губа, Андрей Чернов, Михаил Коротаев;
  • ИПИАН: Юрий Рабовер, Алексей Фридман, Михаил Беляков;
  • ИНЭУМ: Николай Саух, Владимир Горской;
  • НИЦЭВТ: Валерий Митрофанов, Анатолий Шатава;
  • ИФВЭ, Протвино: Леонид Егошин;
  • ОИЯИ, Дубна: Михаил Попов;
  • Центрпрограммсистем: Владимир Тихомиров, Владимир Сизов;
  • АЗЛК: Алексей Скукин.

О МНОС из первых уст

«Компьютер, с которого в 1990 году был зарегистрирован домен SU». Слева направо: Дмитрий Бурков, Дмитрий Володин, Валерий БардинВ конце 1970-х годов самостоятельные отечественные разработки в области системного ПО практически прекратились, и к началу 1980-х почти все программное обеспечение общего назначения представляло собой копии западных операционных систем, которые были доступны только в виде объектных кодов, что практически исключало возможность их существенного изменения и приспосабливания к местным условиям. Я был студентом второго курса ВМК МГУ, когда мне в руки попала копия Unix v6 с исходными текстами ядра, и нашлось учреждение (ИПК Минавтопрома), которому нужны были новые проекты. Только что образованной кафедрой вычислительной техники института заведовал Михаил Давидов, который позже стал председателем кооператива «Демос».

В процессе исследования стал понятен потенциал этой операционной системы, и постепенно вокруг нее образовался небольшой коллектив программистов. Давидов организовал первые в стране курсы по Unix/МНОС, и со временем ИПК Минавтопрома стал неформальным центром по работам, связанным с адаптаций Unix для советской вычислительной техники.

В основном работа шла вокруг поддержки кириллицы, что в нескольких случаях потребовало переписывания компонентов системы, написания драйверов для новых периферийных устройств, доработки системы по части надежности и быстродействия. С 1982 по 1986 год мы поменяли или переписали около четверти общего объема кода Unix v6, после чего эта ОС стала больше похожа на Unix v7. МНОС работала только на 16-разрядных машинах с архитектурой, похожей на PDP-11 (у некоторых советских клонов были существенные отличия от оригиналов производства DEC

В каком-то смысле этот проект стал первым вневедомственным проектом Open Source в СССР. Изрядное количество изменений и улучшений было сделано пользователями и программистами из других организаций и внесено в «официальную» версию МНОС в процессе, аналогичном тому, как сейчас ведутся разработки проектов с открытым кодом. Именно это обстоятельство – наличие географически распределенного сообщества разработчиков и пользователей – и вызвало интерес нашей группы к сетям и стало основой для создания первой публичной компьютерной сети в СССР («Релком»).

К началу 1990-х стала очевидна бесперспективность дальнейшей работы над ОС для советских ЭВМ, просто потому, что стали широко доступны более надежные и производительные западные компьютеры. Команда в итоге перепрофилировалась на создание и развитие сетей – «Релком» стал одним из первых коммерческих Internet-провайдеров в мире, всего на год-другой отставая от UUNET Communications, выросшей на базе Unix Users Group в США аналогично тому, как это произошло в СССР.

-- Вадим Антонов