|
Постановка задачи
|
Что в данном документе
Данный документ описывает начальную постановку задачи по 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 года
- должен быть утверждено голосованием и принято к исполнению