mikrosekundove intervaly v Delphi5

Pavel Chromy mac
Středa Březen 17 14:27:57 CET 2004



On Mon, 4 Feb 2002 vicek.radek@ozjc.cpost.cz wrote:

> Jde o to, ze pri fungujicim multitaskingu a multithreadingu nemate nikdy 
> zaruceno prednostni zpracovani vaseho vlakna a tim i provedeni API funkce. 

Windows nejsou real-time system.

> Tzn. udalost vyvolana volanim API fce se zaradi do fronty a ceka jako 
> ostatni az na ni dojde rada (pokud jste nezmenili prioritu nejakeho procesu 
> na NT). Alespon co vim tak napr. 98 provadeji multitasking tak, ze prideluji 
> pravidelne kvanta casu kazdemu procesu. Co se tyka 32-bitovych aplikaci by 
> melo byt vse v poradku kazdy proces dostane stejne penzum casu, horsi je 
> kdyz neco bezi jeste 16-bitove. Tato aplikace neni schopna uvolnit procesor 
> dokud se sama nerozhodne.

Ano, ale to na Win32 pro 16-bit aplikace uz neplati, ona sice neni schopna
uvolnit procesor, ale je k tomu prinucena - bezi totiz zapouzdrena v
emulacnim procesu, ktery je sam 32-bit a funguje pro nej preepmtivni
multitasking. Problem je spis v tom, ze pri pouziti 16-bit aplikace je
vytizeni systemu natolik vysoke, ze nas proces se nedostane k procesoru
vcas.

> I pokud provozujete jen 32-bit app to neni tak 
> jednoznacne jelikoz W jsou schopny jeste vyhodnocovat aktivitu jednotlivych 
> aplikaci a korigovat tak kvanta jake aplikace dostavaji.

> Musi se proste na to jit asi jinak, bohuzel nevim jak.

Kernel mode driver, ktery zapouzdri casove kriticke zalezitosti a pristupy
na port.

	Pavel Chromy





Další informace o konferenci Hw-list