������� | ������ ������� |
����� | ���������� | ������ |
���� ������������ ������� QNX, �������������� �� ���. 2, ��������� ��������� �������:
![]() |
��������� ���. 2 |
���� QNX ������������ ��� ���� ����� ����� ����������: �����������, proxy � ���������.
�������� ������ IPC � ������� QNX �������� ����� �����������. ��������� ������������ ���������� ����� ����� ������������������ ����������, ��� ������� �������, ���������� ���������, ������� ������������� � ��� ������ �, ��������, ������ �� ���������.
����� ����������� proxy ������������ ����� ������ ��� �������� ���������. ���� ��� ����� ���������� ������������ ��� ���������� � ��������, ��� ������� �������-����������� �� ��������� �� �������������� � ���������-�����������.
����� ��������� - ��� ������������ ����� IPC. ������� ������������ ��� ����������� ����������� ����� ����� ����������.
� ������� QNX ��� ���������� ���������� ����� ������, ������� ��������� ���������� �� ������ �������� � �������. ��� ����� ������� ���������� ��������� �� ����� �������� ��������. ������ � ��������� ����� ����� ������ ��� ����������� � ����������.
��� ������ ����� ���� � ������ ����������������� �������� ���������� ��������� ������� ����� ��:
2.3. ����� ����� ���������� ����������� ���������
2.3.1. �������� ���������
C-������� | ���������� |
Send() | ��� ������� ���������; |
Receive() | ��� ������ ���������; |
Reply() | ��� ������ ��������, ���������� ���������. |
��� ������� ����� �������������� �������� ��� �� ���� ����.
�������� �������� �� ��, ��� ��� ������ ����� ��������� ���� � ������ ������������� ������������� ������� Send(), Receive() � Reply(). ������� ������������ ������� QNX ���������� ��� �������� ������ �����������, ������� �������� ����� ������������ �������� ��������� �������� ��� ������������� ����������� ��������� �������, ��������, ����������� ������� (pipe).
![]() |
������� � �������� ��������� �������� �, ������� ��������� ���, ������������ � �������� �����.
���. 3 |
����������� ���� ���. 3 ������������ ������� ������ ������������� ������� Send(), Receive() � Reply() ��� �������������� ���� ��������� - � � �:
�������� ��������� ������ �� ������ ��� ������ ������� ����� ����������, ��, ����� ����, �������� ��������� ������������� ���������� ���������� ����������������� ���������.
������� ��������� ����� � ������������ ���� ���. 3. ����� ����, ��� ������� � ������ ������ Send(), �� �� ������ ����������� �� ��� ���, ���� �� ������� ������ �� ���������� �� ���������. ��� ������ ��������� ����, ��� ��������� ������, ����������� ��������� � ��� �������� � ���������� �� ����, ��� ������� � ������ ���������� ���� ������. � ���� ������� ������� � ����� ������ ������� Receive() ����� ���������� ���� ������ �� ����������� ������� ���������.
����� �������� �������� ������������ ������ ��������� ���������� � ���������� 2.7 "������������ ���������". |
����� ���������� �������� ��������� �� ������� ���������� ��������� ����� ��������� ������ �����������, �������, ��� ������� "����������". ��������� ���������� ��������� ��������� � ��������� �������.
���� ������� ����� | ������� �������� |
������ Send(), � ������������ �� ��������� ��� �� �������� ���������-����������� | SEND-������������� |
������ Send(), � ������������ �� ��������� �������� ���������-�����������, �� ����� ��� �� ����� | REPLY-������������� |
������ Receive(), �� ��� ��� �� ������� ��������� | RECEIVE-������������� |
![]() |
��������� �������� � �������� ���������� Send-Receive-Reply ������������ �� ���. 4.
���. 4 |
������ ��������� ��������� ��������� ����������� � ���������� 3.3. |
������� ������ ���������� ������� Send(), Receive() � Reply() ����� ��������. ��-�������� ����� ������������ ����� �������� �������������� ��������� � � �.
�����������, ��� ������� � ������ ������ �� �������� ��������� �������� �. ������ ����������� ������� ������� Send()
Send (pid, smsg, rmsg, smsg_bn, rmsg_len);
������� Send() ����� ��������� ���������:
pid | ������������� ��������-���������� ��������� (�.�. �������� �); pid - ��� �������������, ����������� �������� ������� ���������� ������������ �������� � ������� ����������; |
smsg | ����� ��������� (�.�. ����������� ���������); |
rmsg | ����� ������ (� ������� ���������� ����� �������� �); |
smsg_len | ����� ����������� ���������; |
rmsg_len | ������������ ����� ������, ������� ������ �������� ������� �. |
�������� �������� �� ��, ��� � ��������� ����� �������� �� �����, ��� smsg_len ���� � ������� � ������ �� �����, ��� rmsg_len ����, - ��� ������ ��������� ����, ��� ������ ������� �� ����� �����������.
������� � ����� ������� ������ Send(), �������� ��������� �, � ������� ������� Receive()
pid = Receive (0, msg, msg_len);
������� Receive() ����� ��������� ���������:
pid | ������������� ��������, ���������� ��������� (�.�. �������� �); |
0 | (����) ��������� �� ��, ��� ������� � ����� ������� ��������� �� ������ ��������; |
msg | �����, � ������� ����� ������� ���������; |
msg_len | ������������ ���������� ���� ������, ������� ����� ����������� � �������� ������. |
� ��� ������, ���� �������� smsg_len � ������� Send() � msg_len � ������� Receive() �����������, �� ���������� ������������ ������ ����� ������������ ���������� �� ���.
����� ��������� ������ ��������� �� �������� � ������� � ������ �������� ���, ��������� ������� Reply()
Reply (pid, reply, reply_len)
������� Reply ����� ��������� ���������:
pid | ������������� ��������, �������� ������������ ����� (�.�. �������� �); |
reply | ����� ������; |
reply_len | ����� ���������, ������������� � ������. |
���� �������� reply_len � ������� Reply() � rmsg_len � ������� Send() �����������, �� ���������� ������������ ������ ������������ ���������� �� ���.
������ �������� ���������, ������� �� ������ ��� �����������, ������������ �������� �������� ������ ��������, ��� ������� ������������� ������� ��������� � RECEIVE-������������ ���������, ������ ������� �� ������� �������� �� ���������� �����-���� ������. ���� ������ �������� ��������� ���������� Send-�����������, ��� ������� �������, ��������� ������������, ���������� ������, ������� ���������, � ������������� ������� ��������� ������, ������� ����� �� �������� ���������.
���������� ��� � ������, ����� ����������������, ��� Send-�����������, �� � ��������� ������� ����� ���������������� ������ �������� ���������, � ������_ ���� ��������� �������������� ���������� � �������� ���������, ������� ������� �����.
� ������� QNX ������� �������, ��������������� �������������� ����������� �������� ���������, � ������:
������ ��� ������ ��������� ������������ ������� Receive(). ���� ������ ������ ��������� � ����������� ������� �������� �������� ����������������.
������, ������ �������� ��������� �������������� "�����", ���� �� ��� ������� ���������, ����� �� ������� ����������� ��������� � RECEIVE-������������� ���������. ��������, �������� ��������� ����������� ��������� ���������������� ���������, �� ��������� ������������ ����������, � ����� ����, ������� ������ �������� �� ���������, ����������� �� ������ ���������. � ���� ������ ������������ ������� Creceive(), ������� ��������� ���������, ���� ��� ���������� ���������, ��� ���������� ���������� ���������� ��������, ���� ��� �� ������ ������������� ���������.
� ��������� ������� ���������������� ��������� ��� ���������� ������ ����� ��������� ��� ����, ����� ������������ �����, ��� ���������� ��� ���������, � �� �������� ������� �����.
��������, ������������� �����/������ ����� ��������� ��� ������ ���������, ��������� �� ��������� ������������� ����� � ����������� ���������� ������. ��������� �������� �������� ���������� ���� ������ (�� 0 �� 64 �����). ������������� �����/������ ����� ��������� ������� ������ ���������, � �����, ��������� ������� Readmsg(), ��������� ������ ���������� ����� � ��������������� �����. ���� ���������� ���������� ������ ��������� ������ ������, ������������� �����/������ ����� �������� ������� Readmsg() ��������� ���, ��������� ������ �� ���� ������������ ������. ����������, ������� Writemsg() ����� ������������ ��� ����� � ����������� ������ � ����� ����������� �� ���� ��� ������������, ������ ����� ������� ���������� � ������� ����������� ������ �������������� �����/������.
�� ��� ��� �� ������������� ��������� ��� ������ ����� ������. ������, ��� �������, ��������� ������� �� ���������� ���������� ������. ��������, ��������� ����� ����� ��������� ������������� �����, �� ������� ������� ������ ���������� �����. ��� ����, ����� ����� ��������� ���������� ������������ � ����������� ��� ����������� �� ��������� ������� �����, ��������� ��������� ����� ������������� � ���������� ���������� �������. ���� ����� ��������� ��������������� �����/������ ������� QNX Dev � Fsys, ������������ ������� ������������������.
��� ������ � ���������� ����������� ������������ ��������� �������:
��� ��������� � ������� QNX ���������� � 16-�������� �����, ������� ���������� ����� ���������. ��������� �������� QNX ���������� ��������� ���� ���������:
Proxy ������������ ����� ����� ������������� �������� ���������, ���������� ��������������� ��� ���������� � ��������, ��� ������� �������-����������� �� ��������� �� �������������� � ���������-�����������. ������������ �������� proxy �������� ������� �������������� ��������� ��������, ���������� proxy. ��� ��, ��� � ���������, proxy �������� �� ���� ����.
��������� ������������� proxy, ������� ��� ���������� ���������� ����� ������� ��������� ������� ��������, �� ���������� � �� ������ ������. ���� ��������� ��������� ������� ������������� proxy:
Proxy ��������� � ������� ������� qnx_proxy_attach(). ����� ������� ��� ���������� ����������, �������� �������� ������������� proxy, ����� ��������������� �������� Trigger() ��� ����, ����� ������ ������� ������������ ���������. ��������� Trigger() ��������� ����.
������� proxy ����� ���� ������� ��������� ���: ������ ��������� ���������� ������ ��� ��� ��� �������. ������� proxy ����� �������� � ������� ��� ������ �� 65535 ���������.
����� ����������� �������� ������������ ����� ������������ ����� ������������ ��������������, ������������ � ��������� ������������ ��������.
� ������� QNX �������������� ������� ����� POSIX-����������� ��������, ����������� QNX-�������, � ��� �� ����������� ����������� �������, ������������ � ��������� ������� ������� UNIX.
������ �������� �������� ��� ����������� ���������� ������� ������������� ��� ������� ������� �������. ������� ����� ������ ������ ������ ����.
� ����������� �� ����, ����� ������� ��� ��������� ������ ��������� �������, �������� ��� �������� ��� ������:
�������� ������� ����� ���������� � ������� ������� ���������� ���������. � ������ ������ ������� ��� ������ �������� ����� ���� ��������� ��������� ������ ��������. ������� �������� �������� �����, ����� ����������� ���� ��������� ������� � ��������� ���������� � ����������. ������� ����������� ����������� �������� �� ���������.
� ����������� ���� ������� ���������� �������� ���� �������� � ��������� �������������� ������ ��� ������������, � ����� ��������, ����������� �� ��������� ��� ����������� �������.
�������� �����������:
��� ������� ������� ��������� ������� ������� ��������������� �������� ANSI C signal() ��� �������� POSIX sigaction().
������� sigaction() ������������� ������ ������������ �� ���������� ������ ��������� �������.
������ ��������� ������� ����� �������� � ����� �����. ���� ���������� ����������� ����� ������������� ��������, �� ��� ����������� ������� ����� ���������� ��������.
������� ��������� ����������� ������ ���������, ������� "�����" ������� � ������� ����������� ��������.
���������� �������� ���������� ������������ ����������. �� ����������� ���������� � ������� ����������� ��������. �������������, ���������� �������� ����� ���� ������� �� ����� ���������� ����� ������� � ��������� (������� ������������ �������).
���� �������� �� ��������� �������� ���������� �� ����������� �������� � ���������� �����, �� � ���� ������ � ����������� �������� ����� ���� ������������ ������� siglongjmp() ��� longjmp(). ������ siglongjmp() ����������������, �.�. � ������ ������������� longjmp() ������ �������� �������������.
����������� ���� ������������ ������� ���������� POSIX � ANSI C ������������� � ������������� � ������������ ��������. �� ������� �������� ������������ ������ ������������ �������, ��� ��� ���������� ����� ����� ���� ��������������. ������� ������������, ������������ � ����� ���������, ������ ���� ����������� �������� ���������.
������ ����� ������������� �������� ��������� ������ �������, �� ������� ��� ���� ������� ��� ���������. � ������� QNX ������� ����� �������, ������� ��������� ����������� ������ ��������. ����� ������������� ������ �������� ���������.
�� ����� ������ ����������� �������� QNX ������������� ��������� �������������� ������. ��� ��������, ��� �� ��������� �������������� ��������� ������ ����������� ��������. ������ ����� ����������� �������� ����������� ���������� ��������� ������� ����. ��� ���������� �������� ���������� �� �����������, ������ ������������� ��������������.
���������� ������ ����������� ����� ��������� � �����������. ���� ��� ��������� ������� ��� ������� �������� SEND-������������� ��� RECEIVE-������������� (������ ������� ���������� ��������), �� ����� ����������� ��������� ��������:
���� ������� ��� SEND-�������������, �� �������� �� ���������, ��� ��� ���������� �� ������� ���������. �� ���� ������� ��� REPLY-�������������, �� ����������, ���� ���������� ������������ ��������� ��� ���, � ������������� ����������, ����� �� ��� ��� �������� Send().
�������, ����������� ������� ������� (�.�. ����������� ���������), ����� ����������� ����������� � ���, ����� ������������� ������� ������ ������, �������� � REPLY-������������� ���������. � ���� ������ ������������� ������� ���������� SIGNAL-������������� � ����������� ��������, � ������������� ������� ��������� ����������� ���������, ����������� ��� �������. ������������� ������� ����� ������� ���� �� ��������� ��������:
����� ������������� ������� �������� ������� ��������, ��� �� SIGNAL-����������, ������ �������� ���������� ����� �������� ���������� �������� Send().
� ������� QNX ���������� ����� ����������������� � ���������, ������������� �� ������ ���������� ����, ��� �� ��� � ���������, ������������� �� ����� ����������. � ����� ����, � ����� ������ ���������� ��� ������� ������� ����� ���������� � ���������� ���������.
����� ������� ������� ������������ �������������� ��������� ������������� ����������� �������, ������� �������� ������, �� ������� ������� ������������� �������� ��������� � ������� �� ���� ����.
����������� ������ (��) ������������ ������������ ������������� �������� �� ���� ���� QNX �� ���������� ��������:
�������-����������� �������� �� ��������� ������������ ������ ����� ����� � ���������, � ������� ��������������� �����. ��� ����� �������-����������� ������ �������� ������� qnx_vc_attach(). ��� ����, ����� �������� ������������ ������, �� ������ ����� ������ ��������� ����������� ������� � ��������������� - VID. ��� ������� �������� �� ����� ������ ������������ ������ VID ������������ ����� ������������� ���������� ��������, � ������� ��������������� �����. �������� ����������� ���� � ������ ����������� VID.
��������, �� ���. 8 ����������� ����� ��������� �������� PID1 � PID2. �� ���� 20, ��� ��������� PID1, VID2 ������������ PID2. �� ���� 40, ��� ��������� PID2, VID1 ������������ PID1. PID1 � PID2 ����� ���������� � ������������ �������� �� ����� ����, ��� � ������ ������� ���������� ��������: �������� � ��������� ���������, �������� �������, ������� � �.�. ���, ��������, PID1 ����� ������� ��������� � VID �� ����� ����� ������������ ������, ������� ����� �������� �� ���� � VID �� ������ ����� ������������ ������, ��������������� ��� PID1. ��� VID1 �������� ��������� PID2.
������ VID ������������ ����������, ������� �������� ��������� ����������:
���� �� ��� �������� �������� � ����������� ������� ��������. ���� ���������� ���������, ��������, �������� ������ � ���������� ������� �����/������, �� ����������� ����� ��������� ���������� ������������ �������� open(). ���������� ��������������� �� ��������� � �������� ��� ������������� ������������ ������. ���� ���������� ���������� ���������� �������������� ��� �������� � ������� ������� qnx_name_locate(), �� ����������� ����� ��������� ������������� ��� ������ �������. ��� ���������� ����������� ����� ������ ��������������� � PID.
��� ���������� �����������, ���������� � ��������� ����������� ������������ ������, ������������ ������� netpoll.
����������� ���� ����������� � ��������� �������:
� ������� QNX ������� �������� ������������� ���������. ����������� �������� ��� ���������� ��������, ����������� � ��������� �����, � ������������ � �� ������������. (����������� ��������� ����� ������������ ������ �������, ����������� � ��������� �����.) ��� ���������� ���������� �������, ������� ��������� ���������.
�� ���. 9 ����������� ������ ���������� ��������� � ������������ � �����������.
��������� ������������� ���������� � ��������� �� 0 (������) �� 31 (������). �� ��������� ������� ��������� ��������� �� ����������� ��� ��������; ������ �� ����� 10 ��� ����������, ����������� �� �������������� Shell.
��� �������������� ������������ ������ ���������� � ������� QNX ����������� ��� ������ ������������:
������ ������� � ������� ����� �����������, ��������� ����� �� ���� �������. ��� ���������� ������������� � ������ ��������, � �� �� ���� ��������� �� ����.
���������, ��� ������ ������ ������������ ������������ ������ �����, ����� ��� ��� ����� ���������, ����������� ���� � ��� �� ���������, ��������� � ��������� ����� (�.�. �������� ��������������� ����������� ���� � ������). ���� � ��������� ����� ��������� �������, ������� ����� ������� ���������, �� ���������� ��������� ��� �������� � ������� �����������.
��� ��������, ������� ���������� ����������, ��������� � ��������� �����. ���� ������� � �����������, ������� � ������ �����������.
����� ������������ ����������� �� ������������ ��������, ������, �� ����� ���� �������.
��� ������������ �� �������� ������� ������� �������, ��������� ��� ����������, ���������� �������� �� ��� ���, ���� ��:
��� ��������, ������������� � ����������� ������������, ����� ������������ ������������ �� �������� ������� ������� �� ��������� �������� "������������" ��� ��������� � ������������ �������. ��������, ���� ��� ��������� ������� ������, �� ������ �� ���� ��������� ����� ��������� ������� ��� ������������� ��������� ���� ���������.
��� �������� ������ ������������ �������, ��������� ��� ����������, ���������� �������� �� ��� ���, ���� ��:
����� ������� - ��� ������� ���������� ���������, ������������ �� ������ ���������. �� ��������� ������ �������, ������� �����������, � ���������� ���������� ��������, ������������ �� ��� �� ������ ���������� � ��������� �����. ����� ������� ����� 100 �������������.
��� ���������� ������������ ������� ����� ���� ��������� �������:
���������� ������������ ����� ������������ � �����, ��� ���������� ������������� ������� �������� ��������� ��������� � ����������������� ����������, ����������� � ���������� ������. ���������� ������������ ��������� ���������� ������������� ��������� ����������� ������ � ������������ ���������� � �������� ����� ����� ������� ��� ���������, ���������� � ���������� ������.
���������, ���������� �� �������������� Shell, ���������� �� ��������� ���������� ����� ������������.
� ������� QNX � ����������� ������� �������������� ����� ���������� ������������ ������ "������-������". ������� (������������� ��������) ��������� ��������� ��������� �������, � ������� (������������� ��������) �������� ��������� � ���� ��������, ���������� ������������. � ����� ������ ������� ����� "������� � ����������", ��� �������.
������ ���������� �������� ����������� ���������� ��������. � ���������� ������, ��� �������, ����������� � �����������, ������������� ���������� ���� ����� ��������. ��� ���� ����� �������������� ����� �� ��������� ���� ������� ������������, ������, �������� ����� ����������������.
���� ����������������� ������ �������� ��������� �������, �� �� ��������� ��� ������ ����� �������������� �������� � ����� ������� �����������. ��� �������� �������� ��������� �������, ��� ��� ������ ������ ������� �������� �������� ������. ���� ������ �������� �� �������� ������� �������, �� ���� ����� ����������. ���� �� ������ �������� ����� ���������� �����, �� ����������������� ������ ����� ��������� ������ �� ������ ��������, ������� ���������� ����, ��� � �������, �� ����, ��� � �������.
��� ���������� ���� ��������, ������� ����� ������������� ���������, ��������������� ���������� �������, ������� ������ ��� ���������. ����� ������ �������� ���������, ��� ��������� ���������� ������ ���������� �������. �������� �������� �� ��, ��� �������� ������ ���������, � ����� ������������ �������� ��� ��. ���� ��� ������ ������� ��������� ������ ���������, �� ��������� ������� ������������� � ��� ������, ���� ��������� ������ ������� �������� ���� ���������� �������. � ���������� ����� ������ "�����������" ��������� ������� ��� ����, �������� ��� ��������� ���������� �������� ������� � ������� � ���������� ����� ������������. ���� ����� �� �������, �� ��������� ������ ������� ��������� ��, ��� ��� �� �������������� �� �� ����������������� �������.
���� �� ��������� ��� ������ ������� ����������, ����������� ��������, �� ��� ������� ����� ������������ � � ���, ����� ��������� ������������ � ������� ����������� (� �� � ������� ������� �����������).
��� ��������� ����������, ������������ ��������, �������������� �������� qnx_pflags()
��� �� ��� ����� �� ��������, �� ��������� �� ����� ����� ����������� ��������������. � ������� ��������� ������� ������ �����, ������������ ��� ����� ������ ������������ ����������. ����� ����� �������������� �������� ������� ����� �������������� �������� ������� � ����������� ������� ���������� ���������, ����������� �������� ������� �� ��� �������. ��� ����� ���������� ��������� ��� �������� �������� (latency). � ������� QNX ����� ���������� ��������� ����� ��������.
�������� ���������� - ��� �������� ������� ����� ������� ����������� ���������� � ������� ���������� ������ ������� ����������� ������� ����������. � ������� QNX ��� ���������� ������� ��� �����, ������� �������� ���������� ������ �������������. �� ��������� ����������� ��������� �������, ����� �� ����� �� ���������� ���������� ���� �������. ������������ ����� �������� ���������� ������ ���������� ������ ������ �������� ����������; ������� ��������, ��� � ������� QNX ��� ����� ����� ����.
�� ���._12 ������������ ��������� ��������� ����������� ���������� ��������������� ������������ ����������. ���������� ���������� ���� ������ ���������� ���������� ��������, ���� ���������� ���������� � �������� "������������" proxy.
�� ���������, ����������� ����, �������� ���������� (Til) ������������ ����� ����������� ��������, ��� ������, ����� �� ����� ������������� ���������� ��� ���������� ���� �������. � ������ ������ �������� ����� ����� ������� ���� ���������� ����� ������ �������� QNX, ����� ���������� �������.
� ��������� ������� ����������������� ���������� ���������� ���������� ������ ����������� ���������� ������������������ ���������. � ���� ������ ���������� ���������� ���������� ���������� � �������� ������������ proxy. ��� � ���� ������ ����� �������� - �������� ������������, ������� �� ���������� ����.
�������� ������������ - ��� ����� ����� ����������� ������ ����������� ���������� � ������� ���������� ������ ������� ������������ ��������. ������ ��� �������� �������, ������� ��������� ��� ���������� ��������� ��������, �������������� � ������ ������ �������, � �������������� ��������� ������������ ��������. �������� �� ��, ��� ��� ����� ������ �������� ����������, ��� ����� �������� ��������� � ������� QNX.
�� ���. 13 ������������ ��������� �������� ������������.
����� ��������, ��� ����������� ������������ ���������� ��������� ������ ��� ������������� "������������" proxy. � ����������� ������� ���������� ���������� ��� ����������� �� ����� ����������� ���������. ������ proxy ��� ����������� ������������ �������� ����� �������� ������ ���������� ������ ��� ������������� ������ �������. ��������, ���������� ���������� �������� ���������� � ���������������� �����������, ���������� ���� ���� ������ ����������, ������ �� ������ �������� ���������� �� �������� ��������� ��������������� ������� (Dev) ������ � ��� ������, ���� �������� ����� � ����� �������� ������.
��������� ����������� ��������������� ��������� ����������� ���������� ����������� ����������, �� ��������������� ���������� ����� ��������� ��������������.
���� �������� ��������� �������������� � ������� QNX.
� ���������� �������� ������� ���������� � �������� ������� ��������, ����� ��������� ������ ���� ����������. ����������� ����� �� ��������� �������������� ����� ���������� � ������ �����������. ��� ������� ��������� ��������� ����������� ��� ����������������� ���������� ������� ��������� ����� ��������� ���� ������������������ ����������, ��� ��� � ������� QNX ������������������ ���������� ��������� �����������������.
�� ���. 14 ����������� ������ ���������� ��������.
2.3.5. Reply-����������� �������� ���������
2.3.6. �������������� ����������
�������� �� ��� ��������� ��������, ������� �������� ��������� ������� ������� �������� ������ ������������ �������. ��������, Send() ����� �� ���� ���������� � ������ ������, ��� ������������� ����� ����������� ��������� ���������. ����� ����, ����� ���� ������������ ������������ ��������� ������ ��� �������� ������ ��������. ������������� ������� ������ Reply(), �������� ����������� �������� ���������� �����������, � ����� ���������� ���� ������.
������������� ������� ������ ��������� �� ������������� ��������� � � �, �� �� ������� �� ���. ��������� �� ��������� C, D, E ��� �� �������.
��c. 5
2.3.7. �������������� ����������� �������� ���������
�������� ����� ���������
�� ����������� ������� �������� ������������� ������� Creceive(), ��� ��� ��� ��������� �������� ���������� ��������� ��������� �� ��������������� ������������ ������.
������ ��� ������ ����� ���������
�������� ��������� ���������
C�������� ��������� ����� ���� ������� � ������� ����������� ��������� mx. ���� �������� ����� ��������� � ������ ����� ������.
��c. 6
2.3.8. ����������������� ���� ���������
0X0000 - 0X00FF
��������� �������������� ���������;
0X0100 - 0X01FF
��������� �����/������ (��� ���� ������������� ��������);
0X0200 - 0X02FF
��������� �������������� �������� �������;
0X0300 - 0X03FF
��������� �������������� ���������;
0X0400 - 0X04FF
��������� �������� ��������������;
0X0500 - 0X0FFF
��������������� ��� ��������� ���������, ������� ����� ��������� � �������.
2.4. ����� ����� ���������� ����������� proxy
������������� ������� ������ ��������� � proxy, � ���������� ���� ������������� ������� ������� ��� "������������������" ��������� �� proxy.
���. 7
2.5. ����� ����� ���������� ����������� ��������
2.5.1. ��������� ��������
���� �� ������
�����������
������������� ������ �� �������������� Shell
������� kill ��� slay
������������� ������ �� ��������
������� kill() ��� raise()
2.5.2. ����� ��������
2.5.3. �������� ��������
������
��������������
�������� �� ���������
��������
����������� �������
SIGABRT
��
��������� �������
������ ������������� ����������, ����� ��, ����� �������� �������� abort()
SIGALARM
��
��������� �������
������ ��������� �������, ����� ��, ����� �������� �������� alarm()
SIGFPE**
��
��������� �������
��������� �������������� �������� (������������� ��� � ��������� ������), ��������, ������� �� 0 ��� ��������, ���������� � ������������
SIGHUP
��
��������� �������
������ ���������� ������, ���� ��������� �� ����������� ���������
SIGILL
��
��������� �������
����������� ���������� ������
SIGINT
��
��������� �������
������������� ������ �������� (
SIGKILL
��
��������� �������
������ ���������� (������� ������������ ������ � ������������ ���������)
SIGPIPE
��
��������� �������
������� ������ � ����� ��� ���������� ���������, �������� �� ����
SIGOUIT
��
��������� �������
������������� ������ ����������
SIGSEGV**
��
��������� �������
����������� ������������ ������ � ������
SIGTERM
��
��������� �������
������ ����������
SIGUSR1
��
��������� �������
�������������� ��� 1-� ������, ������������ �����������
SIGUSR2
��
��������� �������
�������������� ��� 2-� ������, ������������ �����������
�������, ����������� ������� ���������
SIGHLD
��
������������ ������
��������� ����������� �������
SIGCONT
���
���������� �������
����������, ���� ������ ������� �������� ��������; �������� ���� ������, ���� ���� ������� �� ��������
SIGSTOP*
���
������������� �������
������ ��������� ��������
SIGTSTP*
���
������������ ������
�� �������������� � QNX
SIGTTIN
���
������������ ������
�� �������������� � QNX
SIGTTOU
���
������������ ������
�� �������������� � QNX
����������� ������� QNX
SIGBUS**
��
��������� �������
��������� �� ������ �������� � ������ (����������� ������������� QNX)
SIGDEV
��
��������� �������
������������, ����� � �������������� ��������� ��������� ������ � ������������� �������
SIGPWR
��
��������� �������
������ ������������ �� ������� ������ <CTRL> <ALT> <SHIFT> <DEL> ��� �� ���������� ������� shutdown
����������� ���������� ������� UNIX
SIGIOT***
��
��������� �������
������� IOT
SIGSIS***
��
��������� �������
������������ �������� � ��������� ������
SIGWINCH***
��
��������� �������
����� ����
SIGURG***
��
��������� �������
���������� ������������ �������
SIGPOLL***
��
��������� �������
���������� ���������� �������
SIGEMT***
��
��������� �������
������� EMT (�������� ����������� ����������)
SIGTRAP
��
��������� �������
���������������� ����������� ����������
* ������������� ������� ����� "��������" ���� �� ����� ������� ����������� ������� qnx_pflags(). ��� ����� ������������� ������� ������ ����� ������� �����������������; ** ������� ����������� � ������ ������������� ������� ���� �� ����� ��������� ��������� �������; *** ���� ������ �������� ��� ������������ ������������� � ���������� �������� ������� UNIX, �� �� ������������ �������� ������������ ������� QNX. 2.5.4. ����������� ������� ��������� �������
2.5.5. ��������� ��������
2.5.6. ������������� ������� ��� ������������ ��������
_exit() getegid() rmdir() tcdrain()
access() geteuid() setgid() tcflow()
alarm() getgid() setpgid() tcflush()
cfgetispeed() getgroups() setsid() tcgetattr()
cfgetospeed() getpgrp() setnid() tcgetpgrp()
cfsetispeed() getpid() sigaction() tcsendbreak()
cfsetospeed() getppid() sigaddset() tcsetattr()
chdir() getuid() sigdelset() tcgetgrp()
chmod() kill() sigemptyset() time()
chown() link() sigfillset() times()
close() lseek() sigismember() umask()
creat() mkdir() signal() uname()
dup2() mkfifo() sigpending() unlink()
dup() open() sigprocmask() ustat()
execle() pathconf() sigsuspend() utime()
execve() pause() slup() wait()
fcntl() pipe() stat() waitpid()
fork() read() sysconf() write()
fstat() rename()
2.5.7. ���������� ��������
� ��������� ������� ������� UNIX ������ � ������������ �������� ������������ �����������, ��� ��� � ��� �� ������������� ���������� ��������. � ���������� � ��������� �����������, ���������� ��� ����������� UNIX, ������������ ������� signal() ������ ����������� ���������� � ����� "����������" �����������. � ���� ������ ����� ���������� ���� �� ���� ��������� ��������. ��-������, ���� ������ ������ ���������, �� ����� ������ �����������, �� ������ ������� signal() ��� �� ����, �� ��������� ����� ����� � ���������. ��-������, ���� ������ ��������� ����� �� ����� ������ ������������ ������� signal(), �� ���������� ����� ����������� ����������. � QNX ����������� ���������� ��������, ������� ��������� ���� �������� �� ����� ����������. ��� ������������� �������� signal() �� �����������. ���� ��������� ����� �� ����� ����� �����������, �� ������� ��������������� �������� siglongjmp().
2.5.8. ������� � ���������
2.6. ����� ����� ���������� � ����
2.6.1. ����������� ������
2.6.2. ����������� ��������
����� �� ���� �������������� ����������� ����������� �������. ����� ������� PID1 �������� ��������� VID2 ������ send �������� �� ������������ ������, � ���������� ���� PID2 �������� ��������� �� VID1.
���. 8
2.7. ������������ ���������
2.7.1. ����� ����������� ������������
2.7.2. ���������� ���������
������� ��������� (A-F), ����������� � ��������� �����. ��������� �������� (G-Z) �����������. � ������ ������ ����������� ������� �. �������� �, B � � ����� ������ ���������, ������� ��� ����� ��������� ������������ ����� � ������������ � ������������� ���������� ������������.
���. 9
���� �� ������
�����������
���������� ��������� ��������
������� getprio()
������ ��������� ��������
������� setprio()
2.7.3. ������ ������������
���. 10
���� �� ������
�����������
���������� ����� ������������ ��� ��������
������� getscheduler()
���������� ����� ������������ ��� ��������
������� setscheduler()
������������ �� �������� ������� �������
�������� ����� ������������
�� ����������� ����������� ������� �������� ����� ������������ ��������� ������������ �� �������� ������� �������.
���������� ������������
������ ������������
������� � ���������� ����������� �� ��������� ������ �������, ����� ���� � ����������� �� ��������� ������������ ������������, ��� ���������� ������.
���. 11
���������, ����������� ��������
qnx_pflags(~0, _PPF_PRIORITY_FLOAT | _PPF_PRIORITY_REC, 0, 0);
2.8. � ������ � �������� �������
2.8.1. �������� ����������
������ ������������
���������� ���������� ��������� ������������. ������� ���� ��� ���������� 386, 20 ��� � ���������� ������.
���. 12
2.8.2. �������� ������������
������ ������������
���������� ���������� ��������� ������ � ���������� "������������" proxy. ������� ���� ��� ���������� 386, 20 ��� � ���������� ������.
���. 13
2.8.3. ��������� ����������
������ ������������
����������� ������� �. ���������� IRQx ��������� ���������� ���������� Intx, ������� ����������� ����������� IRQy � ��� ������������ Inty. Inty �������� "������������" proxy, ������� ��������� ������� �, � Intx �������� "������������" proxy, ����������� ������� �.
���. 14
����� ���������� ������
������� ������ �������