Dr. ir. M. Timmerman
Royal Military Academy, Renaissancelaan 30, B-1000 BRUSSELS
Real-Time Consult, Rue de la Justice 23, B-1070 BRUSSELS
Email: [email protected] URL: http:www.realtime-info.be
ir. J-C. Monfret
Real-Time Consult, Rue de la Justice 23, B-1070 BRUSSELS
Email: [email protected] URL: http:www.realtime-consult.com
������� � ����.
��� ������ �������� �������� ������������ Windows NT ��� ����������� �� �� ���� ������� �������������� ��������. ������������� �� ��� ������� ��� ������� ������� �������, �� ����������� ������� ������������ �� ��������������� � ���������������� ��������. ������ ��������� "� ����" �������, ����� �� �������� � ������ ��������� �������. ������������� �� Windows NT ����� ����������?
������� �� ���������, ��� ����� �� ��������� ������� � ����� �������������� ������ ����� ��, ����� �� �� ���� ����� ���� ��������� ������� ��������� �������. ����� ������� ������� ������� � ������ ������� ��������� �������. �� ������ ����� �� ���������� ��� � ������ Windows NT �� ������������� �����������, ������������� �������� ��������� ��������� �������. �� ������� ������, ��� � ��������� ������� ������ �������� ��������� ������� Windows NT ����� �������������� ��� ��������� ���������������.
��� �������������� Windows NT ����������, ������������� � �� ��������� ������� (����) �� �����������: ��� �������������� ��� ������������ �� (���) ���, ����� �����, ��� ������� �� (���). ��� �� �����, � ���� ����, ��� Windows NT ����������� �������������� �� VMS, � ��� �������� �������� ������� ��������� �������. �������� Microsoft ����� ������� ������ ��������� ��������� �������. ��� ���������������� ����� �� ������� ��� ��� ���� �� � ����. �������� ���������� ISR (Interrupt Service Routine) ����� ���������� ����� ���������� [1]. ������ ��������� �� ��� ���������������� Windows NT ��� ����?
������� ��������� ������� (���) ������ ������ ������ �� ����� ��������������� ������� ����������� � ������� �������������� ��������� �������. ��� ����� ������ ����������� ��������� ����������:
����������� ������� �������. �.�. ����� ����������� ������� ������� �� ���� �������������� ��������� �� ������������������ �������� �����. ���������� ������ ����������� ��������������� ��� ��������� ���������� ������������ �����������.
��������, �� ��������� ����������� ��������� ��������� ������� ���������� ���������, ������������ ���������. ��� �������� ������� ������ � ������������������� �, ������ �����, ����� ���� ��������� ��������� �� ����� ������� ���������. ������, ����� ��������, ��� ������������� ����� �������� ���������� �� ������� �������� ���������� ����������� �� ����� ������� [2].
��������������� ���������: ���� ���� ��������� ����� ������ ������� ������������, ��� ��������� ����������� ��� ���� ������� ������ ���� ���������. ��� ��������, ��� ������� ��������� ������� ������ ���� ������ �����������. ��� ����������� �������������� ���������� ����������� � ������� �/��� �������������� �������.
������� �������� ������� ������� ��������� ������� �������� �������� ������� �������� �������� ������������� ���������� � ������.
��������� �������� �������� ������� � ���������� �������� ����������. �� ������ ������ �� ������ ������������ ������������� �����, ��������� ��� ��� ���� ������� �������� ��� ��������� ���������. �����������, ��� ���� ��������� ������������������ �������.
������� ��������� ������ ��������� ������� �������� ������� ���������� �������� ���������������� ��� ���������������� ����������, ������������ �����������, ���������� �����������, ����������� ���������, ��������, ���������� ������������� ��������������, ���������� �������������� �����������, �������������, ��������������� ������� ����������, ������� �������������� ��������, ������� ������������ - ������ ����������.
�������� ����� ������� � ������ ��� ������� �� ���������� � ������� - ������� ��������� �������, ���� "��������� ��������� ����������� �� ���������" � ������ ���� "��������� ��������� ����������� �� ����������". ������� ��������� ��������� � ������ ������ �������� "�������" � "������" ���. ����� ���� ��������������� ��, ��� ������ ��� �� �������� ��� ����� ��� �������� ���������� ���������� ��������� ����������� �� ���������. � ���������������� ������ ��� ����� ������������ ��������� �� ��������� � ������� ��������. � ���� ������ ��� "������� ��������" ���������� ������ ���. �������
�� ���������� ���� ��� ��, ������� ����� �������������� ��� ���������� ������� ���.
����� ������ ������� ��� � ����, � ����� ����������� ���������� �������� "������" � "�������". ������ �������, ��� �� ��� ���� ���� ������ ��� �������. ��� ������ ��� ������� ����. ���� ����� ������ ������� ������� ��� ���������� ������ ��� ������� ���. ���� �� ���� ���� �� ������������ ����, ��� ���� ��� ����� ������. ��������, ���� �� ������ ������� ���, ������� ������ �������� ����� Ethernet �� ��������� TCP/IP. ����� ������� �� ����� ���� ������� ���, ��������� ���� ���� Ethernet ��������������. ����������, ���� �� ������ ������� ���������� �� ���� �� ����� Windows 3.11, ���� ������� ������� �� ����� ������� ���, ��� ��������� ����� "��" ������ ������� �� �������� �������������.
��� ����������� ����, ���� ������ ���� �������������. ��� �������� �� ��, ��� ���� ������ ���� �������, � ��, ��� ������������ ����� ���������� ���� ��� ����� �������� ������ ���� �������� ������� � ������ ��������������� ����������� ����������. �� Windows 3.11 ���� �� Pentium PRO 200 MHz ���������� ��� ����, ��� ���� ���������� ����� ��������� ���������� � ������������� ������� ��� ���������. ������ ���������� ������� � ���, ��� �� ������ ���� ������������ �� �������� ����������� ���������� (�����������). �� ����, ����������� ������ ����� ����������� �������� ����� ���� � ������������ ������ ����, ������� �� ����� ���������. �� (� ����������) ������ ����� ������������ ���������� �� ������ ��������� ����������.
�������� � ���, ����� ���������� ����� ������ ������ ��������� ����� �����. � ��������� �������� ���� ������ ������ ���� ��� �������� � ��������� ������� ������ (�� �������� ��� ��, ����������� ��������� ������������ (deadline driven OS), ��. ����� [2]). ����� ����������� ���, �� ������ ����� ������� ������� ��������� ������ �� ������������� ����� ��� ����������. �� ��� ��� �� ���������� ��, ����������� �� ����� ��������, ��� ��� �� ������� ������ ��� ����������. ������� ������������ �� ��������� ���� ����� ������: �������� ������� ������ ���������� ��� ������, � ��������� ����������� ������ � �����������. ��� ��� ������������� ������� ������� ��������, ���������� ��� ��� ���� ���������. ����� ����� ���������� ����������� ��������� �������������� �����������, ������������� ����� ��������������� ������� ���������� [2] ��� ������������ �������������� [9], ���� � ��� ����� ��������� �����������. ��� �� �����, ��� ��� �� ����������� ���� �� ������� ����� �������, ������� ���������� ���� - ���������.
��� ��� ������ ��������� ������ (�������) � ������ ���������� ���� � ������, �������������� ��������, ��� ������ ������������ ��������� ������������ � ������������.
�� ����� ����, ������ ���� �������� ������������� � ��� ����, ��� ��������� ���� ���������� ���� � �� �� ������������ ������, �������� ���� �� ���������. �������� �� ��������� ���� � �� �� ������������ ������. ��� ��������, ������ ������ UNIX �� �������� �������������. ������ UNIX - ������������� ��, ��� �������� �������� ��������, ������� ���������� ����� ������ (pipes) � ����������� ������. ��� ��� ��������� ���������� �������� �������, � �� ��������� - ��������������.
���������� ���������� ���� � ���������� �������� ����� ���� �������� � ������� ������� - ������������ �������� �������� �����������. ��� ����� ����������������� �� �������, ��� ���� ��� ������� ��� ����. ����� ���� ������� ���������� ��������� ������, ����������� � ����� ������� ����������, � ������ ����������� ���� �������� ����������, ���������� ���� ������� ���������� ����� ��������������, ���� �� ����������� ������ � �� ���������� ���� �������� ����������. � ���� �������� �����, ����������� ��� ���������� ���� ������� ���������� ������� �� ������ ������������ �������, - ��� � ���� �������� �����������. ����, ��� � ����� �������� ������ ��������� ����������� �� ����� ����������.
����� ��������� ����� �������� ���� ������ ��������� ������������ ����������, �.�., ��������� ������ ���������� ���� �� ������ ����, ������� �� ��������. ������������ ��������, ��� ����������� ������ ���� ��������� ��������� ����, ������� ��� ��������� (����������, ��� ����������� ���� � ��� ������, ���� ����������� ���� ����� ����� ������� ���������).
������ ����������, ��� � �������� ���������������� ������� ����� �������� �� ���������. � ������ ������� ������ � ���� ������ �����������. ������������ ������ ������� ���� �������� ������� � ���������� ���������� ���� ������� ������, ��� ������ �������� ���������������. ���������� ��� �������� � ������, ����� ��� ���� ������ ����������� ���������� �� ���� ������. � ����� ������ ������� �� ����������.
�������, ������� ����������� ��������� �����������. ������� ���������� ��������� ������� � ��������� �������������� ��������� ������� � ��������� ��������������� ������ ���� �������� ������������. ������� ������������� ���� ������ ��������� ��������� ��������������:
����� ��� ��������� �������������� �� ��������, ����� ����������� ���� ���������� ��� �� �� ����. �����������, ���������� �� ������������������ � ��������������� ������� ������ ���� ����������� � ������������� ��������� ���� � ����������.
����, ��� Windows NT ������������ �� � ���������� ����������� [3] � ��� ������� ������������� ���������� 1. �������������� ��������� ��� ������������. ��� ���������� ��������� ��������� Windows NT � ������� ���� ����� �� � ��� ������� ��� ���� ��������� � Windows NT.
� ��� ������ ����� ��������� ����������. ����� ��������� �� ������� �������� ����� ������� ���������. ������ ��, ��������, ����������� ��������� �������, ����������� ������� � ���� ��� ���������������� ������� ����� ����� ������ ���������. ����� ��������� ��� ��������, �� ������ ����� ����������� ��������� ���������� ���� �������.
� Windows NT ������� ���������� ������ �������:
������� ��� ������ ����������� ��� ��������� - ����� ��������� ������� � ������������ �����. �������� ������ ��������� ������� ����� ������������� ������������ �������, ������� ����� ���� ������� ������ � ����������, ����� ��� ���������� ��������� ������������� ������ �������� ������������� � ����������� �� ���� ������, ����������� ��������� (������������� ��� �� �������������). ������ ������ ����� ����������� � ������ ����� ���� ����������� � ���. ������� ��������, ��� ��� �� ��������� ���������� � �������� ������� ������ � ��� ����� ������������ ������ �����, ��������� �� �� ��������� �������� � ���������� ������ ��������� �������.
������� ����� ������� ������������ �������, ������� ����� ���� ������� ������ ����� �����������.
��������� ���� � �������� ����� � ��������� +-2 � ������ �������� ���������� � ��� ����� ��������� ��� ��������� �������� ���������� ������. ��������, ���� �������� � ������� ������� ���������� 24 (����� ��������� �������) ����� ����� ���������� �� 22 �� 26, � ����� 16 � 31.
����, ��������� ���� ������� ���������� ����, ���������� 2 ��������� ���������. ������, ������� ���� ��������: ������������ ������� ����. ����������� ����������� ���� ��������� �� ������� ���� 256 �����������. ������ ��� ��������? ����� ��������: ��� ������ ����������� - ��� ����� ������������ �������. ������ ������ ��� �������������� ������� - ��������� ��������� ��������� ������ ���� [2]. �������� � Windows NT ��������������� ������ 5 (7 � ������ ���������) ������������ ������� ��� �����. ������� ������ �� ��� �������� ������ ���� � ��� �� �������. ��������������� ����� ������ ���������, ���� ����� ����� ������������ ����� ������ ��� ���� ����������� �������. ����� ���������, ��� ��� ����� ������ ������ ��������. �� � ����� ����� ����� ����������� - ���� 16. ����� ����, ����� ������������ ��������� ����� ������ �� ������ ��������� ����� ������, ��� ����� ������ ������ ��������, ��� ��� ������������� � ������ �������� ������������� (����� ������������ ������ - ������� ���������). ����� �������, Windows NT ���� �� ������ �������.
��� ���������� ����, �������� ����������� �������� ������������ ��������� ��� ���. ������� � ���� ���������������� ������� ���������: ���������� ������������ (mutex), ��������, ����������� ������� ���� (critical sections) ������ ��������� ������������ ����������. � Windows NT ��� �� ����������� [4], ������� ���������� 4 �� ���������. ������ ��������, ��������� � ��������� ����������� � Windows NT, ����������� ������������� ���������� ��������� ��������� �������, ����������� � GUI. ��� �������������� ��������� (��������� ���� ������������������ �� ���������� ���������� ������) ���������, �� ������������� ������ ��������� ��������� ������� [5]. ������ ���� ����� ������� ���������� �� ������ ��������� ������� ����� ��������� ���������� ����� ������������.
��� �� ����������, ������������ ��������� ����� �����������, ���������� � �������� �������� �����������, ������ Windows NT ��������� ����� ���� ��� ������� ��� (� ��������� ������ ����� �������).
����� ����� Windows NT? ��� ����������� ����, ���� �� ���������� ����� ���� � �� �� �� �� ���� ������� �������������� �������� ��������. ������ ���������� �������� �� ��� ���� - ������� ������������� � ������ ������� Win32 API. ����� ������� ��������� ������� �������� ��� ����������, ������������, ������ ���������� ����� ������������, ������� ��� ������ �������. ����������� �� �������������. ����� ���� ��� ��� �������� ������������ ����������. �������� �������� ����� �� ��������� � Win32 API ���������� ��������� �������.
��� ����� ������� ������ ���� ������������� � ����������� �� ����� �������� � �������.
��� ��������� �� ������� ��������� ������� ������. �� ������� �������, ������������� ������ ��������� �������, ������� ���� ����, ����������� ���������������� ��������� ������. �� ������������ ��������� ����� QuerryPerformanceCounter �� � ����� ������� ����������������� ������ ��� ��������� ������� ��� ����������. � ����� �� ��������� ��� ���������� �� ����� ��� ��������� � Excel.
�� ���������, ��� � ������� ����� �� ���� ��������� � ������� ������ �� ��� ������. �� ����� �������� ��������, ������������� �����������, � ����� �� �� ����������. ����� ���� ��������� �� Pentium 100 � 24MB RAM.
��������, ��� ���������� ������ ���� "���������� ����������" �� �������� ������� ����� ���������� 35 �����. ��� ���� ������������ ����� (�������) �������� 670 �����.
������? ��� �������� ���� ���������� ���������� ���� �� ����� ���� �� ���� (����������� ������ ���� ������������ � ����), ��� ��� ���� ����� ������������ �� ����. �� �������������� �������� ����� ���, ������������ �������� ������ ���������� �� ���� � � ����. � ����� ������� �������� ������� �������� ��������� ������� �� ���������� �����������!!!
��� ��� ���������� Win32 API ����� ������ �������, ��, ����� ��������, ��� �� ������������� ��� ������ � �������� �������. ��������, ������� �������� ���������� ���������� ������������ �� ������� FIFO, � �� �� ����������� [10]. ��� ������������ ���������� � ����� ������ ���������������. ������� ��������� ������������ � � ��������� ����, ����� ��������� ������ ����� ������������. ��������, ��� ������������� ����� ������ ������ �������� �������� ����������� �������� ���� ����� �������������� �� ��������� � ������� (����� ����� ���� ����������� �� ��������� �����������, � �� 35 ����� ��� ���������� ����������). ���� ����� ������������ ��� ������������� ������ � ������ ��������. ��� �������� �� �����������, ��������� ������������ ��������� ����� ������ �������� ������� �����, ��� ����� ����������.
��������� ��������� ������������ Win32 API: ��� ������������� ��������� ������� API ������� ����� � ����, ��� ��������� �� ��� ����������� ���������� ����� ������� ���������� (�� ������������� ������) � �������� �����������. �� ����, ���������� ���� ����� ����� ���������� ������. ��� ����� � �������� �����������.
����� ��������� ������ �� ������ � ����������, ��� �������� �� ������ API, �������� ���� � ������������� �����/������ �� ������������� ��� ��������� ������� ����������� ������ � ������ ��������� �������!
���� �� �������, ����� �� ������ ��� �������� �� ������ ���������.
��� ��������������� � ������� ����� ����� ���������� ����������. ������� �������, ����������� � ������� � ���� ����������, �������������� ���������� ���������.
���. 4 � ������������ DDK [6] ����������, ��� Windows NT ��������������� � �����������. ������ � ���������� �������� ������ ����� ������� ��������� ����. ��� ������� � ����� ��, ��� �������� ������������� � ��������� �������� ������������� � �� ����� ������� ������� � �����������. ��� ��� ����������� ���������� ��������� ������� ����� ���� �� �������������� �������� ���������, ������������� ���������� ������ �������� ��������� ����, ����� ���������� ������ � ���������� ���������. ��������� ��� ������� ������� ����������.
������� ���������� �������� �� ��������� ����������, ������������� �����������, ������� �� ���������. ����� �������� ��������������� �� �� ��������� ��� ���������� ������������ ��������. ���������� �������������� � ��� �����. ��-������ ���������� ����� ������ �������������� ISR. ����� ����� ������ ����������� ����������� ��������� DPC (Deffered Procedure Call). ��� ��������� ��������� ������������������ �������:
��� �� �����, ��������� ���������� � Windows NT ���������� ������. ��� ���� ISR ������ �������� ��� ����� �������. ������� ����������� ��������� ��������� ������� ����� ������ � DPC (������� ����� ����������� ������ ISR), �������� ������ ������ DPC, ��� ��� ��� ��� �������������� �� ����� ������������ ������.
������������ �� �������� ��������� Windows NT �������, ��� "ISR ����� ����������� ISR ����� �������� ������������� ������ � ���� DPC, ������� ����� ����� ������� ���������, ��� ���������������� � ��������� ����". �� ��� ��� ��� DPC ����� ���� � ��� �� ������������ ������� � ��� ��� ��� �������������� �������� ���������� ������� ������ ISR ��� ����� ������, �������� ������� ����� ������ � DPC, ��� ���������� ������ DPC �������� ����� ���� �� ����� ��������� ��� ��������� DPC. ������� ���� ���������� ����� �������� �� ��������� ���������, ������������� ������ ����������.
�������� �� ��� �� ������� � ������ ����? �����������, ��� ���. ����������� ���� ������� ������ �������� �� ����� ���������� �������� ������ �������� ���������. ������ ������� ��������� ��������� ������ ����� ���������� ������������ ����������. ��� ����������� ������ ����������� � ISR, � � ������������ �������� ����������� ���������������� ������� � ����������� �� ��������� ����������� ����������. � Windows NT ISR ����� �������, ������� ���������� �� ����������� �������, ������ ISR ������ ����� ���� ������. ������� ����� ������ ��������������� �� DPC. �������, ���� �� ����������� ����� ���������� �������, �� � ����� ������ �������� ��������� ����������� �� ������� ������, ���� ������� �� �� ���������� ��������� Microsoft � �� ������� ��������� ��� ������ � ISR (�� ����� ����� ������ ����� ��?).
�������, ��� �������� ����� ��������� ��, ��� ��������� DPC �� �������� �����, ��� �� ����������, ����� ����������� � ������� ���������� �����������.
������ ��������, ������� ���������� ��������� ��� �������������� ���, �������� ���������� ������� ����. � Windows NT ��� �������� ������������� � ����� �������� �������������. ��� ����� ���� ���������� ������ � �������������� ���������� ����������� ������. ��� ����� ������ ��� ������-����������, �� ��� ���, ������� ������ ����������� �� ������� ������� � ������� ������������� ���������� �������, ��� ��������� ���������������� � ������, ����� ������� ������ �������� �������� ������ � �����. ������� Windows NT ���� ����������� �������� �������� � ������ � ������� ������ ������� VirtualLock. �� ���� ���� ��� ����� �����, Windows NT ��� ����� ����� �������� �������� �� ��������� �������� � ������������ �� �� ���� [7].
�������� �� ��� ���������? ���, ����� ���������� ������ �������������� � �� ����� ������ ������, ��� ��������� ������������ �� ������.
������ �� ������ �������� ���������� �������� ����� ���� ��������.
��� ������� ������������ �� ��� �������������� ��� ��� ������������ ������ ��� ��������� �������� ��������� � ������������:
��������� �� �������, �� �� �� ��������: ������� ������, ��� ��������� �������� ���������� ������� ��� ������������ Windows NT ��� ������ � �������� ������� - �������, ���� ��� � ����������, �� ����������� � ���������. �� ���� ����������� ��� ��������������� � ������������� ������ �� ����� ���������.
�� �������� � ������ ������, ��� Windows NT � ����� ������������ ����, ��������������� ������� ������� �� ������������ ����������, �� �������� ������� ���������� ��� ���������� ��������� �������:
��� ������ �� ��������� ����������, ��� ����� ������������ Windows NT ��� ���������� ��������� ������� [8]? ��-������, ���� ������� ���������� ��� �� ������� ��� ���������. ��-������, Windows NT ����� ������������ ������ � ��������� �������:
��������� ����� ������ ������������� ������������� ��.
�� � ������ ������� ��� ���� �� ����� ��������� ������ �� ������������� Windows NT. ���� ������� ������� �� ����� �������������. ����� �� ���� ��������������� �������, ��� Windows NT �� ����� �������������� � ��������� ������� �� � ����� ������� ���!
�� ��� �� ���������� ������� �������� � Windows NT, ����� ����� ��������� �� ������������� � ������� ���? ����� ��������� ��������� ������� ������ ����� ������� ����� �����������. �������� �������� ����������� ������ ���� ������. ������ ���� ����������� ��� ������� ����������:
������ �� Microsoft � ������ �� �������� ����� ������� Windows NT ��� ��� ������� ����� ������� ���������, ����� ��������� �� ���� ������ �������?
© ������� ����� "��������" Email: [email protected]
WEB: www.nautsilus.ru
119899, ������, ��������� ����, ����� ���, ����. ��, �.415, 315.
���.(095)939-5872, (095)939-3924 ����.(095) 939-5002