|  | Постановка задачи | 
Что в данном документе
Данный документ описывает начальную постановку задачи по 3ОС.
Идеология
  - 3ОС является академической системой, т. е. пишется "для себя"
- все разговоры о генеральной концепции, применимости, нише 3ОС и т. п. считаются 
    пустой тратой времени
- на данном этапе 3ОС является freeware и opens-source проектом
- сроки окончания разработки не определены
- по каждому направлению работы допускается существование альтернативных версий/предложений 
    по реализации, и их параллельная разработка
Постановка задачи
  -  разработка масштабируемой в широких пределах ОС для 32- и 64-битной платформы 
    x86 с архитектурой PC
-  система ДОЛЖНА СУМЕТЬ ЗАПУСТИТЬСЯ на любой 32- и 64-битной PC x86-платформе, 
    в т. ч. настольные системы, серверы, PDA
- возможность портирования на другие (не-x86) платформы предусматривается, но 
    не является первоочередной задачей
- разработка ОС ведется поэтапно
- в настоящий момент определяются задачи только первого этапа разработки 3ОС
- порядок работ по любому направлению следующий: создание концепции (постановки), 
    кодирование; далее по тексту подразумевается именно такой порядок работ, без дополнительных 
    уточнений
- задача первого этапа выработка концепций и необходимого набора программного 
    обеспечения, позволяющего "пощупать" ОС в работе 
Задачи первого этапа
  -  выбор средств разработки ядра, драйверов и прикладных программ
- разработка ядра ОС
- разработка вспомогательных средств разработки под 3ОС (преобразователя объектных/выполнимых 
    модулей, компоновщика и т. п.)
- разработка загрузчика ОС
- разработка минимально необходимого набора драйверов устройств, позволяющих получить
 работоспособный вариант ОС на настольном компьютере
- разработка единой VFS, охватывающей все аспекты и способы 
    хранения информации
- разработка драйвера одной из реальных файловых систем
- разработка среды для прикладных программ, независимой от языка программирования
- разработка средств сопряжения с используемыми языками программирования, если 
    требуется
- разработка диспетчера оболочек (интерфейса пользователя)
- разработка оболочки, работающей в текстовом режиме
- разработка минимально необходимого набора прикладных программ, позволяющего 
    провести натурное тестирование ОС
- первый этап разработки считается завершенным после того, как появится возможность 
    выполнения тестового задания
Выбор средств разработки
  -  ядра: Open Watcom C++
- драйверов: Open Watcom C++
- прикладных программ: предлагается среда, независимая от языка программирования
Разработка ядра ОС
  -  обсуждение моделей
- выработка и документальное закрепление концепций ядра
- составление иерархии системных объектов
- принятие полной концепции
- выпуск предварительной версии ядра, ориентированной на использование в embedded-системах
Разработка вспомогательных средств разработки
<обсуждается после утверждения средств разработки>
Разработка драйверов устройств
  -  обсуждение моделей
- написание концепций
- принятие полной концепции ядра и всей 3ОС
- принятие поименного списка устройств, драйвера для которых понадобятся на первом 
    этапе
- этап кодирования
Разработка VFS
Постановка по разработке VFS приведена в отдельном документе.
Разработка среды прикладных программ
  - в настоящий момент требуется согласование с системной группой
Разработка диспетчера оболочек
<обсуждается после утверждения концепции прикладной среды>
Разработка оболочки текстового режима
<обсуждается после утверждения диспетчера оболочек>
Разработка минимально необходимого набора прикладных программ
<предлагается участниками прикладного направления>
Тестовый стенд
  -  настольный компьютер на базе x86-совместимого процессора с архитектурой PC
-  ядро 3ОС
- диспетчер устройств
- набор драйверов для используемого оборудования
- диспетчер оболочек
- оболочка текстового режима
- набор прикладных программ
Тестовое задание
  -  тестовое задание делится на 2 части: системную и прикладную
- в процессе тестирования вначале выполняется системный тест
- после достижения работоспособности системного теста тестирование может вестись 
    одновременно по системной и прикладной части
- в системную часть входит тестирование загрузчика, ядра, диспетчера устройств 
    и драйверов используемых устройств
- к прикладной части относится тестирование диспетчера оболочек, оболочки текстового 
    режима и прикладных программ
- конкретные задания в составе обоих тестов предлагаются участниками соответствующих 
    направлений
Сроки
  - сроки выполнения задания не определены
Утверждение
  - представлено на рассмотрение 24 марта 2003 года
- должен быть утверждено голосованием и принято к исполнению