- •Обозначения и сокращения.
- •Ietf – Internet Engineering Task Force – инженерный совет интернета.
- •Iana – Internet Assigned Numbers Authority – администрация адресного пространства Интернет.
- •Введение.
- •1 Системы массового обслуживания.
- •1.1 Основные определения теории телетрафика.
- •1.2 Основы теории вероятностей.
- •1.3 Законы распределения случайных величин.
- •1.4 Общие сведения о системах массового обслуживания.
- •1.4.1 Информационные процессы и конфликты обслуживания.
- •1.4.2 Классификация Кендалла-Башарина.
- •1.4.3 Пример классификации смо.
- •2 Потоки заявок в пакетных сетях на примере сети sip.
- •2.1 Принципы построения сети sip.
- •2.2 Интеграция протокола sip с ip-сетями.
- •2.3 Адресация.
- •2.4 Архитектура сети sip.
- •2.5 Пример sip-сети.
- •2.6 Переадресация соединения по sip.
- •3 Операционные системы реального времени.
- •3.1 Системы реального времени. Системы жесткого и мягкого реального времени.
- •3.2 Архитектурные особенности операционных систем реального времени.
- •3.2.1 Системы исполнения и системы разработки в операционных системах реального времени.
- •3.2.2 Время реакции системы.
- •3.2.3 Время переключения контекста.
- •3.2.4 Размеры системы.
- •3.2.5 Возможность исполнения системы из пзу (rom).
- •3.2.6 Механизмы реального времени.
- •3.2.7 Система приоритетов и алгоритмы диспетчеризации.
- •3.2.8 Механизмы межзадачного взаимодействия.
- •3.2.9 Средства для работы с таймерами.
- •3.3 Классы систем реального времени.
- •3.4 Исполнительные системы реального времени.
- •3.5 Ядра реального времени.
- •3.6 Unix'ы реального времени.
- •3.7 Расширения реального времени для WindowsNt.
- •3.8 Операционная система реального времени qnx.
- •3.8.1 Сочетание преимуществ.
- •3.8.2 Полная совместимость со стандартом posix.
- •3.8.3 Единая среда.
- •3.8.4 Открытая архитектура для устранения неполадок и модификации операционной системы.
- •3.8.5 Сокращение повторных трудозатрат.
- •3.8.6 Дополнительные службы микроядра.
- •3.8.7 Развитая поддержка многопроцессорной обработки для многоядерных процессоров.
- •3.8.8 Безопасность и готовность систем за счёт гарантированного выделения процессорного времени.
- •3.8.9 Модель среды исполнения с повышенной надёжностью.
- •3.8.10 Динамическое обновление системных служб.
- •3.8.11 Прозрачная распределённая обработка.
- •3.8.12 Отказоустойчивое сетевое взаимодействие.
- •3.8.13 Меньшее потребление памяти.
- •3.9 Сравнение параметров операционных систем реального времени.
- •3.10 Предоставление «жесткого» реального времени аппаратными средствами.
- •3.11 Критерии согласия.
- •4 Технико-экономические расчеты.
- •4.1. Расчет затрат на проведение научно-исследовательской работы.
- •4.2 Расчет экономической эффективности.
- •Заключение
- •Список использованных источников.
- •Приложение а
3.8.5 Сокращение повторных трудозатрат.
Как обсуждалось ранее, подход с применением двух ядер вынуждает разработчиков писать собственные драйверы, используя незнакомые интерфейсы прикладного программирования. Как и в большинстве операционных сред, разработка этих драйверов требует применения сложных в работе отладочных инструментов для ядра, долгой перекомпиляции ядра и вынуждает обращаться к услугам высокооплачиваемых программистов для работы с ядром.
Операционная система реального времени QNX Neutrino решает эту проблему несколькими способами. Во-первых, QNX Neutrino принадлежит к числу развитых операционных систем с большим количеством пользователей и поддерживает многочисленные драйверы стандартных устройств. Как было сказано, все драйверы в ОС QNX Neutrino работают в пользовательском пространстве, а, следовательно, их можно разрабатывать с помощью стандартных инструментов и методов создания исходного кода. Эта задача дополнительно упрощается благодаря комплектам разработки драйверов компании QNX, в состав которых входит документация, библиотеки, заголовочные файлы и исходный код, на основе которого можно создавать различные драйверы [9].
3.8.6 Дополнительные службы микроядра.
Поскольку QNX Neutrino является микроядерной операционной системой предназначенной специально для встраиваемых систем, в её состав входят службы, которые отсутствуют как в стандартной ОС Linux, так и в расширениях реального времени для Linux [9]. Эти службы описаны в следующих разделах.
3.8.7 Развитая поддержка многопроцессорной обработки для многоядерных процессоров.
В операционной системе реального времени QNX Neutrino с самого начала были заложены возможности многопроцессорной обработки. В 1997 году компания QNX вывела на рынок технологию симметричной многопроцессорности (symmetric multiprocessing — SMP) и занималась её развитием на протяжении последнего десятилетия. Недавно компания QNX представила инновационную технологию исключительной многопроцессорности (bound multiprocessing — BMP). Исключительная многопроцессорность позволяет выполнять существующие приложения на многоядерных процессорах без изменений и в то же время даёт возможность приложениям, допускающим распараллеливание, выполняться в полноценном SMP-режиме, тем самым обеспечивая максимальную масштабируемость. Исключительная многопроцессорность позволяет привязать существующее приложение и все его потоки к одному ядру, что обеспечивает корректность функционирования приложения, даже если в нём применяются методы синхронизации потоков, неподходящие для работы в многоядерной среде [9].
Интегрированная среда разработки QNX Momentics® IDE, основанная на стандартах Eclipse, также включает в себя возможности многопроцессорной обработки и обеспечивает инструменты визуализации для анализа, отладки и оптимизации многоядерных систем (рис. 3.4) [7]. В отличие от традиционных инструментов, инструменты среды QNX Momentics IDE отображают действия, которые выполняются во всей многоядерной системе, что позволяет разработчикам выявлять потенциальные возможности для параллельной обработки, снижать количество необязательных перемещений потоков между ядрами, исключать дорогостоящее межпроцессное взаимодействие между ядрами и локализовывать сложные проблемы конкуренции за ресурсы, часто возникающие в многоядерных системах. Представление всей системы, которое обеспечивается инструментами среды QNX Momentics IDE, в сочетании с развитыми возможностями многопроцессорной обработки операционной системы QNX Neutrino способно значительно сократить трудозатраты, требующиеся для перехода от одноядерных сред к многоядерным.
Рисунок 3.4 - Cистемный профайлер комплекта разработчика QNX Momentics
Cистемный профайлер комплекта разработчика QNX Momentics позволяет разработчикам визуализировать сложное поведение многоядерных систем и концентрировать усилия на тех областях, которые обеспечивают максимальный параллелизм и производительность [9].