- Статьи для начинающих -

   
- Назад на оглавление -
Вопросы, на которые должен ответить разработчик ОС

Автор: 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

Хостинг от uCoz