Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RGR_OS_New.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

1.2.2 Версии 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. Розработка алгоритмов для систем управления движением bigdog

2.1. Диаграмма последовательности

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

Рис.2 Диаграмма взаимодействия клиент - сервер

2.2. Алгоритм работы сервера

Работа алгоритма заключается в следующем:

Сначала создаются TCP−сокеты вызовом функции socket(). Потом происходит привязывание сокета к прослушиваемому порту вызовом функции bind(). Перед вызовом bind() нужно объявить структуру sockaddr_in, очистить её (при помощи memset()), затем sin_family (PF_INET или PF_INET6) и заполнить поля sin_port (прослушиваемый порт, указать в виде последовательности байтов).

Дальше производится подготовка сокета к прослушиванию в объект соединений  при содействия вызова listen() и воспринимаются входящие соединения через вызов accept(). Это блокирует сокет до получения поступающего соединения, после чего отдаёт дескриптор сокета для принятого соединения. Начальный дескриптор остаётся прослушиваемым дескриптором, а accept() имеет возможность быть обусловлен вновь для данного сокета в любое время (пока он закрыт).

Соединение с удалённым хостом, которое может быть создано при помощи write() и read().Происходит приём сообщений.

Итоговое закрытие каждого открытого сокета, который больше не нужен, происходит при помощи close().

Рис.3. Блок - схема алгоритма работы приложения «сервер»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]