Разработка структуры системы для среды Print E-mail

Знать то, что QNX Neutrino основано на обмене сообщениями — это одно, понимать же преимущества этого при разработке своих программ — это совершенно другое. Для таких стандартных UNIX- приложений, как HTTP веб-сервер, или протоколирование событий, это знать совершенно не обязательно. Понимание архитектуры, основанной на обмене сообщениями, приобретает большую ценность при разработке своей собственной, совершенно новой, системы. Главная задача, которая возникает при разработке таких систем — это создание структуры системы и становится очевидным, что вы должны дать ответ на следующие вопросы:

Какую работу должен выполнять один процесс, т.е. как разграничить функциональность (границы ответственности) процессов?
Каким образом построить драйверы для моего аппаратного обеспечения?
Как создать большую систему в модульном исполнении?
Устойчива ли такая структура к действию времени, т.е. будет ли она работать в таком исполнении через два года, когда требования к ней изменятся?
Вот краткие ответы на эти вопросы:

Один процесс должен быть сфокусирован на одной задаче, оставляя все остальное другим процессам.
Драйверы должны быть написаны так, чтобы предоставлять удобный интерфейс к аппаратному обеспечению, но в то же время они не должны заставлять углубляться в тонкости конкретного аппаратного обеспечения, т.е. предоставлять «абстрактный» уровень общения с аппаратным обеспечением.
Чтобы создать большую систему, начните с нескольких небольших систем, с четко очерченными задачами, и «склейте» их вместе.
Если вы последуете этим рекомендациям, то получите систему, состоящую из «кирпичиков» которые вы позже сможете «складывать» и добавлять как угодно, и в какой угодно момент времени.

Добавить комментарий