qB, затачивая когти...
Дата: 13/03/05; Оригинальный источник: www.sysbin.com
Я помню nukee-а как человека у которого на все вопросы находились ответы, однако об сегодняшнем nukee-е и его операцинной системе лучше узнать от него самого. Но перед этим пару слов о концепциях заложенных в qB, это: ОО пикоядро, поддержка POSIX, поддержка многопроцессорных систем, реальное время и переносимость ос. А теперь перейдём к главному...
Как давно и какие причины подтолкнули вас к разработке ос?
Давно это было, лет 5 назад. Официальным началом моего пути на этой извилистой дороге
стало чтение книжки "Ассемблер" (В. Юров) одним тихим осенним вечером (осень 2000-го года)
и написание программы по переходу в защищённый режим.
Какая стратегия вашего проекта? Собираетесь ли вы переходить в комерческий статус?
Текущий статус проекта qB OS - Amateur Open-source Project.
Примерный сценарий для перехода в коммерческий статус может быть таким: Undefined -> Amateur Open-source Project -> Registered Open-source Project -> Registered Closed-source Project -> Commercial Project. Или например вот таким: Undefined -> Amateur Closed-source Project -> Commercial Project. Или вот таким: Undefined -> Commercial Project. Пока что придерживаемся первой схемы, а дальше - время покажет.
Можете коротко рассказать об архитектуре qb os?
Нет, для этого существует определённая документация (хотя существующая документация по дизайну/архитектуре qB OS является устаревшей).
Должно быть звенья ОО модели требуют своих уникальных контекстов, как у вашей ос с производительностью?
Дык напишем, а потом посмотрим. :)
Былобы интересно узнать наипольнейшую историю разработки qb.
Конец 2000, начало 2001 г. - мой первый бутсектор и ядро "Hello World!",
которое даже умело переходить в защищённый режим.
2001 г. - "рывки в никуда". Несколько версий небольших ОС.
В этот период я осваивал все тонкости теории ОС на практике:
многозадачность, механизмы управления памятью, среда разработки GCC/AS и.т.д.
Перечитал горы документации и перековырял исходники многочисленных любительских (и не только)
ОС.
Первая половина 2002 г. - курсовая в универе по предмету "Ассемблер". Угадайте какую тему я выбрал для курсовой?
Да, именно! Для этой курсовой я решил написать операционную систему.
Но писалась эта курсовая не полностью на ассемблере, а уже по "взрослым" правилам: аппаратно-независимая часть - Си, аппаратно-зависимая часть - ассемблер.
Это была моя самая первая микроядерная ОС!
В ней кроме самого микроядра и загрузчика было всего 3 сервиса (консоль, клавиатура и сервер "инфо"
для выдачи разной информации о системе).
Ноябрь-Декабрь 2002 г. - возник проект qB (Cube OS).
Февраль 2003 г. - появился сайт microkernel.narod.ru
Март 2004 г. - появился сайт osdev.ru
Что на сегодня реализовано?
Реализовано много, но толку мало.
Поделетись ближайшими строчками из to-do?
Текущий план по разработке qB OS находится на сайте проекта - osdev.ru (в разделе "Документация").
Организация процесса разработки для этого проекта претерпела кардинальные изменения.
Но для меня главным TODO в этой области (распределённая разработка open-source OS) является
закончить анализ процессов разработки для "среднестатистического" проекта по созданию open-source OS
и найти ответы на такие вопросы как:
1) Почему любой новый распределённый проект по созданию ОС зараннее является неудачным?
2) Что нужно делать чтобы обеспечить нормальный, постоянный и продуктивный процесс распределённой разработки
ОС?
Частично ответы на эти вопросы я нашёл при участии в real-life проектах с подобной тематикой на своей работе.
Некоторую часть ответов на эти вопросы я получил из некоторых пунктов методик/принципов организации разработки ПО:
1) MSF (Microsoft Solutions Framework) - подробно изучил все принципы MSF когда готовился к сдаче экзаменов
для сертификата MCSD (Microsoft Certified Solution Developer).
2) XP (Extreme Programming) - c этим я был знаком относительно давно.
Расскажите немного о себе и творческом колективе из qb os team.
Пару слов о себе:
Имя - Олег. Возраст - 22. Место жительства - Киев, Украина. Не женат, не судим. Образование: КПИ (Киевский Политехнический Институт), факультет прикладной математики (ПМА). Текущее основное занятие: работаю программистом в крупной и известной ИТ-компании Flextronics (www.flextronics.com)
Пару слов о творческом коллективе qB OS Team:
На протяжении всего периода существования этого проекта фиксированный состав qB OS Team
составлял только я. Связано это было прежде всего с неподготовленностью проекта для командной разработки
и с моей тогдашней неопытностью в сфере проджект-менеджмента для разработки ПО.
Нормальный ход командной разработки в таком большом и сложном проекте как создание open-source OS
возможен только при наличии определённой базы и подготовленной и налаженной схемы протекания процессов
в проекте.
Сейчас я начал писать один документик, который имеет огромный потенциал превратиться
в отдельностоящую книгу в не очень далёком будущем:
"Eating a jelly with mustard: Amateur OS Project Cookbook".
Пишется это всё как всегда - на английском.
И в этом документе, кроме описаний и хроник своего собственного проекта (qB OS) и других примеров подобных проектов,
я опишу мои разработанные методики/рекомендации для организации, стратегий и проджект-менеджмента проектов
типа Amateur OS Project. Закончена эта книга будет только тогда, когда проект qB OS достигнет
определённых результатов при использовании некоторых методик, которые будут описаны в книге.