Сообщения или менеджер?
Сообщения или менеджер?
Этот вопрос возникает (должен возникать!) у каждого, кто приступает к разработке реального проекта, особенно если функциональность проекта распределяется между несколькими автономными процессами. Такая структуризация и вовсе не привычна разработчикам, приходящим из мира Windows. Для UNIX создание проектов, в которых порождается несколько процессов, такая структуризация уже гораздо органичнее, но и там это чаще всего лишь клонирование образа единого серверного процесса посредством fork(). QNX предоставляет возможность идти еще дальше в построении приложений, представленных (разделенных) как группа разнородных взаимодействующих процессов:
• Уже полученные нами ранее тестовые результаты времени диспетчеризации и переключений контекстов (пусть даже они и сделаны бегло, только в качестве оценочных ориентиров) показывают, что представления приложения в качестве единого, монолитного процесса или процесса, содержащего группу потоков, либо просто разбиение приложения на группу процессов по производительности если и не эквивалентны, то крайне близки. Этот фактор не должен быть определяющим, и при структурировании приложения следует руководствоваться целесообразностью и удобством.
• Процессы QNX сохраняют все качества таковых и в UNIX вообще: они являются изолированными сущностями, которые взаимодействуют, если это необходимо, используя достаточно тяжеловесные (расточительные) механизмы IPC. Собственно, в этом и ценность процессов с их изолированными адресными пространствами — это механизм обеспечения высокой надежности и живучести приложений. Но QNX, не сужая спектр общепринятых IPC-механизмов, привносит совершенно новый «слой» инструментария взаимодействия — обмен сообщениями микроядра. При этом «проницаемость» процессов как отдельных клеток живого организма становится много выше, нисколько не снижая их «защищенности».
Но у нас есть две принципиально различные альтернативы для выражения этого «слоя» взаимодействий в своем программном коде: базовый механизм обмена сообщениями (низкоуровневая техника, известная еще со времен QNX 4.X) и механизм менеджера ресурса. Делать выбор между ними приходится на этапе раннего эскизного проектирования системы, поскольку перестраивать систему с одного механизма на другой в ходе развития — достаточно трудоемкий процесс, который может потребовать пересмотра и архитектурных основ развиваемого проекта.
Поэтому, приступая к проектированию нового проекта, мы должны априорно, до начала фактической разработки, отчетливо представлять, что выигрываем и что проигрываем, используя тот или иной механизм реализации обмена сообщениями.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Многопоточный менеджер
Многопоточный менеджер Следующим шагом развития техники менеджера ресурсов является многопоточный менеджер. Фактически это объединение техники менеджера ресурсов с динамическим пулом потоков, рассмотренным выше.Реальный работающий многопоточный менеджер с
Менеджер программ mintinstall
Менеджер программ mintinstall Менеджер программ mintinstall занимает центральное положение в наборе фирменного инструментария дистрибутива Mint. Он принадлежит к классу самых «высокоуровневых» инструментов для управления пакетами, которые можно назвать интегрированными
Менеджер дополнений Extras
Менеджер дополнений Extras Skype предлагает бесплатно или за небольшую плату дополнительные программы для работы с видео.Список программ содержит Менеджер дополнений Extras для Skype™, который можно вызвать с помощью команды основного меню программы Skype Инструменты | Доп.
3.1. Менеджер пакетов yum
3.1. Менеджер пакетов yum 3.1.1. Основные понятие о пакетах Давайте сначала рассмотрим процесс установки программ в Windows. Как правило, дистрибутив Windows-программы состоит та установочного файла (обычно называется setup.exe или install.exe) и нескольких вспомогательных файлов (например,
5.5.6. Менеджер графических тем Emerald
5.5.6. Менеджер графических тем Emerald Для Compiz был разработан собственный менеджер графических тем Emerald, запустить который можно с помощью команды меню Система?Параметры?Emerald Theme Manager (рис. 5.45). Рис. 5.44. Куб рабочих столов Рис. 5.45. Менеджер графических тем EmeraldПеред тем как
21.1 Менеджер обновлений
21.1 Менеджер обновлений Основным инструментом работы с обновлениями является, как ни странно, Менеджер обновлений. Найти его можно в меню Система?Администрирование. Собственно сам менеджер умеет выполнять только свои прямые обязанности, поэтому его интерфейс весьма
28.2 Менеджер настройки CompizConfig
28.2 Менеджер настройки CompizConfig Однако описанная вкладка программы редактирования внешнего вида годна только для проверки работоспособности компиза, для управления эффектами нужно установить дополнительную утилиту, называемую Менеджер настройки CompizConfig. Сделать это
Контент-менеджер
Контент-менеджер В сфере Social Media Marketing (SMM) сегодня есть специалисты, которые нужны большим, средним и малым компаниям для продвижения в социальных сетях Это так называемые контент-менеджеры, одни из которых генерируют информацию, а другие ее продвигают (имеется в виду
Менеджер
Менеджер Роль менеджера заключается в техническом и административном руководстве и контроле над лицами, выполняющими задачи и действия внутри сферы ответственности менеджера. К традиционным функциям менеджера относятся планирование, распределение ресурсов,
Менеджер проекта
Менеджер проекта Роль менеджера проекта обладает сферой ответственности, которая включает в себя все деловые аспекты целого проекта. Менеджер проекта направляет, контролирует, администрирует и регулирует проект разработки программной или программно-аппаратной
Производственный менеджер проекта
Производственный менеджер проекта В сферу ответственности входят все производственные действия проекта. Он является лицом, взаимодействующим с менеджером проекта по вопросам производственных обязательств и контролирующим все производственные ресурсы
Линейный менеджер
Линейный менеджер В сферу ответственности линейного менеджера входит непосредственное управление (включая техническое руководство и администрирование персонала и зарплаты) персоналом и действиями отдельной организационной единицы (например, отдела или проектной
Файловый менеджер Dolphin
Файловый менеджер Dolphin В KDE 4.0 на смену Konqueror в качестве файлового менеджера по умолчанию предлагается Dolphin (http://enzosworld.gmxhome.de/) (рис. 7.1), который заменит Konqueror, как когда-то случилось с KFM – файловым менеджером в KDE 1.х.Он не будет совмещать в себе все функции, которыми
Файловый менеджер Krusader
Файловый менеджер Krusader Krusader (http://krusader.sourceforge.net/) – на сегодня самый мощный и популярный двухпанельный файловый менеджер для Linux. Krusader предоставляет весь набор возможностей по управлению файлами, которые могут понадобиться во время работы, а полное перечисление займет не
Софтерра: Безоконный менеджер
Софтерра: Безоконный менеджер В компьютерном мире есть люди, буквально помешанные на эффективности своей работы. Они не любят мышь, считая ее неудобным инструментом, отнимающим кучу времени. Их бросает в дрожь при виде человека, тратящего десятки секунд на поиск нужной
Цилюрик Олег Иванович
Просмотр ограничен
Смотрите доступные для ознакомления главы 👉