[Q]: ��� ���⮨� ���� � ����砬� p���쭮�� �p�����
[A]: Julius Goryavsky (2:5030/16.32)
1. ��� �ᯮ�짮���� ��p�� �����-�뢮��?
1. ��p�� IOPL-ᥣ����� � �p�������� �p��p����. H� �p� �⮬ ��⠥��� ����������� ��p����祭�� ���⥪�⮢ OS-��. :( (� �p������ ���� �� �믮������ ��� CLI).
2. �� �p����p� - IMHO �������� ��pp���� ��⮤.
2. ��� ���⮨� ���� � �p�p뢠��ﬨ?
�.) ��� �� ��p���祭�� � ��p��� OS �� ��p����y ����p�⭮
����p�py���� �p�p뢠���?
0. �p�p뢠��� ����� ��p����뢠�� ⮫쪮 �p����p. �p� �⮬ �����p� (�����p�����騥) �맮�� DevHlp �� ����y��� � ���⥪�� ��p���⪨ �p�p뢠���.
1. ���� p� ��p���祭��/ᮣ��襭�� �� �ᯮ�짮����� ������ ��饣� IRQ p���묨 �p����p���.
b.) ��� ��p����뢠���� ��� OS�� �p�p����� ?
�p����p p�����p�py�� ��p����稪 �y����� IRQ � ᮮ�頥� OS-y ����� p����p �⥪� ��y ����室��. OS ��뢠�� ��p����稪, ����� �p���室�� �p�p뢠���, �����⮢�� ��� ���� �⥪. ��p����稪 �����������y�� � y��p���⢮� (� ������� IN/OUT, ��� �p�� ������) � OS-�� (� ������� �맮��� DevHlp), � �� ����y ��p���⪨ �p�p뢠��� ��뢠�� DevHlp_EOI.
3. �� � ⠩��p�� - �p��� ��� ����� ���y��� ���� ���p�ᥪy��� ?
1. ����� y����� ⥪y饥 �p��� � �筮���� �� ���p�ᥪy��, �� �p�������뢠�� ����p��� ��� �p�p뢠���� � �������� �筮���� - ����������.
2. � ���� Pentium - � ����� y����� �p��� � �筮���� ~20 ⠪⮢ �p����p�.
3. �����p � �� �p�p뢠���, �� ��᮪�� �����, ������y���. ����� ��⥬���� ⠩��p� = 31 ms.
4. �p��p���� �����: ���� �� �p��樯���쭠� ����������� ��⠭����� �� �p�����, �p��� ������ (� �p���� ������� �p�����) � ��� �� ����� ᮣ��ᮢ뢠���� � ��p�y�����樥� ����� ?
���� 4 ����� �p��p��⮢ � 32 �p��p��⠬� � ������ �����. ����� ����� Time Critical �p���⠭�������� �� ��⠫��, �p��� �py��� ����� �����
Time Critical, � ����� ��᮪�� �p��p��⮬. �p��p���, �᭮� ����, ����� ���⠢���� � ��� ������ 楯�窨 (thread).
��p�y���y� ������ - �筥� ��p����� ����� - ����� �⪫����. H� � ��� ����祭� - ᠬ �������, ����⠥��� ���� ��p����y ���p�� ����� �� ��᪥ - ���p��� �p���.
5. ���� �� �p��樯���쭠� ����������� ��� ���y����� ���y᪠
�p���ᮢ � ���p����� �� ᥪy��� �� ����ᥪy��� � �����
������ᨬ� �� ��p�饭�� � ��᪠� � �p�祣�. (��᮫���
�p��p���� ?
Time Critical - ���� �� ��᮫��� �p��p����. H� ��⨢����� ������ �p����p� ��� "��������" �� ���y�... ����� �p����p� �� ���y������� �p�p뢠���, ���p���p �� ��᪠ - �p��p��⭥� ��� 楯�祪, � ��� �p��p��⮬.
[A]: Andrew Belov (2:5020/181.2)
������ time-critical, � OS/2 v 4.00+ ���� �����y����p������� ����������� �p���⠭����� �� �p���/�p�����, �p��� ⥪y饣� �p���:
#include <stdio.h>
#define INCL_BASE
#include <os2.h>
APIRET APIENTRY DosSysCtl(ULONG entry, PULONG data);
void main()
{
ULONG f;
int i;
printf("Freezing...\n");
f=0;
DosSysCtl(14, &f);
for(i=1; i<=10; i++)
{
DosSleep(1000);
printf("%d\n", i);
}
f=1;
DosSysCtl(14, &f);
printf("Defrost!\n");
}
...��� DosSysCtl==DOSCALL1->876 (� 娤�p�� ��� ���, �� OS2386.LIB � ��� y�� �����).
--- INN 2.7.3
* Origin: This echo is READ-ONLY. Send %HELP to FAQSERVER at (2:5020/181)