Главная » 2016 » Июнь » 20 » RB25. Новая европейская ОС
13:15
RB25. Новая европейская ОС
Начало обсуждения темы см. в моей предыдущей заметке: RB24. Две культуры программирования Европе есть кем и чем гордиться. Назову лишь некоторые имена, многие из которых отмечены высшими наградами профессиональных ассоциаций, включая IFIP, ACM, IEEE Computer Society:Алан Тьюринг, Морис Уилкс, Джеймс Уилкинсон, Чарльз Энтони Хоар, Эдгар Кодд, Тим Бернерс-Ли (все — Великобритания); Конрад Цузе, Карл Адам Петри, Фридрих Бауэр (Германия); Хайнц Рутисхаузер, Никлаус Вирт (Швейцария); Эдгар Дейкстра, Адриан ван Вейнгарден (Нидерланды); Петер Наур, Пер Бринч Хансен (Дания); Оле-Йохан Дал, Кристен Нюгард (Норвегия); Сергей Алексеевич Лебедев, Андрей Николаевич Колмогоров, Андрей Андреевич Марков, Сергей Львович Соболев, Моисей Исаевич Шёнфинкель, Леонид Витальевич Канторович, Алексей Андреевич Ляпунов, Сергей Юрьевич Маслов, Виктор Михайлович Глушков, Андрей Петрович Ершов, Валентин Федорович Турчин (СССР); Владислав Турский (Польша); Хайнц Земанек (Австрия); Деннис Цикритзис (Греция).Европа по праву гордится своими достижениями. Среди них:формальная модель алгоритма (Алан Тьюринг); первый компьютер (Конрад Цузе); первый язык программирования (Plankalkul); первая теория трансляции (Хайнц Рутисхаузер); реляционная модель данных (Эдгар Кодд); первый ПК, созданный в университете (Никлаус Вирт, Lilith); воплощение математических моделей в железе и языке программирования (Тони Хоар, Inmos Ltd., CSP, Occam, транспьютер).Среди ведущих парадигм программирования явные европейские корни имеют:структурное программирование (К.Бём, Дж.Якопини, Э.Дейкстра); объектно-ориентированное программирование (Э.Хоар, О.-Й.Дал, К.Нюгард); модульное программирование (П.Наур — Дания, Д.Парнас — США).В отношении языков программирования не так просто определить принадлежность их той или иной школе. Для этого недостаточно знать гражданство авторов — требуется выяснить, где и какое образование они получали, каким научным и инженерным традициям следовали, в каких организациях создавали свои творения. Среди европейских языков программирования в соответствии с таким подходом я бы выделил следующие:Plankalkul (Германия, 1945) Алгол-60 (IFIP, 1960) CPL (Великобритания, 1962) РЕФАЛ (CCCР, 1966) Симула-67 (Норвегия, 1967) Паскаль (Швейцария, 1970) Пролог (Франция, 1972) ML (Великобритания, 1973) Эль-76 (СССР, 1976) CSP (Великобритания, 1978) Модула-2 (Швейцария, 1979) Z (Франция-Великобритания, 1977) Occam (Великобритания, 1983) ABAP (Германия, 1984) Eiffel (Франция, 1986) Erlang (Швеция, 1987) Оберон (Швейцария, 1988) Python (Нидерланды, 1991) OCaml (Франция, 1996).Если говорить о достижениях европейского программирования, которые видны в повседневной жизни, достаточно упомянуть всего три:World Wide Web (CERN, Швейцария, 1991) Активные (веб)-документы (браузер+аплеты, Oberon System, ETH Zurich, Швейцария, 1991-1993) Linux (University of Helsinki, Финляндия, 1991).К сожалению, мы редко об этом задумываемся. Если попросить какого-нибудь специалиста назвать десяток операционных систем, отличных от мэйнстрима (UNIX, DOS, Windows), то он наверняка окажется в несколько затруднительном положении. А если попросить ещё назвать такой десяток именно европейских — тем более. Хотя как раз-таки в сфере инфраструктурной, сфере системного программирования Европа смогла сохранить ценности и традиции своей школы. Вот лишь несколько примеров:ОС на основе активных документов, Oberon System (ETH Zurich, Швейцария, 1991-1993); ОС реального времени MARS (Технический университет Вены, Австрия, 1992); Nemesis (экзоядро, University of Cambridge, University of Glasgow, University of Twente, Swedish Institute of Computer Science, Великобритания-Нидерланды-Швеция, 1997); кластерная ОС Plurix (университет Ульма, Германия, 1999); L4 (микроядро, университет Карслруэ, Технический университет Дрездена, Германия, 1999); встроенная ОС Jbed (Oberon microsystems, Esmertec, Швейцария, 1999); встроенная ОС Camille (экзоядро, INRIA, Франция, 2000); виртуальная ОС-машина Xen (Кембриджский университет, Великобритания, 2003); ОС на основе активных объектов, Bluebottle (ETH Zurich, Швейцария, 2003); DEMOS (аппаратная реализация ОС Inferno на FPGA, университет Йорка, Великобритания, 2004); LSE/OS (наноядро, Epita System Laboratory, Франция, 2005).Постепенно мы подошли к тому проекту новой ОС, которому были посвящены прямо и косвенно практически все мои последние заметки. Думаю, проницательный читатель уже догадался, к чему я клоню. В самом деле, если за основу разработки новой ОС берётся модель открытого исследовательского программирования, где подразумевается участие специалистов в НИОКР на некоммерческой основе, если делается ставка на наукоёмкость, если технологическое совершенство положено во главу угла, то рассуждения относительно отечественной государственной ОС офисного направления выглядят несколько странно. Ведь если создаётся такая ОС (в том смысле, что всё готовится для того, чтобы ей придали такой статус) с прицелом под офисную работу, то зачем городить огород из существенных наворотов по инструментарию, по математике? Можно же сделать проще. Другой вопрос: если делается просто ещё одна экспериментальная ОС, искусства ради, то чем этот проект выделяется на фоне остальных? А если не выделяется, то он теряет главные плюсы своей открытости — концентрацию интеллектуальных ресурсов для решения масштабной задачи. На самом деле рассматривался лишь один из возможных вариантов сценария перенацеливания ОС после завершения стадии НИОКР. Т.е. при переходе к полноценному производству. Пока об этом можно говорить весьма умозрительно. В преддверии старта было интересно узнать мнение общественности по двум моделям — чисто экспериментальной ОС (ради искусства) и государственной ОС (ради общественной пользы). И в рамках форума "e;Королевства Delphi"e;, выбранного в качестве пробного камня проверки идей среди отечественного Паскаль-сообщества, такая обратная связь была получена. На самом деле, задумка несколько иная. Абсолютно не отрицающая то, что было изложено ранее. Государственная ОС для проекта создания новой ОС — это: 1) вариант продвижения ОС на внутренний рынок России; 2) возможность финансовой поддержки стадии производства и, возможно, стадии НИОКР. Для государственной ОС требуется полноценная стадия производства, до которой дело из-за отсутствия должного финансирования и политических поветрий может так и не дойти. Т.е. НИОКР будут сделаны, а самой заявленной ОС (по независящим от группы причинам) не будет. Значит, минимизируя риски, мы должны идти по другому пути, который позволит ограничиться в худшем случае НИОКР, получив при этом нормальную ОС. То, как задумано продвижение проекта, с большой долей вероятности приведёт к появлению в нём не одной дюжины светлых голов, которым по силам решить планируемые задачи. На начальном этапе в ближайшие месяцы требуется хорошо продумать взаимосвязанные контуры проекта, провести эскизное проектирование, добиться целостной картины с сохранением вариативности, требующей дополнительных исследований. Без коллективного обсуждения и консультаций с экспертами (даже при наличии вполне конкретных намёток и проработок) это затруднительно. Проект будет набирать свой вес постепенно. Это неизбежно вызовет волну неприятия. Со стороны самых разных лиц и групп. Я ожидаю резкое противоборство проекту. Особенно внутри России. Но этот вопрос был проработан ещё до старта и предусматривает разные сценарии защиты от атак. Начало проекта было запланировано на осень, но активность В.Алксниса вынудила начинать раньше. Казалось бы, если проект не политический, а в первую очередь научно-технологический, то откуда будут исходить риски? Всего несколько моментов: 1. В основе проекта лежат технологии, которые не вписываются в магистральное развитие (в мэйнстрим). При постоянном повышении статусности проекта это будет вызывать заметное недовольство. 2. Проект посягает на сложившееся статус-кво, которое устраивает в России очень многих. 3. Проект при позиционировании как альтернативы инфраструктуре от Microsoft имеет наглость отделять себя от Linux-направления, которое рассматривается как единственный возможный выбор в любой перспективе на внутреннем рынке. 4. Проект будет оттягивать к себе сильные кадры и приковывать повышенное внимание. 5. Сопутствующие проекту материалы, которые увидят свет, посягают на глубинный пересмотр сложившихся стереотипов в области программирования, которые пропитали насквозь не только сообщество независимых разработчиков, ИТ-индустрию, но и академическую среду. Некоторые принципиальные моменты в отношении проекта вполне можно озвучить уже сейчас. Игнорирование лежащих в основе проекта Оберон-технологий как в мире, так и в России вызвано целым рядом причин, которые данный проект (его полезное побочное следствие) способен устранить: 1. Проект уходит от замкнутости ETH-разработок и будет использовать мощный потенциал OpenSource-движения, реализуя наиболее радикальную форму воплощения идей сообщества открытых исходных текстов (public domain под зонтиком Open Research Programming). 2. Проект станет одной из важнейших точек притяжения последователей европейской школы программирования в противостоянии с моделью американизации мировой ИТ-индустрии. И это один из главных стратегических моментов всего проекта. Один из рисков в данной ситуации — это профанация идей, спекулирование на патриотической теме, что даёт возможность нашим оппонентам замыливать суть проекта. В том числе и по этой причине задача ставится ещё более серьезная (при этом посильная), чем просто новая отечественная ОС. Вот логика рассуждений. 1. Патриотический подтекст (отечественная ОС, русская ОС) — палка о двух концах. Он неизбежно у многих лишь усиливает скепсис. 2. Мы не можем позиционировать свою ОС как русскую (российскую) по целому ряду причин. И далеко немаловажный из них — богатая география участников, выходящая за рамки одной страны. Нет смысла делать из системы яблоко раздора на национальной почве. Будет она государственной в России — пусть тогда с полным правом зовётся российской. А так — будет самостоятельной, без привязки к стране. 3. Для России справедливо утверждение "e;Нет пророка в своем Отечестве"e;. Т.е. если делаем для своей страны и активно об этом заявляем, то ни уровень проработки, ни квалификация кадров почти ничего для общественного мнения не значат. Есть устойчивый стереотип: у нас для себя делать не умеют. Какой напрашивается вывод? Мы будем строить ОС с прицелом на Европу, а не просто на Россию. Для этого есть все предпосылки. Большое турне Вирта в Россию осенью 2005 г. и консультации с ним привели к пониманию того, что европейские специалисты прекрасно отдают себе отчёт в том, что сломать ситуацию с монополизацией рынка и уничтожением науки в компьютерной сфере по силам только мощному интеллектуальному движению со стороны стран бывшего Советского Союза. Мы применяем новейшие проработки, преимущественно европейские, причём такие, которые сами европейцы продвинуть не смогли. Мы закладываем в систему полноценную интернационализацию с прицелом под локализацию на европейские языки. Мы будем под эгиду Европейского центра программирования привлекать сильных научных консультантов из стран Европы. Мы способны выполнить такие НИОКР, которые позволят создать полуфабрикатную перенацеливаемую ОС, при этом её смело можно использовать там, где достаточно сильного ядра, относительно слабого сервисного слоя и почти вырожденного прикладного слоя. Но инструментарий и надёжность должны быть на высоте. Сфера автоматизации научных исследований, где сильны были Modula-2, Oberon, а потом и Компонентный Паскаль, — это ярко выраженная ниша. В которую можно попасть, почти не целясь. Таким образом, проект новой ОС, которая с лёгкой руки Владимира Лося получила название "e;Роса"e; (Rosa), направлен на создание европейской бесплатной открытой перенацеливаемой операционной системы, предназначенной для использования, прежде всего, в сфере автоматизации научных исследований. Системы, которая будет создаваться преимущественно силами независимых специалистов из стран бывшего Советского Союза. Проект "e;Роса"e; будет одним из первых, проводимых под эгидой Европейского центра программирования при участии авторитетных научных консультантов и экспертов. Теперь, думаю, понятно, почему нами используется модель открытого исследовательского программирования Open Research Programming. Понятна ставка на виртовскую школу. Понятна наукоёмкость. Понятен отход от моноязыковой системы. Понятно требование технологического совершенства. И понятен уникальный статус проекта, который за счёт такой идеи способен привлечь к себе на продолжительный период очень сильные кадры.
Просмотров: 349 | Добавил: AdnrNick | Рейтинг: 0.0/0
Всего комментариев: 0
avatar