Генеральный план развития 3OSВерсия 0.9 от 21.06.2004 |
0. Введение
1. Текущие цели проекта
Этот документ расписывает основные текущие задачи, стоящие перед группами разработки и их приоритетность.
Во-первых стоит сказать, что время переходить к коду пришло. Поэтому, в первую очередь должны развиваться направления, подразумевающие реализацию тех или иных идей в коде. В первую очередь, конечно, это начало начал - ядро операционной системы. Но, в то же время необходимо проверять и идеи прикладного характера, даже не дожидаясь готовности своего ядра.
Далее это описывается подробно, по направлениям, выделенным в документе об организации проекта.
Основные задачи этого направления - обеспечивать работу группы. Они связаны, в первую очередь, с ведением документации и поддержанием сайта.
Лицензия
Первейшая и срочнейшая задача, стоящая перед группой - это разработка лицензии. Здесь все ясно, без лицензии мы не можем публиковать свои исходные коды, а это мешает нам набирать новых разработчиков.
Сопровождение документации
Основная задача здесь - это интеграция документации с сайтом. То есть встраивание движка ведения документации в сайт и обеспечение интерфейса для удобного ее редактирования. В общем здесь необходимо обеспечить минимальную зависимость внешнего вида и состояния документации от кого бы-то ни было.
Работа конференции
Здесь также стоит отметить создание средства для слияния конференции и ее веб-представления. Здесь необходимо предоставить удобный веб-интерфейс для изучения наших архивов и, для существующих конференций, сделать контроль тем. То есть контроль за тем, что дает конкретная нить обсуждения.
Распеределение задач
На эту группу также ложится разработка системы, интегрированной в сайт, которая обеспечит управление текущими задачами. Это позволит поднять эффективность работы группы и обеспечить контроль выполнения оной отдельными участниками.
Двигатель прогресса в проекте должен быть загружен детальными проработками существующих идей, и, конечно же, изложением новых. Все идеи должны реализовываться, в первую очередь, под x86 платформу, под собственное ядро, кроме тех случаев, когда текущая версия ядра не обеспечивает должной функциональности, или имеются иные причины (как опробование идей под виртуальной машиной).
Удаленные объекты
Концепция удаленных объектов должна быть максимально проработана. Проработана до реализации ее под x86 ядром и виртуальной машиной.
Система прав в 3OS
Необходимо разработать систему прав доступа в 3OS. Основные задачи - реализовать максимально гибкую, но жесткую политику прав пользователя для 3OS.
Ядро
Ядро тоже относится к фундаментальному направлению, однако здесь стоит раскрыть поподробнее.
LKM (ELF-модули) в ядре (диспетчер, концепция связывания объектов)
Это, в первую очередь, решение вопроса о существовании формата хранения модуля LKM и
принципа его получения из исходного кода. Далее - разработка алгоритма и структуры диспетчера
связывания объектов в LKM по принципу DLCL и инструментов для создания самого модуля,
осуществление в коде разработанного алгоритма и тестирование на ядерном "полигоне".
Загрузка и развертывание старт-пакета ядра (прямой шаг к Гибернации)
Основной и предварительный этап - разработка формата хранения и способов создания на основе стандартизованого инструментария такого пакета. Предпослыка - статья документации "Процесс загрузки 3OS.Embedded" на печке.
Этап 2 - Схема развертывания в ОП и методы загрузки старт пакета с любого носителя.
Этап 3 - проработка инструментов и объекта ядра в части алгоритма работы.
Этап 4 - осуществления в коде разработанных алгоритмов.
Этап 5 - тестирование на ядерном "полигоне".
Перевод в LKM большей части ядра 3ОС
Этап 1 - выделение существующих модулей ядра в LKM.
Этап 2 - перевод в формат LKM модулей.
Этап 3 - тестирование на ядерном "полигоне".
Разработка средств для работы с адресными пространствами потоков
Разработка средств управления потоками
Магистрали
После проработки вопросов, касающихся работы потоков в системе, необходимо рассмотреть конкретные применения магистралей в системе и двигаться к реализации в коде.
Интерфейс
На данном этапе задача вполне конкретны - обеспечить поддержку графического режима для 3OS. То есть, скоординировавшись с группой разработки ядра, обеспечить корректный переход в графический режим для большинства используемых видео-карт. Плюс к этому, необходимо обеспечить теоретическую проработку концепции интерфейсов в 3OS.
Единое пространство
Необходимо опробовать концепции единого пространства под виртуальной машине.
Единая среда
Так как это включает в себя и исполняемый модуль 3ОС, то здесь есть пересечение разработок с разработками ядерщиков. Стало быть, здесь необходимо пытаться отработать технологии под виртуальной машиной, но, в то же время, помогать ядерщикам в дальнейшем развитии.
Это направление занимается разработкой программного обеспечения в общем смысле.
Виртуальная машина 3OS
Необходимо оценить возможности реализации виртуальной машины 3OS под Windows и Linux. В зависимости от этого, выбрать платформу для первой реализации виртуальной машины и приступить к ее реализации.
IDE
На начальном этапе необходимо переписать старый скрипт компиляции ядра под OpenOffice. Далее необходимо заняться разработкой OpenOffice-плагина для браузеров, который позволил бы просматривать и редактировать документы OpenOffice в браузере и отсылать изменения на сервер.