
На рубеже 70-х и 80-х годов XX столетия 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 не увенчалась успехом — система на СМ ЭВМ просто «не завелась».
Тем не менее, советские программисты не отступились и решили во что бы то ни стало испробовать капиталистический 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 были сведены в общий проект, и специалисты Института повышения квалификации Минавтопрома присоединились к коллективу разработчиков ДЕМОС.
Несмотря на то, что создание ДЕМОС де-факто было инициативой рядовых сотрудников вычислительного центра одного из научных институтов, профильные министерства СССР прекрасно осознавали перспективы внедрения UNIX научно-производственном секторе и признавали необходимость адаптации этой ОС для советских компьютеров. Именно поэтому в 1983 году была официально утверждена программа по разработке русскоязычной версии UNIX для ЕС ЭВМ, получившей название «Инструментальная Мобильная Операционная Система (ИНМОС)». Задачу планировалось решить в ходе XII пятилетки, то есть, к 1990 году, а в качестве ответственной организации назначили Институт электронных управляющих машин им. И. С. Брука (ИНЭУМ). Позже часть разработчиков перешла в Институт проблем информатики Академии наук СССР (ИПИАН), где для дальнейшего развития ИНМОС была создана отдельная лаборатория.
ИНМОС, как и ДЕМОС, изначально разрабатывался для ЭВМ СМ-4, код был написан на языке Си, при этом создатели системы сразу разделили ОС на машинно-зависимую и машинно-независимую части с целью последующего переноса платформы на другие архитектуры. Поскольку за основу был взят тот же UNIX 7-й версии для PDP-11, программисты из ИПИАН столкнулись с такими же в точности трудностями в вопросах русификации, обработки и отображения кириллицы, которые к тому времени уже успешно преодолели их коллеги из Курчатовского института. Пикантный момент заключался в том, что до определенного момента эти две команды не подозревали о существовании друг друга: интернета тогда еще не изобрели, а коммуникации между научными учреждениями в СССР, работавшими в разных отраслях, зачастую были весьма ограничены. Таким образом, две независимые группы программистов параллельно работали над решением фактически одной и той же задачи, правда, у создателей ДЕМОС было небольшое преимущество, заключавшееся в том, что они приступили к работе раньше и продвинулись в ней намного дальше конкурентов.
В то же самое время у разработчиков ИНМОС имелся собственный козырь в рукаве: их проект имел статус официального, утвержденного и финансируемого государством, в то время как программисты из Курчатовского института считались, по большому счету, энтузиастами. Это создавало определенные препятствия для внедрения и распространения ДЕМОС, поскольку данный процесс в СССР был предельно забюрократизирован.






Нет комментариев
Оставить комментарий