Сообщения или менеджер?

Сообщения или менеджер?

Этот вопрос возникает (должен возникать!) у каждого, кто приступает к разработке реального проекта, особенно если функциональность проекта распределяется между несколькими автономными процессами. Такая структуризация и вовсе не привычна разработчикам, приходящим из мира Windows. Для UNIX создание проектов, в которых порождается несколько процессов, такая структуризация уже гораздо органичнее, но и там это чаще всего лишь клонирование образа единого серверного процесса посредством fork(). QNX предоставляет возможность идти еще дальше в построении приложений, представленных (разделенных) как группа разнородных взаимодействующих процессов:

• Уже полученные нами ранее тестовые результаты времени диспетчеризации и переключений контекстов (пусть даже они и сделаны бегло, только в качестве оценочных ориентиров) показывают, что представления приложения в качестве единого, монолитного процесса или процесса, содержащего группу потоков, либо просто разбиение приложения на группу процессов по производительности если и не эквивалентны, то крайне близки. Этот фактор не должен быть определяющим, и при структурировании приложения следует руководствоваться целесообразностью и удобством.

• Процессы QNX сохраняют все качества таковых и в UNIX вообще: они являются изолированными сущностями, которые взаимодействуют, если это необходимо, используя достаточно тяжеловесные (расточительные) механизмы IPC. Собственно, в этом и ценность процессов с их изолированными адресными пространствами — это механизм обеспечения высокой надежности и живучести приложений. Но QNX, не сужая спектр общепринятых IPC-механизмов, привносит совершенно новый «слой» инструментария взаимодействия — обмен сообщениями микроядра. При этом «проницаемость» процессов как отдельных клеток живого организма становится много выше, нисколько не снижая их «защищенности».

Но у нас есть две принципиально различные альтернативы для выражения этого «слоя» взаимодействий в своем программном коде: базовый механизм обмена сообщениями (низкоуровневая техника, известная еще со времен QNX 4.X) и механизм менеджера ресурса. Делать выбор между ними приходится на этапе раннего эскизного проектирования системы, поскольку перестраивать систему с одного механизма на другой в ходе развития — достаточно трудоемкий процесс, который может потребовать пересмотра и архитектурных основ развиваемого проекта.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Софтерра: Безоконный менеджер

Из книги Журнал «Компьютерра» №32 от 06 сентября 2005 года автора Журнал «Компьютерра»

Софтерра: Безоконный менеджер В компьютерном мире есть люди, буквально помешанные на эффективности своей работы. Они не любят мышь, считая ее неудобным инструментом, отнимающим кучу времени. Их бросает в дрожь при виде человека, тратящего десятки секунд на поиск нужной


Менеджер

Из книги Модель зрелости процессов разработки программного обеспечения автора Паулк Марк

Менеджер Роль менеджера заключается в техническом и административном руководстве и контроле над лицами, выполняющими задачи и действия внутри сферы ответственности менеджера. К традиционным функциям менеджера относятся планирование, распределение ресурсов,


Менеджер проекта

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

Менеджер проекта Роль менеджера проекта обладает сферой ответственности, которая включает в себя все деловые аспекты целого проекта. Менеджер проекта направляет, контролирует, администрирует и регулирует проект разработки программной или программно-аппаратной


Производственный менеджер проекта

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

Производственный менеджер проекта В сферу ответственности входят все производственные действия проекта. Он является лицом, взаимодействующим с менеджером проекта по вопросам производственных обязательств и контролирующим все производственные ресурсы


Линейный менеджер

Из книги Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» автора Неворотин Вадим

Линейный менеджер В сферу ответственности линейного менеджера входит непосредственное управление (включая техническое руководство и администрирование персонала и зарплаты) персоналом и действиями отдельной организационной единицы (например, отдела или проектной


3.1. Менеджер пакетов yum

Из книги Самоучитель Skype. Бесплатная связь через Интернет автора Яковлева Е. С.

3.1. Менеджер пакетов yum 3.1.1. Основные понятие о пакетах Давайте сначала рассмотрим процесс установки программ в Windows. Как правило, дистрибутив Windows-программы состоит та установочного файла (обычно называется setup.exe или install.exe) и нескольких вспомогательных файлов (например,


5.5.6. Менеджер графических тем Emerald

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

5.5.6. Менеджер графических тем Emerald Для Compiz был разработан собственный менеджер графических тем Emerald, запустить который можно с помощью команды меню Система?Параметры?Emerald Theme Manager (рис. 5.45). Рис. 5.44. Куб рабочих столов Рис. 5.45. Менеджер графических тем EmeraldПеред тем как


Файловый менеджер Dolphin

Из книги Социальные сети [Источники новых клиентов для бизнеса] автора Парабеллум Андрей Алексеевич

Файловый менеджер Dolphin В KDE 4.0 на смену Konqueror в качестве файлового менеджера по умолчанию предлагается Dolphin (http://enzosworld.gmxhome.de/) (рис. 7.1), который заменит Konqueror, как когда-то случилось с KFM – файловым менеджером в KDE 1.х.Он не будет совмещать в себе все функции, которыми


Файловый менеджер Krusader

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Файловый менеджер Krusader Krusader (http://krusader.sourceforge.net/) – на сегодня самый мощный и популярный двухпанельный файловый менеджер для Linux. Krusader предоставляет весь набор возможностей по управлению файлами, которые могут понадобиться во время работы, а полное перечисление займет не


21.1 Менеджер обновлений

Из книги автора

21.1 Менеджер обновлений Основным инструментом работы с обновлениями является, как ни странно, Менеджер обновлений. Найти его можно в меню Система?Администрирование. Собственно сам менеджер умеет выполнять только свои прямые обязанности, поэтому его интерфейс весьма


28.2 Менеджер настройки CompizConfig

Из книги автора

28.2 Менеджер настройки CompizConfig Однако описанная вкладка программы редактирования внешнего вида годна только для проверки работоспособности компиза, для управления эффектами нужно установить дополнительную утилиту, называемую Менеджер настройки CompizConfig. Сделать это


Менеджер дополнений Extras

Из книги автора

Менеджер дополнений Extras Skype предлагает бесплатно или за небольшую плату дополнительные программы для работы с видео.Список программ содержит Менеджер дополнений Extras для Skype™, который можно вызвать с помощью команды основного меню программы Skype Инструменты | Доп.


Многопоточный менеджер

Из книги автора

Многопоточный менеджер Следующим шагом развития техники менеджера ресурсов является многопоточный менеджер. Фактически это объединение техники менеджера ресурсов с динамическим пулом потоков, рассмотренным выше.Реальный работающий многопоточный менеджер с


Контент-менеджер

Из книги автора

Контент-менеджер В сфере Social Media Marketing (SMM) сегодня есть специалисты, которые нужны большим, средним и малым компаниям для продвижения в социальных сетях Это так называемые контент-менеджеры, одни из которых генерируют информацию, а другие ее продвигают (имеется в виду


Менеджер программ mintinstall

Из книги автора

Менеджер программ mintinstall Менеджер программ mintinstall занимает центральное положение в наборе фирменного инструментария дистрибутива Mint. Он принадлежит к классу самых «высокоуровневых» инструментов для управления пакетами, которые можно назвать интегрированными