Вопросы, на которые должен ответить разработчик ОС
Автор: sto
Дата: 4.04.2003
Раздел:
Разработка ОС
Прежде чем начинать разработку ОС, вы должны ответить себе на множество
вопросов, среди которых есть как философские (например "зачем писать
собственную систему, ведь их существует оооооочень много"?), так и
практические. Мы с вами поговорим о вопросах второго типа. Здесь я написал
вопросы и мои собственные ответы на них (связанные с моим проектом).
Вероятно что ваши ответы будут другими в зависимости от ваших нужд.
Подумайте, подумайте и еще раз подумайте, прежде чем начинать
программировать ОС.
Итак, вопросы для разработчика ОС:
1.
Какова первичная цель моей ОС? Кто будет ее использовать:
- Если
это обычная десктоп-система для людей без особых технических знаний, вы
должны предоставить хорошую совместимость с различным программным и
аппаратным обеспечением, множество драйверов и т.п.
- Если это hi-end
система для дизайнеров CAD/CAM, то подумайте о производительности,
качестве ввода/вывода информации.
- Если это система реального времени
для профессиональных программистов, подумайте об определенном времени
ответа на запросы, легкой расширяемости, хорошо документированных
исходниках (если вы хотите распространять исходники системы)
Для
моего проекта я решил написать небольшую ОС для экспериментов и лучшего
понимания принципов работы ОС (наиболее близко к варианту 3 в
вышеприведенном списке). Так что я попытаюсь задокументировать исходники
так хорошо, настолько это возможно. Проект является open-source и freeware
(а также enjoy- и study-ware ;0) ).
2 Какие платформы
собирается поддерживать ваша ОС?:
- На какие типы платформ она
нацелена: настольные или встроенные системы?
- Будет ли она
мультиплатформенной?
- Будет ли поддерживать
мультипроцессирование?
- Будет ли работать наверху других
ОС?
Мой проект нацелен на платформу Intel с одним процессором
(нет поддержки мультипроцессирования)
3 На какой платформе я
буду разрабатывать ОС? Какие инструменты мне нужны?:
- Где я буду
разрабатывать ОС? На компьютере какого типа? С какой ОС?
- Могу ли я
использовать существующие компиляторы и компоновщики? Или нужно будет
писать все с нуля?
- Сколько мне придется заплатить за эти
инструменты?
- Могу ли я получить исходные коды для используемых
компиляторов и компоновщиков?
- Должен ли я буду писать какие-то
инструменты самостоятельно? Какие именно?
4 Могу ли я
использовать уже написанный код?
- Могу ли я использовать код
написанный другими? Работает ли он хотя бы частично?
- Существуют ли
похожие проекты?
- Где я смогу получить документацию и
помощь?
5 Как точно будет выглядеть моя ОС?
- Как она
будет загружаться?
- Будет ли она многозадачной?
- Как будут
распределяться ресурсы между приложениями?
- Какая модель памяти будет
использоваться?
- Какая файловая система будет
использоваться?
Перевод © 2003 Lonesome
Оригинал: http://www.openbg.net/sto/os/index.php