Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общие сведения об операционной системе QNXСодержание книги
Поиск на нашем сайте
Операционная система QNX является мощной операционной системой, разработанной для процессора с архитектурой IA32. Встроенные свойства QNX обеспечивают поддержку многозадачного режима на одном компьютере и взаимодействие параллельно выполняемых задач на разных компьютерах, работающих в среде локальной сети. Таким образом, эта система хорошо подходит для построения распределённых систем. Основным языком программирования в системе является C. Основная операционная система соответствует стандарту POSIX. Это позволяет с небольшими доработками переносить ранее разработанное программное обеспечение в QNX для организации работы в среде распределённой обработки. Операционная система QNX будучи сетевой и мульти задачной, в то же время является многопользовательской. Кроме того, она масштабируема. С точки зрения пользовательского интерфейса и интерфейса прикладного программирования она очень похожа на Unix, поскольку выполняет требования стандарта POSIX. Однако QNX – это не версия Unix. Она была разработана «с нуля» канадской фирмой QNX SoftwareSystemsLimited в 1989 году по заказу министерства обороны США, причём совершенно на иных архитектурных принципах, нежели использовались при создании Unix. За свою 15-летнюю историю она имеет сотни тысяч инсталляций во многих странах мира. Среди пользователей QNX значатся такие компании, как DuPont, EastmanKodak, GeneralMills, GeneralMotors, Motorola, Texaco. Представительства и дистрибьюторы фирмы существуют более чем в 60 странах мира [1]. QNX была первой коммерческой системой, построенной на принципах микроядра и обмена сообщениями. Система реализована в виде совокупности независимых (но взаимодействующих путём обмена сообщениями) процессов различного уровня (менеджеры и драйверы), каждый из которых реализует определённый вид услуг. Версии QNX § QNX 2.x - это ОС, выпущенная фирмой QSSL в середине 80-х, в настоящее время практически не применяется. § QNX 4.2x - наиболее популярная до последнего времени ОС, она же наиболее распространена в России. С её помощью построено очень много встраиваемых систем, систем SCADA, она очень успешно применяется в решениях задач автоматизации и управления, там где необходима высокая надёжность. Эта система была разработана специально для "mission critical appliances" – то есть для применения в критических ситуациях, там где на другие операционные системы нельзя рассчитывать. § Neutrino - это новое поколение систем реального времени, построенных на идеях и архитектуре QNX. Real time Platform (RtP) – свободно распространяемый вариант QNX Neutrino, который можно свободно использовать в не коммерческих целях. То есть её можно бесплатно использовать для тестирования, апробирования идей, разработки freeware и для персонального применения [2]. Neutrino изначально задумывалась как операционная система для глубоко встраиваемых систем, всё делалось c тем расчётом, чтобы она могла грузиться откуда годно (хоть из постоянного запоминающего устройства), должна работать на большом разнообразии компьютерных архитектур. Поэтому изменена система загрузки. Теперь вместо отдельного ядра c основными процессами и скрипта sysinit всё заделано в один загружаемый модуль. Причём система получилась настолько гибкой, что даже можно обойтись без менеджера процессов, если они не нужны, оставив только одно микроядро. В RtP реализована загрузка через diskboot, добавлена система депозитариев. Следует отметить революционную концепцию нано ядра, размером всего в 32 Кб. Операционная система реального времени (ОСРВ) QNX Neutrino предлагает проверенную десятилетиями модульную программную платформу, которая обеспечивает высокий уровень надёжности, производительности и компактности. Она легко адаптируется к нестандартного оборудования и встраивается в устройства с ограниченными ресурсами - и при этом она проста в использовании. Используя QNX, вы сможете не только эффективно решать поставленные перед вами задачи, но и получите существенный выигрыш как по удобству и скорости разработки, так и по простоте обслуживания и сопровождения ваших целевых приложений [3].
РОЗДЕЛ 2. Диаграмма последовательности После запуска сервера, он переходит в режим ожидания подключений клиентов. После подключения клиента, сервер создаёт новый поток, который проводит приём сообщений от клиента. После завершения процедуры информационного взаимодействия поток прекращает свою деятельность. Рис.2 Диаграмма взаимодействия клиент - сервер Алгоритм работы сервера Работа алгоритма заключается в следующем: Сначала создаются TCP−сокеты вызовом функции socket(). Потом происходит привязывание сокета к прослушиваемому порту вызовом функции bind(). Перед вызовом bind() нужно объявить структуру sockaddr_in, очистить её (при помощи memset()), затем sin_family (PF_INET или PF_INET6) и заполнить поля sin_port (прослушиваемый порт, указать в виде последовательности байтов). Дальше производится подготовка сокета к прослушиванию в объект соединений при содействия вызова listen() и воспринимаются входящие соединения через вызов accept(). Это блокирует сокет до получения поступающего соединения, после чего отдаёт дескриптор сокета для принятого соединения. Начальный дескриптор остаётся прослушиваемым дескриптором, а accept() имеет возможность быть обусловлен вновь для данного сокета в любое время (пока он закрыт). Соединение с удалённым хостом, которое может быть создано при помощи write() и read().Происходит приём сообщений. Итоговое закрытие каждого открытого сокета, который больше не нужен, происходит при помощи close().
Рис.3. Блок - схема алгоритма работы приложения «сервер»
|
||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 259; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.54.61 (0.007 с.) |