Алексей Брагин

Avatar1

Алексей Брагин родился в Москве в 1983 году, выпускник МГТУ им. Н.Э.Баумана. Начал заниматься операционными системами с 2002 года внеся значительный вклад в развитие проекта ReactOS, где занимался непосредственно разработкой ядра и остальных частей ОС, а затем был избран координатором проекта, а также президентом фонда «Реактос». Представлял проект на многочисленных международных выставках и конференциях. Алексей ведёт учебную и научную работу, напрямую связанную с операционными системами – разработан и читается собственный курс лекций и лабораторных работ в МГТУ им.Н.Э.Баумана, проводится ряд научно-исследовательских проектов, в том числе в сотрудничестве с университетами Бельгии и Франции.


Операционная система ReactOS

Введение. Операционная система ReactOS (далее – ОС ReactOS) – это современная операционная система с открытым исходным кодом, предназначенная для работы  с процессорами  семейства x86 и  программным обеспечением, оборудованием и драйверами, созданными для семейства операционных систем Windows NT 5.0. ОС ReactOS создаётся  с 1998 года слабо-организованной командой разработчиков по всему миру тем методом, который в настоящее время называется crowdsourcing [1] и используется множеством других проектов с открытым исходным кодом. С 2004 разработка проходит под руководством некоммерческих организаций Фонд «Реактос» (Российская Федерация) и ReactOS e.V. (Германия). Отличительной особенностью ОС ReactOS является совместимость с программным обеспечением, использующем интерфейс WinAPI, а также с драйверами устройств, разработанными для семейства операционных систем Microsoft Windows NT. Это достигается путём использования архитектуры ядра ОС ReactOS, подобной архитектуре ядра Windows, а также изучения недокументированных и не стандартизованных программных интерфейсов. Для разработки ОС ReactOS применяются различные методы, подходы и модели. Исторически одними из основных стали  методы «чистой» обратной разработки и «экстремального программирования», совмещенные с использованием итерационного подхода.

Состав ОС. ОС ReactOS содержит в себе всё то, что минимально необходимо для работы системы, а также для её разработки. В отличие от других операционных систем с открытым исходным кодом, например, Linux, нет необходимости в создании т.н. «дистрибутивов», т.к. ОС ReactOS – это не только ядро, но и комплект минимально-необходимого программного обеспечения и драйверов. Жёсткие правила, регламентирующие включение какого-либо программного модуля в состав ОС ReactOS отсутствуют, однако большинство разработчиков ориентируется в принятии решения о включении на следующие пункты:

  1. Если модуль с подобной функциональностью не является частью базовой поставки ОС Microsoft Windows 2003, то он не должен включаться в состав ОС ReactOS.;
  2. Если модуль не является необходимым для установки системы или для её разработки, и может быть самостоятельно установлен пользователем в дальнейшем, то он не должен включаться в состав ОС ReactOS.

Таким образом, становится возможным ограничить то программное обеспечение, которое включается в состав ОС ReactOS, сделав систему удобной для использования в различных целях, и в будущем избежать проблем, связанных с «навязыванием» пользователю определённого программного обеспечения (как, например, включение одного вида интернет-браузера в случае с ОС Microsoft Windows, и прочее).

