На выполнение расчётно-графической работы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

На выполнение расчётно-графической работы



РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

(ПОЯСНИТЕЛЬНАЯ ЗАПИСКА)

 

по дисциплине «Операционные системы»

 

Тема: Исследование временных характеристик многопоточного приложения в ОСРВ QNX во время обработки информации от периферийных устройств

 

Выполнили: студентка 431 группы ИИДС

Безверхая К.С.

студент 431 группы ИИДС

Кириченко З.А.

студентка 432 группы ИИДС
Задерий А.В.

Проверил: доцент кафедры БИТ, к.т.н.

Ковтун В.Ю.

 

 

Киев 2012 г.

 

НАЦИОНАЛЬНЫЙ АВИАЦИОННЫЙ УНИВЕРСИТЕТ

Институт информационно-диагностических систем

Кафедра безопасности информационных технологий

 

ЗАДАНИЕ

На выполнение расчётно-графической работы

Студентки Безверхой Карины Сергеевны

Студента Кириченко Захара Андреевича

Студентки Задерий Алины Васильевны

Тема расчётно-графической работы:

Исследование временных характеристик многопоточного приложения в ОСРВ QNX во время обработки информации от периферийных устройств

Общее задание:

Разработать серверную программу, которая получает запросы по протоколу TCP от некоторого количества клиентов и выполняет обработку этих запросов.

Разработать клиентскую программу, которая производит подключение к заданному серверу и через некоторые промежутки времени формирует запрос к нему по протоколу TCP.

Исследовать время реакции сервера на запросы клиентов, которые формировались в реальном масштабе времени.

Индивидуальное задание:

Серверная часть должна получать запросы от 5 клиентов. Закон изменения времени между концом и началом передачи пакетов от клиента к серверу: . Период моделирования - 20 мин. Закон изменения количества информации:

Задание выдал _____________(Ковтун В.Ю.) «___»_________ 2012 г.

Расчётно-графическая работа защищена с оценкой _______________

РЕФЕРАТ

В расчётно - графической работе было разработано клиент - серверную программу, которая получает запросы по протоколу TCP от некоторого количества клиентов и выполняет обработку этих запросов.

Целью работы является исследование времени реакции сервера на сетевые запросы клиентов, формируемые в реальном масштабе времени.

Объектом исследования является процесс обработки пакетов сервером, полученных от удалённых клиентов.

Предмет исследования – временные характеристики многопоточного приложения в ОСРВ QNX.

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

В пояснительной записке рассмотрены вопросы актуальности такой программы, описание ОСРВ QNX и работы с ней. Так же представлен с помощью блок-схем общий алгоритм работы программы, построена диаграмма последовательности её работы.

Расчётно-графическая работа содержит пояснительную записку, содержащая количество:

страниц – 28;

рисунков - 5;

таблиц - 5;

используемые источники – 5.

Ключевые слова: ОСРВ QNX, временные характеристики, многопоточные приложения, обработка информации, эксперимент, сервер, клиент, много поточность, сокеты.

СОДЕРЖАНИЕ

СПИСОК СОКРАЩЕНИЙ И ТЕРМИНОВ.. 7

ВВЕДЕНИЕ. 9

РАЗДЕЛ 1. ОС РЕАЛЬНОГО ВРЕМЕНИ.. 10

1.1 Области применения ОС в реальном времени. 10

1.2 Операционная система реального времени QNX.. 11

1.2.1 Общие сведения об операционной системе QNX.. 11

1.2.2 Версии QNX.. 12

РОЗДЕЛ 2. РОЗРАБОТКА АЛГОРИТМОВ ДЛЯ СИСТЕМ УПРАВЛЕНИЯ ДВИЖЕНИЕМ BIGDOG.. 14

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

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

2.2.1. Алгоритм взаимодействия с клиентом. 16

2.3. Алгоритм работы клиента. 18

РАЗДЕЛ 3. ПРИНЦИПЫ РЕАЛИЗАЦИИ ПРОГРАММЫ.. 20

3.1. Выбор языка и среды разработки. 20

3.2. Сетевое взаимодействие. 20

3.3. Порядок клиент-серверного взаимодействия. 21

3.4. Логирования. 22

РАЗДЕЛ 4. ЭКСПЕРИМЕНТ. 23

4.1 Описание экспериментальной установки. 23

4.2 Результаты эксперимента. 25

ВЫВОДЫ.. 30

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ.. 31

ВВЕДЕНИЕ

Актуальность темы расчётное - графической работы: системы реального времени обеспечивают нужный уровень сервиса за определённый ограниченное время. Они предназначены для управления оборудованием, часто с очень жёсткими ограничениями по времени. Именно поэтому в работе был рассмотрен «BigDog» - четвероногий робот, разработанный Boston Dynamics, на базе процессоре класса Pentium 4 под управлением ОС QNX. Он контролирует сенсоры, обеспечивает взаимодействие с человеком, и сохраняет данные о работе всех систем и сбоях.

Объект исследования - процесс работы приложения для определения временных характеристик многопоточного приложения в ОСРВ QNX во время обработки информации от периферийных устройств

Предмет исследования - временные характеристики многопоточного приложения в ОСРВ QNX.

В расчётно-графической работе была поставлена задача разработать серверную программу, которая получает запросы по протоколу TCP от некоторого количества клиентов и выполняет обработку этих запросов. Разработать клиентскую программу, которая производит подключение к заданному сервера и через некоторые промежутки времени формирует запрос к нему по протоколу TCP. Исследовать время реакции сервера на запросы клиентов, которые формировались в реальном масштабе часу. Такая программа была реализована в среде QNX Momentics IDE на языке C + +, за основу которой был взят открытый код реализации программного обеспечения такого типа.

РАЗДЕЛ 1.
ОС РЕАЛЬНОГО ВРЕМЕНИ

Описание

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

Длина робота BigDog — 0,91 метр, высота 0,76 метра, вес 110 килограммов. В настоящее время он способен передвигаться по труднопроходимой местности со скоростью 6,4 км в час, перевозить 154 кг груза и подниматься на 35 градусную наклонную плоскость. Его передвижение контролирует компьютерная система, которая получает данные от различных сенсоров. Навигация и равновесие также управляются этой системой.

Бортовой компьютер робота представляет собой упрочнённый вариант платформы PC/104 с процессором класса Pentium под управлением ОС 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.
РОЗРАБОТКА АЛГОРИТМОВ ДЛЯ СИСТЕМ УПРАВЛЕНИЯ ДВИЖЕНИЕМ BIGDOG

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

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

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

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

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

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

 

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

Алгоритм работы клиента

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

Создаётся TCP−сокета вызовом socket(). Соединение с сервером обеспечивается при помощи connect(), а передача структуры −sockaddr_in с sin_family с указанными PF_INET или PF_INET6. Для указания порта прослушивания (в байтовом порядке) используем sin_port, и sin_addr для указания IPv4 или IPv6 адреса прослушиваемого сервера (также в байтовом порядке).

Взаимодействие с сервером происходит при помощи write() и read().

Далее происходит завершение соединения и сброс информации при вызове close(). Аналогично, если были какие−либо вызовы fork(), каждый процесс должен закрыть (close()) сокет.

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

РАЗДЕЛ 3.
ПРИНЦИПЫ РЕАЛИЗАЦИИ ПРОГРАММЫ

В разделе описываются особенности программной реализации приложений.

Сетевое взаимодействие

Сетевое взаимодействие между клиентом и сервером реализуется последовательностью следующих системных вызовов:

int socket (int domain, int type, int protocol) - функция создания сокета. Первый параметр надаёт ограничения на формат адресов, используемых процесс. Второй параметр определяет тип канала связи с сонетом, который должен быть использован. Третий параметр - позволяет выбрать нужный протокол для канала связи.

int bind (int s, const struct sockaddr * name, socklen_t namelen)-функция привязывает имя к сокету. Первый параметр - имя. 'Я сокета, второй - локальный адрес, третий - длина имени.

int listen (int s, int backlog) - слушать соединения на сокете. Параметр backlog задает максимальную длину, до которой может расти очередь ожидающих соединений.

int accept (int s, struct sockaddr * addr, socklen_t * addrlen) - функция используется с сонетами, ориентированными на установление соединения. Первый аргумент - сокет, который сужает соединения, второй - указатель на структуру sockaddr, третий - длина адреса в байтах.

int connect (int s, const struct sockaddr * name, socklen_t namelen) - присоединение созданного сокета к определённому порту сервера. Первый аргумент - сокет, т.е. значение, полученное вызовом socket, второй параметр - указатель на структуру sockaddr, третий - размер структуры sockaddr в байтах.

3.3. Порядок клиент-серверного взаимодействия

В основном, работа с сокетами заключается в последовательности следующих этапов:

создаётся сокет, с работодателем системного вызова socket, указывается тип подключения;

увязывание сокета с заданным сетевым интерфейсом посредством IP-адреса и порта через системный вызов bind.

ожидания подключения клиентов с помощью системного вызова listen;

посредством вызова pthread_create создаётся новый поток для подключения клиентского сокета к серверному, при посредничестве системного вызова accept;

при посредничестве системного вызова write происходит передача информации между клиентом и сервером;

функция pthread_join () приостанавливает выполнение вызывающего потока то тех пор, пока целевой поток не завершится.

Легирования

Информация о полученных пакетах от клиента к серверу, согласно задания мы записываем в лог-файл, в котором содержится следующая информация:

IP-адрес клиента;

идентификационный номер клиента;

дата и время начала передачи;

период времени передачи пакета;

размер пакета.

 

РАЗДЕЛ 4.
ЭКСПЕРИМЕНТ

Результаты эксперимента

Для проведения эксперимента была развернута виртуальная Gigabit Ethernet сеть, которая формируется монитором виртуальных машин VMWare, с описанной конфигурацией и программным обеспечением.

Порядок выполнения эксперимента:

1. Запуск монитора виртуальных машин VMWare Workstation 7.1.

2. Запуск виртуальной машины сервера и запуск серверного приложения.

3. Запуск виртуальной машины клиента 1.

4. Запуск виртуальной машины клиента 2.

5. Запуск виртуальной машины клиента 3.

6. Запуск виртуальной машины клиента 4.

7. Запуск виртуальной машины клиента 5.

8. Последовательный запуск клиентов 1-5 для подключения к серверу.

На рис. 6 приведена диаграмма загрузки сетевого соединения сервера

Рис. 6 Диаграмма загрузки сетевого соединения сервера (единицей времени был промежуток в 40секунд)

В таблице 3 представлены варианты одновременного приёма нескольких пакетов разной длины и время необходимо для их обработки процессором (вычислительной системой в целом, если она многопроцессорная).

Таблица № 3

Соотношение времени обработки (приёма) нескольких пакетов

Число пакетов Загрузка процессора, мс
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

 

На рис. 7 приведена зависимость времени обработки сервером пакетов разной длины.

 

Рис. 7. График зависимости времени обработки пакетов различной длины

В таблице 4 представлены все размеры пакетов и усреднённое время обработки пакетов данной длины процессором (вычислительной системой в целом, если она многопроцессорная).

Таблица №4

Соотношение времени обработки (приёма) пакета и загрузки процессора

Размер пакета (байт) Загрузка процессора, мс
    42,7
    5,6
    2,5
    8,7
    8,4
    11,8
    13,7
     
     
     
     
     
     
     
     
     

 

На рис. 8 приведена зависимость времени одновременной обработки сервером пакетов разной длины, что позволяет судить об общей производительности сервера в байт/с.

Рис. 8. График зависимости скорости обработки пакетов сервером


Таблица № 5

Соотношение времени обработки (приёма) объёма информации и загрузки процессора

  № Суммарный размер пакетов, МБ Загрузка процессора, мс
  9291,467  
  9733,045  
  9684,436  
  9708,816  
  9754,163  
  9666,853  
  9679,896  
  9729,222  
  9674,996  
  9697,5  
  9728,802  
  9732,656  
  9710,521  
  9731,369  
  9748,812  
  9681,499  
  9675,616  

 

ВЫВОДЫ

В результате выполнения расчётно-графической работы было:

1.. Исследованы характеристики и возможности операционной системы QNX и среды QNX Momentics IDE.

2.. Изучены основы построения клиент-серверных приложений в QNX Momentics IDE;

3. Разработана программная реализация серверного и клиентского приложения для работы в операционной системе QNX.4

4. Проведён эксперимент, в котором использовались технологии виртуализации VMWare, для моделирования распределённой системой управления сложным технологическим процессом в реальном времени.

5. Проанализировано, что пакеты с меньшим размером занимали больше времени на обработку, чем пакеты больших размеров. Это объясняется тем, что на обработку меньших пакетов нужно больше количество процессорного времени, в связи с этим в буфер помещается большее количество пакетов.

6. Выучили основы работы с потоками и синхронизацией стандарта POSIX.

7. Исследованы временные характеристики сервера при подключении к нему пяти клиентов.

 

 

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

(ПОЯСНИТЕЛЬНАЯ ЗАПИСКА)

 

по дисциплине «Операционные системы»

 

Тема: Исследование временных характеристик многопоточного приложения в ОСРВ QNX во время обработки информации от периферийных устройств

 

Выполнили: студентка 431 группы ИИДС

Безверхая К.С.

студент 431 группы ИИДС

Кириченко З.А.

студентка 432 группы ИИДС
Задерий А.В.

Проверил: доцент кафедры БИТ, к.т.н.

Ковтун В.Ю.

 

 

Киев 2012 г.

 

НАЦИОНАЛЬНЫЙ АВИАЦИОННЫЙ УНИВЕРСИТЕТ

Институт информационно-диагностических систем

Кафедра безопасности информационных технологий

 

ЗАДАНИЕ

на выполнение расчётно-графической работы

Студентки Безверхой Карины Сергеевны

Студента Кириченко Захара Андреевича

Студентки Задерий Алины Васильевны

Тема расчётно-графической работы:

Исследование временных характеристик многопоточного приложения в ОСРВ QNX во время обработки информации от периферийных устройств

Общее задание:

Разработать серверную программу, которая получает запросы по протоколу TCP от некоторого количества клиентов и выполняет обработку этих запросов.

Разработать клиентскую программу, которая производит подключение к заданному серверу и через некоторые промежутки времени формирует запрос к нему по протоколу TCP.

Исследовать время реакции сервера на запросы клиентов, которые формировались в реальном масштабе времени.

Индивидуальное задание:

Серверная часть должна получать запросы от 5 клиентов. Закон изменения времени между концом и началом передачи пакетов от клиента к серверу: . Период моделирования - 20 мин. Закон изменения количества информации:

Задание выдал _____________(Ковтун В.Ю.) «___»_________ 2012 г.

Расчётно-графическая работа защищена с оценкой _______________

РЕФЕРАТ

В расчётно - графической работе было разработано клиент - серверную программу, которая получает запросы по протоколу TCP от некоторого количества клиентов и выполняет обработку этих запросов.

Целью работы является исследование времени реакции сервера на сетевые запросы клиентов, формируемые в реальном масштабе времени.

Объектом исследования является процесс обработки пакетов сервером, полученных от удалённых клиентов.

Предмет исследования – временные характеристики многопоточного приложения в ОСРВ QNX.

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

В пояснительной записке рассмотрены вопросы актуальности такой программы, описание ОСРВ QNX и работы с ней. Так же представлен с помощью блок-схем общий алгоритм работы программы, построена диаграмма последовательности её работы.

Расчётно-графическая работа содержит пояснительную записку, содержащая количество:

страниц – 28;

рисунков - 5;

таблиц - 5;

используемые источники – 5.

Ключевые слова: ОСРВ QNX, временные характеристики, многопоточные приложения, обработка информации, эксперимент, сервер, клиент, много поточность, сокеты.

СОДЕРЖАНИЕ

СПИСОК СОКРАЩЕНИЙ И ТЕРМИНОВ.. 7

ВВЕДЕНИЕ. 9

РАЗДЕЛ 1. ОС РЕАЛЬНОГО ВРЕМЕНИ.. 10

1.1 Области применения ОС в реальном времени. 10

1.2 Операционная система реального времени QNX.. 11

1.2.1 Общие сведения об операционной системе QNX.. 11

1.2.2 Версии QNX.. 12

РОЗДЕЛ 2. РОЗРАБОТКА АЛГОРИТМОВ ДЛЯ СИСТЕМ УПРАВЛЕНИЯ ДВИЖЕНИЕМ BIGDOG.. 14

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

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

2.2.1. Алгоритм взаимодействия с клиентом. 16

2.3. Алгоритм работы клиента. 18

РАЗДЕЛ 3. ПРИНЦИПЫ РЕАЛИЗАЦИИ ПРОГРАММЫ.. 20

3.1. Выбор языка и среды разработки. 20

3.2. Сетевое взаимодействие. 20

3.3. Порядок клиент-серверного взаимодействия. 21

3.4. Логирования. 22

РАЗДЕЛ 4. ЭКСПЕРИМЕНТ. 23

4.1 Описание экспериментальной установки. 23

4.2 Результаты эксперимента. 25

ВЫВОДЫ.. 30

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ.. 31



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.161.77 (0.129 с.)