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