Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект Лекций ПСРВ.doc
Скачиваний:
81
Добавлен:
12.02.2016
Размер:
2.73 Mб
Скачать

5.9. Свойства процессно-нитиевой структуры прв

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

       возможность модульной организации ПРВ на макро уровне;

       гибкость и конфигурируемость ПРВ;

       повышение надежности ПРВ.

Модульность ПРВ на макроуровне обуславливает возможность разработки исполняемых процессами программ независимо друг от друга. Гибкость и конфигурируемость ПРВ вытекает из возможности динамически добавлять или модифицировать процессы непосредственно при функционировании ПРВ ("на лету"). Единственная возможность установить зависимость процессов друг от друга - наладить между ними информационную связь с помощью небольшого количества средств взаимодействия. Так как поведение процесса в рамках решаемой им задачи может быть четко специфицировано, то упрощается процедура выявления и устранения ошибок в исполняемой программе. Кроме того, процессы выполняются в независимых адресных пространствах. Две нити, работающие в разных процессах, изолированы одна от другой. Это способствует большей надежности ПРВ.

5.10. Программный интерфейс qnx

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

Программный интерфейс выражается в виде системных вызовов и функций стандартных библиотек.

5.10.1. Системные вызовы и функции стандартных библиотек

Прикладные задачи имеют возможность воспользоваться базовыми услугами, предоставляемыми QNX. Эти услуги получили название системных вызовов. Системный вызов инициирует функцию, выполняемую средствами операционной системы от имени процесса, выполнившего вызов, и является программным интерфейсом самого низкого уровня взаимодействия прикладных процессов с операционной системой. В среде программирования QNX они определяются как функции языка С. В QNX каждый системный вызов имеет соответствующую функцию (или семейство функций) с тем же именем, хранящуюся в стандартной библиотеке языка С (в дальнейшем эти функции будем для простоты называть системными вызовами). Фактически эти функции играют роль оболочки, которая выполняет необходимые преобразования аргументов и инициируют требуемый системный вызов ОС.

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