Архитектура ядра. Ядро ОС ReactOS максимально возможно приближено по своей архитектуре к ядру ОС Microsoft Windows 2003 SP1. Ядро этой операционной системы достаточно хорошо описано в [2,3,4], а также в [2] на стр. 47 приводится общая структура ядра ОС Windows и его взаимодействия с системными процессами, службами, приложениями и подсистемами окружения. Основная ветка разработки ОС ReactOS под названием trunk реализует именно такую архитектуру. Однако, в процессе реализации разработчики далеко не всегда «копируют» те алгоритмы и особенности, присутствующие в ОС Windows 2003 SP1. В последнее время наоборот наблюдается тенденция по возможности делать внутреннюю реализацию алгоритмов максимально отличающейся от таковой в ОС Windows 2003 SP1. Это не только позволяет обезопасить проект от возможных юридических проблем в будущем, но и упрощает дальнейшую разработку и поддержку. Например, было документированы случаи, когда в ядре определённых версий Windows существовали (и, вероятно, существуют до сих пор) ветки кода, предназначенные для некорректно написанных драйверов устройств из 1990-ых годов, либо для какого-либо программного обеспечения, работоспособность которого для компании Microsoft была очень важна. ОС ReactOS не ставит для себя задачи и не имеет коммерческих интересов в поддержке какого-либо производителя программного или аппаратного обеспечения, поэтому все подобные участки кода по возможности исследуются, но их реализация включается в ОС ReactOS только в исключительных случаях.

Исследование программных интерфейсов. Для обеспечения совместимости с программным обеспечением и драйверами, разработанными для ОС семейства Microsoft Windows NT, ОС ReactOS должна предоставлять такие же программные интерфейсы (Application Program Interface, далее - API), с помощью которых это программное обеспечение и драйвера взаимодействуют с другими частями операционной системы. В основном, для целей обеспечения совместимости в ОС ReactOS важными являются два программных интерфейса – WinAPI (для прикладного ПО) и Native API (в основном, для драйверов). WinAPI достаточно хорошо описан в [5], частично стандартизован (ECMA-245, а также инициативой Public Windows Interface компании Sun Microsystems). Недокументированные особенности этого интерфейса тоже описаны в литературе. Тем не менее, даже официальная документация MSDN содержит достаточно много ошибок, которые не позволяют в полной мере реализовать совместимую функциональность, либо документация умалчивает о некоторых дополнительных параметрах функций, поведении функции при недокументированном сочетании входных параметров и прочем. Для решения этой проблемы совместно с проектом Wine был разработан обширный набор тестов, который исследует интерфейс WinAPI методом «чёрного ящика» и автоматически проверяет каждую ревизию ОС ReactOS. Аналогичная ситуация с интерфейсом Native API, но покрытие тестами гораздо меньше, чем в случае покрытия интерфейса WinAPI.

С результатами работы автоматизированной системы тестирования можно ознакомиться по адресу https://reactos.org/ru/testman

Возможные юридические проблемы. Как уже говорилось выше, основной целью ОС ReactOS является обеспечение совместимости с существующим программным и аппаратным обеспечением, разработанным под другие виды операционных систем. Это существенно повышает риски возможных юридических проблем со стороны компаний-производителей операционных систем и программных продуктов. Рассмотрение этих проблем выходит за рамки данного доклада, однако, эти вопросы уже неоднократно рассматривались различными международными организациями. В России на данный момент наиболее полно правовые аспекты разработки и использования ОС ReactOS изложены в [6].

