Что такое функционирование в «Реальном масштабе времени»


  Последовательность действий


Download 1.86 Mb.
Pdf ko'rish
bet59/72
Sana19.04.2023
Hajmi1.86 Mb.
#1362511
TuriУчебное пособие
1   ...   55   56   57   58   59   60   61   62   ...   72
Bog'liq
Луканов А.С. Системы реального времени 2020

3.3. 
Последовательность действий 
 
В программе создаются и запускаются на исполнение два 
потока. Когда один поток приостанавливается, сразу начинает 
работу другой. Приостановка реализована функцией sleep(n), 
которая останавливает процесс на n секунд. На экране можно 
наблюдать, как по очереди работают два процесса. 
 
 
3.4. 
Результаты выполнения программы 
# gcc pthread.c
# `pwd`a.out
Prog threads PID 852000 
Etot pervii potok , TID 0 - N povtora 0 
Etot vtoroi potok , TID 0 - N povtora 0 
Etot vtoroi potok , TID 3 - N povtora 1 


125 
Etot pervii potok , TID 2 - N povtora 1 
Etot vtoroi potok , TID 3 - N povtora 2 
Etot vtoroi potok , TID 3 - N povtora 3 
Etot pervii potok , TID 2 - N povtora 2 
Etot vtoroi potok , TID 3 - N povtora 4 
Etot pervii potok , TID 2 - N povtora 3 
Etot pervii potok , TID 2 - N povtora 4 

§4. 
Лабораторная работа №4 «Обмен сообщениями» 
4.1. 
Теория 
Архитектура и структура обмена сообщениями 
Три ключевые выражения: 
· «
Клиент посылает (sends) сообщение серверу»; 
· «
Сервер принимает (receives) сообщение от клиента»; 
· «
Сервер отвечает (replies) клиенту». 
Эти выражения в точности соответствуют действительным 
именам функций, которые используются для передачи сообщений в 
QNX/Neutrino. 
Минимальный полезный набор функций включает в себя 
функции ChannelCreateQ, ConnectAttach(), MsgReplyQ, MsgSend() и 
MsgRecievef. 
Разобьем обсуждение на две части: отдельно обсудим 
функции, которые применяются на стороне клиента, и отдельно — 
те, что применяются на стороне сервера. 
 
Клиент 
Клиент, который желает послать запрос серверу, блокируется 
до тех пор, пока сервер не завершит обработку запроса. Затем, после 
завершения сервером обработки запроса, клиент разблокируется
чтобы принять «ответ». 


126 
Это подразумевает обеспечение двух условий: клиент должен 
«
уметь» сначала установить соединение с сервером, а потом 
обмениваться с ним данными с помощью сообщений — как в одну 
сторону (запрос — «send»), так и в другую (ответ — «reply»). 

Download 1.86 Mb.

Do'stlaringiz bilan baham:
1   ...   55   56   57   58   59   60   61   62   ...   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling