menet prioritások - 29. fejezet
A Win32 API lehetővé teszi a programozó, hogy ellenőrizzék a eloszlása közötti idő szálak; Ez vonatkozik az alkalmazások Delphi. Az operációs rendszer menetrendek CPU időt prioritásaival összhangban a vízfolyások.
patak prioritás - a mennyiség összecsukható két részből áll: prioritás szült folyamatát és a tényleges áram prioritás. Amikor egy szál jön létre, akkor van egy prioritás megfelelő prioritás folyamat, amely villás azt.
Másfelől, a folyamat a következő prioritási osztály.
- Valós idejű;
- normál;
- nagy;
- Normális alá;
- Normális felett;
- Tétlen.
Valós idejű osztály határozza meg a prioritást, még jobban, mint sok az operációs rendszer folyamatokat. Ez a prioritás a szükséges folyamatokat, amelyek kezelni a nagy sebességű adatfolyamot. Ha ez a folyamat befejeződik, egy rövid ideig, a felhasználó úgy érzi, hogy a rendszer nem válaszol, azaz a. Még kezelése egér események nem kap a CPU időt ..
Használata High-osztályú korlátozott folyamatokat kell kitölteni egy rövid ideig, hogy ne okozzon a hibát. Példa - olyan folyamat, amely jeleket küld egy külső eszköz; ahol a készülék ki van kapcsolva, ha nem időben vétel. Ha bármilyen probléma van a teljesítményt az alkalmazás, helytelen lenne megoldani őket egyszerűen emelésével kiemelt magas - ez a folyamat is hatással van az egész operációs rendszer. Talán ebben az esetben érdemes frissíteni a számítógépet.
A legtöbb folyamatok futnak a normális prioritási osztály. Normál prioritás azt jelenti, hogy a folyamat nem igényel különleges figyelmet a része az operációs rendszert.
A prioritások értékek 0 és 31 A folyamat szült szál ezt követően megváltoztassa prioritását; Ebben a helyzetben a programozó képes ellenőrizni a válaszadási arány az egyes patak.
szál bázis prioritás két részből áll, de ez nem jelenti azt, hogy ő egyszerűen egyenlő az összegük. Nézd meg a megfelelő értékeket, amelyek táblázatban mutatjuk be. 29.1. Folyam, amelynek saját prioritási THREAD_PRIORITY_IDLE, bázis prioritás 1 lesz, függetlenül attól, hogy a prioritás elindított folyamatnak.
És egy osztály Normál látható két kiemelt, felszerelve a betűk B (Háttér) és F (előtérben). Ennek magyarázata az alábbiakban olvasható.
Emellett az alapvető prioritás, amely az ebben a táblázatban, az ütemező (scheduler) jelölhet egy úgynevezett dinamikus prioritásokat. Mert NORMAL_PRIORITY_CLASS osztály bekapcsoláskor a háttérből az előtérbe, és néhány más esetben a szál prioritása, amely létrehozta az előtérben ablak megnő. Így működik az összes kliens operációs rendszerek Microsoft. Szerver operációs rendszerek optimális működtetéséhez háttérben alkalmazásokat. Azonban a Windows NT és újabb operációs rendszerek ezen alapvető kapcsoló lehetővé teszi, hogy optimalizálás módban Switch Application válasz applet rendszer Windows vezérlőpulton (ábra. 29,1).
Ábra. 29.1. A Performance Options dialógus segítségével kezelheti a rangsorolási algoritmus
Most, miután megértette a szál prioritás, meg kell mondani, miként használják ütemező elosztásának processzor időt.
Az operációs rendszer számos sorban futtatható flow - minden szinten a prioritás. Abban az időben az eloszlása az új időpont szelet megkeresi sorban - a legmagasabbtól a legalacsonyabb prioritást. Futtatható menet álló első sorban jelentkeznek a kvantum, és költözött a farok a sorban. A patak fut a teljes kvantum időtartama, kivéve, ha egy két dolgot:
- Megálltam végrehajtó szál várni;
- Úgy tűnt, készen áll, hogy a patak nagyobb prioritást kapnak.
Most, talán jobb, ha tiszta a veszély az indokolatlan prioritásokat. Elvégre, ha van aktív flow kiemelten, nincs menet alacsonyabb prioritású soha nem kap a CPU időt. Ez a probléma akkor lesben az Ön számára, még a szinten az alkalmazás. Tegyük fel, hogy rendelni számítástechnikai szálak THREAD_PRIORITY_ABOVE_NORMAL prioritás és az áramlás, amely kezeli a felhasználói bemenet, - THREAD_PRIORITY_BELOW_NORMAL. Ezután ahelyett, hogy a tervezett eredmény - kombinálva egy normális válasz kiszámítása alkalmazás - kapsz egy szigorúan fordított. Általános alkalmazás nem reagál a bemeneti és eltávolítani csak akkor lesz lehetséges a segítségével az operációs rendszer erőforrásait.
Tehát ez bevett gyakorlat az aszimmetrikus áramlás - a kinevezést patak feldolgozott bemenet, egy magasabb prioritású, és minden egyéb - az alacsonyabb prioritású, vagy akár tétlen, ha ez az áramlás kell végezni csak a rendszer leállás.