- •Обозначения и сокращения.
- •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.2 Полная совместимость со стандартом posix.
Семейство стандартов сообщества IEEE под названием POSIX (Portable Operating System Interface — интерфейс переносимых операционных систем) изначально создано для операционных систем Unix и определяет интерфейс прикладного программирования, который часто позволяет выполнять приложения, разработанные для одной POSIX-совместимой ОС, на другой POSIX-совместимой ОС без каких-либо модификаций. Следует иметь в виду, что стандарт POSIX определяет не архитектуру операционной системы, а интерфейс программирования. По этой причине операционная система реального времени способна поддерживать те же интерфейсы прикладного программирования стандарта POSIX, что и ОС Linux, а также различные особенности Linux без использования её недетермированного ядра.
Рисунок 3.3 - API, реализованные на микроядерной архитектуре реального времени.
Операционная система реального времени QNX Neutrino воплощает подход к программированию приложений, независимый от реализации: она обеспечивает POSIX-совместимые API, которые реализованы на микроядерной архитектуре реального времени (рис 3.3) [7].
Микроядро ОСРВ QNX Neutrino содержит только самые основные системные службы. Все службы более высокого уровня, в том числе драйверы и стеки протоколов, работают как дополнительные процессы, которые размещены в пользовательском пространстве. В результате, разработчики могут без труда расширять операционную систему специализированными службами, не прибегая к сложному программированию и отладке кода ядра.
Важной особенностью ОСРВ QNX Neutrino является то, что POSIX реализован в ней как основа, а не как некое дополнение. Фундаментальный компонент QNX Neutrino, микроядро, с самого начала разрабатывался для поддержки возможностей реального времени стандарта POSIX, в том числе потоков. Таким образом, операционная система QNX Neutrino имеет глубокую совместимость со стандартом POSIX, а, следовательно, и с операционной системой Linux [7].
3.8.3 Единая среда.
В ОСРВ QNX Neutrino приложения реального времени и обычные приложения выполняются в одной и той же среде. Приложения реального времени могут использовать API, которые полностью реализуют стандарт POSIX и имеют полный доступ к системным службам — графическим интерфейсам, файловым системам, стекам протоколов и т. д. Кроме того, существующие POSIX- и Linux-приложения работают в операционной системе QNX Neutrino детерминированно. Наконец, поскольку приложения реального времени выполняются в одной среде с обычными приложениями, межпроцессное взаимодействие между ними значительно упрощается [9].
3.8.4 Открытая архитектура для устранения неполадок и модификации операционной системы.
Тем не менее, совместимость операционной системы реального времени с ОС Linux является мнимым преимуществом, если ОСРВ не реализует модель на основе открытого исходного кода — то, ради чего большинство разработчиков использует Linux. Открытость исходных текстов программ позволяет разработчикам анализировать архитектуру операционной системы, чтобы лучше интегрировать в неё собственный код, адаптировать компоненты ОС к специфичным прикладным требованиям, а также значительно ускоряет устранение неполадок в программах, созданных разработчиками, и проблем, связанных с неожиданными результатами выполнения кода операционной системы [7]. Говоря кратко, разработчики становятся в некоторой степени независимыми от поставщика операционной системы и могут работать с ОС самостоятельно (что невозможно при использовании модели «чёрный ящик», которая реализована во многих коммерческих операционных системах), хотя и вынуждены заниматься сопровождением собственной операционной системы.
Операционная система реального времени QNX Neutrino обеспечивает эти преимущества двумя способами: во-первых, с помощью расширяемой микроядерной архитектуры, и, во-вторых, предоставляя исходный код драйверов, библиотек, сетевых служб и BSP-пакетов, в том числе подробно документированных комплектов разработки драйверов (DDK) для различных устройств.
Поскольку QNX Neutrino является микроядерной операционной системой, её можно модифицировать. За исключением нескольких основных служб (таких как планирование, таймеры, обработка прерываний), которые находятся в пространстве ядра, большинство системных служб (драйверы, файловые системы, стеки протоколов и т. д.) являются приложениями, расположенными в пользовательском пространстве за пределами ядра [9]. Таким образом, разработка собственных драйверов и специализированных расширений для операционной системы не требует знания ядра и использования специальных отладчиков ядра. Разрабатывать расширения операционной системы так же просто, как и обычные приложения, поскольку расширения операционной системы являются программами, находящимися в пользовательском пространстве. Эти программы можно отлаживать стандартными инструментами для исходного кода, с которыми знаком каждый разработчик программного обеспечения для ОС Linux.