На рубеже 70-х и 80-х годов ХХ столетия UNIX набирал популярность не только в академических кругах, но также активно внедрялся в различные бизнес-процессы коммерческих предприятий. Портируемость, простота архитектуры и широкие возможности ОС привели к появлению у этой платформы целой армии верных поклонников. Однако «юних» — это у них. А что у нас? В Советском Союзе имелись свои талантливые инженеры и программисты, которые пытались создавать собственные версии операционных систем, во многом вдохновлённые идеями и архитектурой UNIX. И некоторые из этих проектов оказались вполне успешными. А самым успешным среди них стала ОС ДЕМОС.
Поскольку разработчики бесплатно лицензировали UNIX для американских, а также европейских образовательных и научных учреждений, советские специалисты имели возможность почти легально получить магнитные ленты с копией операционной системы на международных научных конференциях и симпозиумах. Тем более, к началу 80-х годов в международных отношениях СССР с западными странами наметилось определённое потепление, а с некоторыми капиталистическими государствами, например, с Францией и Италией, даже налаживалось научно-техническое сотрудничество в отдельных областях. Именно так исходники 7-й версии UNIX для PDP-11, ядро которой Кен Томпсон и Деннис Ритчи переписали на языке Си, в начале восьмидесятых попали в Курчатовский институт. Вскоре институт заполучил ещё одну модификацию 7-й версии: 32-разрядную редакцию для компьютеров VAX.
В вычислительном центре Курчатовского института в те времена трудились советские клоны DEC PDP-11, относившиеся к семейству «Систем малых ЭВМ» — СМ-4. Несмотря на то, что эти машины поддерживали систему команд PDP-11 и в целом были схожи с оригиналом от Digital Equipment Corporation, архитектурные различия давали о себе знать. СМ-4 использовал собственный процессор СМ-4П и специальный интерфейс для сопряжения модулей компьютера под названием «общая шина ОШ СМ», который отсутствовал в оригинальной ЭВМ от DEC. Кроме того, в СМ-4 была реализована собственная подсистема управления памятью, отличалась и архитектура ввода-вывода, обеспечивающая работу периферии. Из-за этих и некоторых других особенностей устройства советской вычислительной машины попытка запустить на ней UNIX не увенчалась успехом — система на СМ ЭВМ просто «не завелась».
ЭВМ СМ-4
Тем не менее, советские программисты не отступились и решили во что бы то ни стало испробовать капиталистический UNIX на отечественной технике. Нужно отметить, что ни руководство Курчатовского института, ни партия, ни правительство не ставили перед инженерами такой задачи — это была исключительно «инициатива снизу». Сами сотрудники вычислительного центра ИАЭ им. И. В. Курчатова понимали, что адаптация этой универсальной операционной системы для работы на советских ЭВМ откроет перед ними новые возможности — прежде всего, в плане переносимости приложений с одной аппаратной платформы на другую. А если ОС удастся сделать по-настоящему кроссплатформенной, это значительно упростило бы задачу обмена прикладными программами и данными с другими организациями, использовавшими семейство компьютеров ЕС ЭВМ. Ко всему прочему, адаптация UNIX для советских машин открывала определённые перспективы и в области обмена опытом с зарубежными научными учреждениями.
Для решения этой непростой задачи сотрудники Курчатовского института заручились поддержкой Минавтопрома и обратились на автомобильный завод АЗЛК, где имелось несколько настоящих DEC PDP-11. На этих машинах исходники UNIX были частично переписаны и адаптированы под архитектуру СМ-4, после чего система как минимум смогла запускаться и полноценно работать на этих ЭВМ. Это уже стало маленькой победой.
Следующим шагом стала локализация операционной системы. По воспоминаниям разработчиков, наибольшую сложность в процессе русификации UNIX представляло то обстоятельство, что и PDP-11, и СМ-4 были 16-битными ЭВМ, а для отображения символов ASCII в операционной системе использовалось 7 бит. При этом восьмой был зарезервирован для служебных нужд, и использовать его для поддержки кириллицы не представлялось возможным. Таким образом, программистам пришлось переписать примерно половину исходных кодов UNIX и полностью переделать все компоненты системы, связанные с обработкой и выводом текста. Проект назвали Диалоговая Единая Мобильная Операционная Система, сокращённо — ДЕМОС.
Но одной локализацией дело не ограничилось. В распоряжении разработчиков из Курчатовского института имелась ещё одна версия UNIX — 32-разрядная, предназначенная для архитектуры VAX, которая обладала более широким арсеналом системных компонент, утилит и прикладных программ. Её также модифицировали и интегрировали в систему, благодаря чему советская ОС научилась полноценно работать сразу на двух архитектурах: 16-разрядной и 32-разрядной. При этом набор компонент в обеих версиях был одинаков: 32-разрядные модули переписали и адаптировали для 16-битной архитектуры. Когда в 1987 году НПО «Сигма», расположенное в столице Литвы Вильнюсе, наладило выпуск 32-битного клона VAX-11/730 под названием СМ-1700, на эту ЭВМ сразу стали устанавливать ОС ДЕМОС в качестве базовой системной платформы.
Ещё одним достижением специалистов из Курчатовского института можно назвать то, что им удалось обойти «врождённое» ограничение 16-разрядной версии UNIX, которая была способна работать с оперативной памятью максимальным объёмом 64 Кбайта, в то время, как СМ-1420 на базе того же процессора СМ-4П поддерживала 248 Кбайт. Проблему решили весьма элегантным способом: с помощью программных эмуляторов (оверлеев), которые переключали адресное пространство процессов запущенных приложений, позволяя им использовать весь доступный на компьютере объём ОЗУ.
Параллельно с работами над ОС ДЕМОС на кафедре прикладной математики и вычислительной техники Института повышения квалификации Минавтопрома группа из девяти специалистов под руководством завкафедрой Михаила Изгияевича Давидова трудились над созданием собственной локализации шестой версии UNIX под названием «Машинно-Независимая Операционная Система (МНОС)». Эта ОС также была ориентирована на 16-разрядную архитектуру PDP-11, но в отличие от Курчатовских специалистов, использовавших язык Си, разработчики МНОС писали на Ассемблере. Код в результате получился довольно компактным, но у него возникли объективные проблемы с кроссплатформенностью. По прошествии времени МНОС была признана менее перспективной по сравнению с универсальной, переносимой и многофункциональной ОС ДЕМОС. В результате обе ветви русскоязычной UNIX были сведены в общий проект, и специалисты Института повышения квалификации Минавтопрома присоединились к коллективу разработчиков ДЕМОС.
ЭВМ СМ-1420
Несмотря на то, что создание ДЕМОС де-факто было инициативой рядовых сотрудников вычислительного центра одного из научных институтов, профильные министерства СССР прекрасно осознавали перспективы внедрения UNIX научно-производственном секторе и признавали необходимость адаптации этой ОС для советских компьютеров. Именно поэтому в 1983 году была официально утверждена программа по разработке русскоязычной версии UNIX для ЕС ЭВМ, получившей название «Инструментальная Мобильная Операционная Система (ИНМОС)». Задачу планировалось решить в ходе XII пятилетки, то есть, к 1990 году, а в качестве ответственной организации назначили Институт электронных управляющих машин им. И. С. Брука (ИНЭУМ). Позже часть разработчиков перешла в Институт проблем информатики Академии наук СССР (ИПИАН), где для дальнейшего развития ИНМОС была создана отдельная лаборатория.
ИНМОС, как и ДЕМОС, изначально разрабатывался для ЭВМ СМ-4, код был написан на языке Си, при этом создатели системы сразу разделили ОС на машинно-зависмую и машинно-независимую части с целью последующего переноса платформы на другие архитектуры. Поскольку за основу был взят тот же UNIX 7-й версии для PDP-11, программисты из ИПИАН столкнулись с такими же в точности трудностями в вопросах русификации, обработки и отображения кириллицы, которые к тому времени уже успешно преодолели их коллеги из Курчатовского института. Пикантный момент заключался в том, что до определённого момента эти две команды не подозревали о существовании друг друга: интернета тогда ещё не изобрели, а коммуникации между научными учреждениями в СССР, работавшими в разных отраслях, зачастую были весьма ограничены. Таким образом, две независимые группы программистов параллельно работали над решением фактически одной и той же задачи, правда, у создателей ДЕМОС было небольшое преимущество, заключавшееся в том, что они приступили к работе раньше и продвинулись в ней намного дальше конкурентов.
В то же самое время у разработчиков ИНМОС имелся собственный козырь в рукаве: их проект имел статус официального, утверждённого и финансируемого государством, в то время как программисты из Курчатовского института считались, по большому счёту, энтузиастами. Это создавало определённые препятствия для внедрения и распространения ДЕМОС, поскольку данный процесс в СССР был предельно забюрократизирован. Для того чтобы советские предприятия могли официально пользоваться какой-либо программой, она должна была предварительно пройти регистрацию в основанном в 1971 году НИИ «Центрпрограммсистем». А для этого разработчики должны предоставить подробную техническую документацию на свой продукт, оформленную в чётком соответствии с ГОСТ, а затем пройти «госприёмку».
Оформлением этой документации и занялись авторы ДЕМОС — по их воспоминаниям, процесс оказался не менее сложным, чем разработка самой операционной системы. На этом этапе к ним присоединились коллеги из Объединённого института ядерных исследований в г. Дубна, Института физики высоких энергий из Протвино и из НИЦЭВТ (Научно-исследовательского центра электронной вычислительной техники). Итоговый объём документации составил 40 томов, при этом в процессе «госприёмки» специалисты тщательно проверяли, как работает и что делает каждый компонент операционной системы, правильно ли он описан, и соответствует ли документация фактическому функционалу ОС. Поскольку подробные справочники по базовой версии UNIX были недоступны создателям ДЕМОС (да и вряд ли бы им помогли, ибо по понятным причинам не соответствовали советским стандартам), документировать систему пришлось с нуля. Заодно разработчики подробно описали созданные ими оригинальные компоненты ОС, отсутствовавшие в исходном дистрибутиве.
Коллектив разработчиков ДЕМОС
Эта работа была полностью завершена летом 1985 года, и именно тогда ОС ДЕМОС обрела наконец официальный статус, а само это название было зафиксировано в утверждённых государством документах. Параллельно группа программистов, к которой присоединилась и часть трудившихся над ИНМОС специалистов из ИПИАН, занялась подготовкой второй версии операционной системы, опиравшейся на ядро BSD 2.8. Эта редакция ДЕМОС увидела свет в конце 1985 года, она была портирована на ЕС ЭВМ и ещё один аналог VAX 11/750 — ЭВМ «Электроника-82». Система также была полностью русифицирована, и помимо предыдущих наработок, включала в себя множество новых компонентов, частично опиравшихся на код BSD.
Следует отметить, что в середине 80-х существовал ещё один проект «советского UNIX» — операционная система MISS (Multipurpose Interactive timeSharing System), разрабатывавшаяся на физическом факультете МГУ программистом Владимиром Бутенко. В отличие от ДЕМОС и ИНМОС, MISS не опирался на существующие дистрибутивы UNIX, а создавался с нуля — за основу была взята только архитектура UNIX. Система была написана для ЕС-1010, которая являлась клоном французского компьютера Mitra-15, позже была портирована на EC-1011 (клон Mitra-225). Но в конечном итоге MISS не выдержала конкуренции с ДЕМОС, и проект был закрыт.
В 1986 году Курчатовский институт, участвовавший в ликвидации последствий аварии на Чернобыльской АЭС, получил от французской компании Aniral-UTEC несколько персональных компьютеров на базе 32-битного процессора Motorola 68010. На этих машинах была установлена французская версия UNIX, которая, по воспоминаниям сотрудников Курчатовского института, постоянно сбоила и работала крайне нестабильно. Протестировав систему, институт предложил французам сделку: советские разработчики подготовят стабильную версию ОС ДЕМОС для этих машин, а компания Aniral-UTEC взамен бесплатно предоставит вычислительной лаборатории института дополнительные персоналки. Так ДЕМОС впервые вышла за пределы Советского Союза на международный рынок. Вскоре эта ОС стала использоваться в научных учреждениях ГДР, Польши и Чехословакии.
К 1988 году ДЕМОС стала самой распространённой в СССР UNIX-подобной операционной системой, способной работать на отечественном «железе», а группа её создателей получила премию Совета Министров СССР. Примерно тогда же система была портирована для Зеленоградских персоналок ДВК производства НИИТТ. К концу 80-х ОС ДЕМОС успешно использовалась на крупных «промышленных» ЭВМ и персональных компьютерах. Дважды в год проводились конференции пользователей ДЕМОС, на которые приезжали представители советских вычислительных центров и делегаты из стран СЭВ. Участники мероприятия выступали с докладами, общались и обменивались программным обеспечением.
ДЕМОС на ПЭВМ ДВК
В 1990 году появилась модифицированная версия ОС ДЕМОС 2.1, и на этом история операционной системы практически завершилась: рынок заполнили персональные компьютеры стандарта IBM PC, а политические изменения в стране резко сузили возможности государства в финансировании новых разработок. Появившийся при институте им. Курчатова в 1989 году кооператив «ДЕМОС» занялся развитием компьютерных сетей (и превратился в итоге в первого на территории СССР коммерческого интернет-провайдера), многие авторы ОС ДЕМОС ушли в коммерцию. В общем, всем внезапно стало не до операционной системы, ориентированной на быстро исчезавшие из обращения советские ЭВМ под натиском хлынувшей в Союз подержанной западной техники. Сегодня дистрибутив ОС ДЕМОС можно отыскать на сайтах с архивами старого софта, правда, для её запуска понадобится эмулятор PDP-11 или ДВК. Многие специалисты, работавшие над этим уникальным проектом, продолжают трудиться в сфере IT, используя накопленный в 80-е уникальный опыт и знания.
Автор: Валентин Холмогоров