• PRG30 - ��� ���⮨� ���� � ����砬� p���쭮�� �p�����

    From FAQServer@2:5020/181 to All on Tue Jun 24 07:37:14 2025
    [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)