http://osday.ru/http://dz.livejournal.com/Предупреждение: я записывал 1) то, что мне было интересно && 2) то, что успел записать. Если упустил что-то важное - извините, я не специально :)
Конференция, созванная по инициативе легендарного dz, проходила в Институте системного программирования РАН на улице Солженицына. Планировался доклад Брагина про ReactOS (между прочим, как международный проект), но выяснилось, что Брагин заболел и не придёт. Реплика: "Да сейчас ползала встанет и уйдёт, тут народ пришёл, чтобы задать Брагину один вопрос".
Конференцию открыл в 10:00 директор ИСП РАН В.П. Иванников. Он пожелал, чтобы конференция носила технический, а не маркетинговый характер. Вспомнил, что когда 15 лет назад его спросили, кто в России занимается ОС, он не мог ничего сказать, а теперь такие группы появились.
Далее выступил министр связи и массовых коммуникаций РФ Н.А.Никифоров. Меня его выступление порадовало своей адекватностью. Он подчеркнул, что при нынешнем объёме российского рынка Россия не может самостоятельно закрыть все потребности, в т.ч. в ОС. Ни в коем случае не нужно запрещать ввозить те или иные продукты. Но нужно переломить ситуацию монополизации рынка одной страной и даже несколькими компаниями из одной страны. В качестве примера были названы усилия Google, который навязывает производителям андроидфонов безальтернативный GMS. Переломить ситуацию могут страны БРИКС. "Бессмысленно начинать с нуля" - сказал Никифоров. Это можно считать ответом о. Чаплину, который призвал "разрабатывать свои максимально несовместимые с западными программные продукты":
http://mir24.tv/news/society/11715178По мнению Никифорова, надо отпочковывать свои наработки от западных, но следить, чтобы они не оказались сосредоточенными в руках одной компании. Никифоров ратует только за рыночные механизмы и конкуренцию, а в качестве положительного примера был назван OpenStack. Упомянул закон о переносе ранения персональных данных российских граждан в Россию, реализация которого очень сложна.
Владимир Рубанов, директор РОСЫ, высказался в том же ключе, и вообще, начало его доклада выглядело немного "капитанским": берём свободное ПО, дополняем его своими свободными наработками, получаем комьюнити-версию. Дополняем коммерческими наработками, получаем коммерческую версию. "Без opensource в больших проектах не обойтись". Напомнил звучавшие несколько лет назад призывы написать русскую ОС с нуля. Рубанов рассказал об инструментах РОСЫ: Automatic Build Farm (ABF), ROSA Autotest, ROSA Hardware DB. "Не путать технологическую независимость со стремлением
к изоляции".
Илья Мезенцев рассказал об операционных системах, применяемых в изделиях ОАО "РПКБ". Основная их продукция - железо, под которое делаются ОС: RelMK, RelMK32 и новая разработка на базе Minix 3 (Иванников: "микроядерность - потеря perfomance"). Новая система поддерживает POSIX и ARINC 653 (стандартный API для авионики).
Алексей Хорошилов (ИСП РАН) рассказал про свободную реализацию ARINC-653-совместимой ОСРВ. Если для серверных и десктопных ОС написание с нуля бессмысленно, то ОС для встраиваемых систем с нуля разработать вполне можно. За основу была взята оригинальная разработка француза Julien Delan под названием POK. Система конфигурируется из AADL-модели. Докладчик избегал называть по "имени" свою систему, и я спросил, как она называется. В ответ Хорошилов написал адрес:
http://forge.ispras.ru/projects/chpok/ ЧПОК, короче. :)
Далее выступил aen. Он кратко рассказал об истории Альлинукса, который когда-то отпочковался от Mandrake, о том, как они адаптировали apt к rpm... "Мы ещё не думали, как противостоять врагам, мы просто хотели делать что-то
своё".
Новодворский покритиковал любителей делать дистрибутивы-клоны. Во-первых, при этом попадаешь в зависимость от технической политики оригинала. Пример - всем известная история с systemd в Debian. Альтлинукс будет ставить systemd по умолчанию, но сохранит совместимость с другими инитами. Во-вторых, у оригинала может измениться и лицензионная политика. Сейчас, пожалуй, единственный оставшийся полностью свободный дистрибутив - это Debian, особенно после присоединения CentOS к Red Hat.
После "кофе-брейка" началась секция промышленных ОС.
Александр Годунов (НИИСИ РАН) рассказал про ОС РВ Багет 3.0. Институт занимается разработкой и внедрением процессоров архитектуры MIPS. Предыдущая ОС, Багет 2.0, была однозадачной ОС без защиты памяти, причём полная поддержка POSIX там появилась раньше, чем в Linux. В Багет 3.0 защита памяти уже есть. Багет 2.0 (ос2000) поддерживал архитектуры MIPS и Intel, Багет 3.0 (ос3000) - только MIPS. ОС
поддерживает POSIX 1003.1 и ARINC-653. Докладчик рассказал о разной терминологии POSIX 1003.1 и ARINC-653 (в частности, о понятии процесса) и о сложных моментах их одновременной поддержки. Порождение процессов по ARINC возможно только при инициализации, и им занимается отдельный человек. Потоки процессов в ARINC конкурируют только в рамках одного процесса. Понятие каналов. Ядро Багета написано с нуля, использовано некоторое количество BSD-кода. Готовится поддержка ARM v8 (Байкал).
Михаил Филиппов (Parallels) рассказал об истории проекта Parallels Containers for Windows (за 10 лет до Microsoft). Докладчик признал, что для Windows в отсутствие исходников решать такие задачи намного сложнее. При разработке использовался реверс-инжиниринг. Собственно, первый вопрос (который сидящий впереди меня слушатель снял у меня с языка): нет ли тут нарушения лицензии? Филиппов ответил, что MS им претензий не предъявлял. Одна из ключевых особенностей проекта
- файловая система с копированием, позволяющая клонировать ПО на много контейнеров (в сочетании с шаблонами прикладного ПО). Ещё одним вопросом к докладчику было чьё-то напоминание о печальной судьбе проектов, партнёрствовавших с Microsoft.
Доклад про ОС Эльбрус (Трушкин, Кравцунов, МЦСТ). Архитектуры Эльбрус и SPARC. Предыдущая и текущая версия ОС Эльбрус построены на основе Debian Lenny и Debian Wheezy соответственно. Компилятор lcc, совместимый по командам с gcc. Особенности архитектуры эльбрусовских процессоров - "широкое" слово команд, позволяющее
выполнить несколько команд за 1 такт, и "защищённый режим", позволяющий специальным флагом отличать команды от данных. Оборотной стороной является высокое энергопотребление, с которым они сейчас борются. Аудитории было продемонстрировано несколько кристаллов в упаковке, один из которых я подержал в руках.
После обеда перед собравшимися выступил уже знакомый Алексей Хорошилов с докладом о верификации операционных системах в ИСП РАН. Инструментарий: coverity, собственные рзработки T2C и Svace. Специалисты института протестировали 1532 функии LSB core, отправлено немало багрепортов в ядро Linux. Работа с НИИСИ. Понятие дедуктивной верфикации.
Вместо Брагина с развёрнутым докладом выступил Антон Бондарев (проект Embox), который сначала планировал ограничиться кратеньким докладом вначале. Антон ответил на тот вопрос, который, как он предполагает, слушатели хотели задать Брагину: зачем это нужно - разрабатывать ОС с нуля? В его случае это нужно, в частности, для облегчения верификации и сертификации. Сначала он хотел взять облегчённое ядро Linux, и всё равно там слишком много кода. Embox - ОС для встраиваемых систем, распространяется по лицензии BSD из 2 условий. Авторы нашли ошибки в qemu и binutils. Система генерируется из DSL-описания. Поддерживаются Qt и Java ME. Qt автор поддерживать не хотел, ибо делать рантайм для C++ тяжело, но заказчики убедили.
Поддерживается несколько платформ, в частности, LEGO Mindstorm.
https://code.google.com/p/embox/ Под занавес, после последнего кофе-брейка, выступил Завалишин. Он не стал подробно рассказывать про "Фантом" (предполагается, видимо, что о нём все слышали), а сфокусировался на ряде интересных проблем, которые приходится решать при разработке. В частности, что делать, если программа в user space сделала системный вызов, поймала там мьютекс, ждёт и тут система выключается? Обычная ОС просто завершила бы программу, но не "Фантом", который обещает программам "вечную жизнь". Рассмотрел несколько вариантов решения. Также для "Фантома" достаточно сложно реализовать сборщик мусора.
Дискуссии продолжались ещё долго. Я ушёл в 7-м часу, поскольку мне нужно было на поезд.