Программа

  • 9.30 - 10.00. Регистрация
  • 10.00. - 11.45. Открытие конференции, анонсы проектов
    avatar
    Директор ИСП РАН
    Иванников В. П.
    avatar
    Министр связи и массовых коммуникаций РФ
    Никифоров Н. А.
    Краткие сообщения о текущих проектах
    avatar
    Линейка операционных систем ROSA
    Владимир Рубанов
    В докладе будут рассмотрены вопросы создания отечественных программных продуктов на основе компонентов с открытым кодом как эффективного механизма импортозамещения, позволяющего строить технологически независимые системы гораздо быстрее, чем при разработке "с нуля". Такой подход позволяет в "мирное время" пользоваться постоянно возникающими новыми достижениями мирового прогресса, одновременно сохраняя контроль над полным результатом. Будут рассмотрены необходимые условия, ресурсы и технологические процессы, которые должен обеспечивать локальный производитель/крупный пользователь для обеспечения достаточной независимости, позволяющей локально развивать, исправлять и поддерживать продукты даже в гипотетических условиях полной международной изоляции. Подробнее
    avatar
    Операционные системы, применяемые в изделиях ОАО “РПКБ”
    Илья Мезенцев
    Разработанная ОАО «РПКБ» ОС РВ RelMK 32 используется в настоящее время более чем в 10 модификациях БЦВМ и других бортовых систем в составе бортового радиоэлектронного оборудования летательных аппаратов. Развитие средств вычислительной техники и увеличение номенклатуры применяемых микропроцессоров ставит перед ОАО «РПКБ» задачу стандартизации программного обеспечения, в том числе и ОС РВ. В докладе рассматриваются пути решения этой задачи и трудности, которые возникли перед ОАО «РПКБ».Подробнее
    avatar
    ОС Embox: решение для встроенных систем
    Антон Бондарев
    В докладе будет раскрыты аспекты разработки встроенного ПО на примере ОС реального времени Embox, разрабатываемого на математико-механическом факультете СПбГУ. Embox — открытая операционная система реального времени, поддерживает шесть процессорных архитектур (x86, ARM, MIPS, Microblaze, SPARC, PPC), сетевой стек, несколько файловых систем(FAT, ext2/3/4, jffs2, nfs), несколько языков программирования (java, python, lua, lisp, C/C++) и применяется в различного рода встроенных и телекоммуникационных устройствах, например, маршрутизаторах, потоковых шифраторах, контроллерах управления светодиодами. Доклад основан на проблемах, с которыми приходилось сталкиваться участникам проекта Embox, поскольку проект существует уже пять лет, и он использовался в различных областях, спектр вопросов довольно широкий.Подробнее
    avatar
    Свободная реализация ARINC-653-совместимой ОС реального времени
    Алексей Хорошилов
    avatar
    Проект ALT Linux
    Алексей Новодворский
    Проекту ALT Linux в начале будущего года исполняется 14 лет. В сообщении будет рассказано про инфраструктуру проекта, принципы организации и разработки, основные продукты,перспективы. Особо обсуждаются дистрибьюция решений, поддержка аппаратных платформ, задачи разработки клиентских ОС и решений масштаба предприятия.Подробнее
  • 11.45-12.15. Кофе-брейк
  • 12.15-14.15. Промышленные операционные системы
    avatar
    Операционная система реального времени Багет 3.0
    Александр Годунов
    Операционная система реального времени Багет 3.0 предназначена для разработки систем жесткого реального времени. ОС РВ Багет 3.0 является развитием ОС РВ Багет 2.0, которая используется с 2000 г. в более чем 100 организациях. Багет 3.0 также как ОС РВ Багет 2.0 предоставляет пользователю интерфейс, базирующийся на широко распространённом в настоящее время стандарте POSIX 1003.1. Кроме того Багет 3.0 поддерживает более современную спецификацию ARINC 653, разработанную специально для систем реального времени.Подробнее
    avatar
    Контейнеры для Windows: за 10 лет до Microsoft
    Михаил Филиппов
    В начале октября 2014 года Microsoft объявила о партнерстве с Docker, в рамках которого будет представлена реализация контейнеров для будущей версии ОС Windows Server, ожидаемая в 3 квартале 2015 года. Для поддержки контейнеров Microsoft воспользуется собственной технологией, разработанной в исследовательском проекте Drawbridge. Технология виртуализации Drawbridge похожа на технологию, применяемую в проекте Wine, позволяющем запускать приложения Windows на компьютерах с UNIX-подобными операционными системами. Ключевая особенность обеих технологий заключается в том, что виртуализация аппаратуры (процессора, памяти, устройств ввода-вывода) не требуется, а эмулируется исключительно исполняемая среда ОС Windows. Преимущество такого подхода - в относительно небольших затратах на виртуализацию и возможность реализовать контейнеры исключительно в пользовательском режиме исполнения ОС. К недостаткам можно отнести трудности в обеспечении совместимости приложений, ведь для этого необходимо эмулировать весь Windows API, который на данный момент насчитывает тысячи вызовов. Проблемы, решением которых могли бы стать контейнеры, появились не сегодня, да и собственно сами контейнеры в ОС на базе ядра Linux успешно используются уже многие годы. Пионером и лидером в продвижении контейнерных технологий является компания Parallels, которая, помимо продуктов для Linux, вот уже без малого 10 лет предлагает свою собственную реализацию контейнеров для Windows. Подход, реализованный в Parallels, основан на виртуализации ядра ОС, которое может запускать произвольное количество пользовательских сред Windows, доступных по сети и по протоколу RDP. Это и есть Parallels-контейнеры для Windows.Подробнее
    avatar avatar
    Операционная система Эльбрус и микропроцессоры серии Эльбрус в бортовых системах реального времени. Технические подробности, возможности и перспективы развития.
    Константин Трушкин и Евгений Кравцунов
    В докладе речь пойдет о возможности применения микропроцессоров Эльбрус в бортовых системах и исследованиях особенностей реализации ОС реального времени, проведенных в этом направлении в компании МЦСТ.
    Будет рассказано о линейке процессоров Эльбрус, их архитектуре и характеристиках.
    Приводятся результаты измерений производительности на универсальных бенчмарках, полученные для микропроцессоров "Эльбрус-2С+". Обсуждается поддержка управления энергопотреблением и проблемы реализации операционной системы реального времени на архитектуре с относительно большим характерным временем входа в прерывание.
    Также речь пойдёт о технологии защищённых вычислений, предоставляющей уникальные возможности по обеспечению информационной безопасности. Доклад также описывает варианты использования защищенного режима на уровне операционной системы.Подробнее

    Операционная система Эльбрус и микропроцессоры серии Эльбрус в бортовых системах реального времени

    ОC РВ Эльбрус в бортовых системах реального времени

  • 14.15 - 15.15. Перерыв на обед
  • 15.15-16.45. Инструментарий и экспериментальные операционные системы
    avatar
    Верификация операционных систем в ИСП РАН
    Алексей Хорошилов
    В докладе будет представлен опыт ИСП РАН по разработке и применению различных методов верификации операционных систем. В число рассматриваемых входят следующие направления: - статическая верификация модулей ядра ОС Linux - дедуктивная верификация компонентов ядра ОС Linux: - систематическое тестирование устойчивости к сбоям ядра ОС; - функциональное тестирование на основе моделей; - статические и динамические методы поиска гонок в ядре; - статические и динамические методы верификации стабильности; программного интерфейса ОС; - оценка накладных расходов ОС.Подробнее
    avatar
    Операционная система Phantom OS
    Дмитрий Завалишин
    ОС Фантом — операционная система с открытым исходным кодом, разрабатываемя компанией Digital Zone. Система базируется на концепции неизбывной (persistent) виртуальной памяти, ориентирована на управляемый (managed) код и нацелена на применение в носимых и встроенных компьютерах. ОС Фантом не опирается на классические концепции Unix-подобных систем. В отличие от их концепции «всё есть файл», Фантом базируется на принципе «всё есть объект». Основные отличительные черты операционной системы Фантом. Управляемый код, защита памяти на уровне объекта (а не процесса). Отсутствие арифметики указателей в управляемом коде. Глобальное адресное пространство, весьма эффективные и дешёвые IPC. Персистентность - прикладной код «не видит» перезагрузок ОС и может жить вечно, отсюда отсутствие потребности в понятии «файл» - любая переменная или структура данных может храниться вечно и при этом быть доступна напрямую по указателю. В настоящий момент система существует в виде альфа-версии для процессора ia32. В работе — перенос на процессор ARM и начат перенос на MIPS и amd64.Подробнее
  • 16.45-17.15. Кофе-брейк
  • 17.15-19.00. Общая дискуссия, закрытие конференции

Организаторы

Партнёры

Информационные партнеры

Информация

Уважаемые коллеги! Для прохода в здание ИСП РАН просим принести документ, удостоверяющий личность.