processzor időt elosztása szálak közötti

A rendszer osztja CPU idő minden aktív szálak alapján prioritási szinten, hogy a tartomány 0-31.

Az alsó szinten van fenntartva, és rendelt egy speciális rendszer menet oldal nullázás.

Amikor a rendszer csatlakozik a processzor, hogy az adatfolyam, feldolgozza áramlások azonos prioritású, mint az egyenlő (a karusszel). Miután az összes áramlás a prioritást kapnak kvantum és azzal a feltétellel, hogy azok nem igényelnek CPU, az operációs rendszer bevételt flow alacsonyabb prioritást élvez.

Van rá esély, hogy a processzor folyamatosan feldolgozza az áramot, például prioritás 31. Tehát áramlik az alacsonyabb prioritású nincs esélye, hogy csatlakozzon a processzor. Ezt a helyzetet nevezzük torlódás (éhezés - Hang).

Tegyük fel, hogy az áramlás végrehajtott elsőbbségi 5. Ekkor áramlási magasabb prioritású processzor szükséges. OS azonnal állítsa le az áramlást az alacsony prioritású, akkor is, ha nem járt kijelölt időrés, majd csatlakoztassa a patak magasabb prioritású, elosztásának neki egy teljes időrés.

Hogy minden szál dolgozik, OS osztja mindegyikük egy bizonyos időközönként, az úgynevezett kvantum. Idő álljon rendelkezésre a „körhinta”.

Az alapelv az elővásárlási multitasking:

Flow magasabb prioritású mindig kiszorítják flow alacsonyabb prioritást élvez, függetlenül attól, hogy az utoljára végrehajtott.

A prioritási szint rendelt két szakaszban (úgynevezett relatív prioritások):

1. Az eljárás van rendelve egy bizonyos prioritási osztály;

2. patakok tartozó folyamat relatív prioritási szintek vannak rendelve

Menet prioritási osztály:

A legtöbb alkalmazás főként alkalmazások normális prioritási osztály.

Az ilyen eljárások viselkednek némileg másképpen:

Windows NT növeli a kvantum az áramlás időben egy aktív folyamat. Például: a szokásos eljárási áramok kapott 15 milliszekundum CPU idő, mindaddig, amíg nem válik aktívvá. Ebben az állapotban, hogy megy 45 ms (Párbeszéd Control Panel \ System \ Perfomance beállíthatja, hogy hányszor kell növelni a kvantum).

Windows 95 növeli az áramlási sebesség 1 az aktív folyamat. Amikor a folyamat megy „háttér”, az áramlási sebesség csökken 1.

Az ok, hogy ezek a módosítások az aktív folyamatok összefügg azzal a ténnyel, hogy a rendszer eléri a gyors reagálást a felhasználói.

Prioritás Idle alkalmazásokhoz ideális, részt vesz a monitoring rendszer (például a program - képernyővédők).

Osztály kiemelten kell csak vészhelyzetben (pl: Explorer).

Valós idejű prioritás szinte soha nem használt, kivéve a nem szabványos eszközök vagy múló programot hajt végre műveletet nem lehet megszakítani.

Ismerje meg a folyamat prioritása, akkor használja ezt a funkciót

DWORD WinAPI GetPriorityClass (handle hProcess);

BOOL WinAPI SetPriorityClass (fogantyú hProcess, DWORD dwPriorityClass);

Amikor egy új szál jön létre, a prioritás szint megfelel az osztály a folyamatot.

Fennáll a lehetősége, hogy növelje vagy csökkentse a prioritási szintet képest a különálló áramlási folyamatot.

BOOL SetThreadPriority (fogantyú hThread, int nPriority);

Kapcsolódó cikkek