Jobb”vervakaren „r en del av OS/2 k„rnan och som arbetar p† systemets l„gsta niv† (f”r mer, se Omstarta Skrivbord sidan).
Jobb”vervakaren „r ansvarig f”r multik”rning och multitr†dning i OS/2. Eftersom du bara har en processor normalt, men f”rv„ntar dig att flera program skall k”ras samtidigt, v„xlar Jobb”vervakaren mellan dessa program flera dussin g†nger per sekund, s† programmen tycks k”ras parallellt.
F”r att f”rst† de olika inst„llningarna p† "Jobb”vervakare" sidan i "OS/2 K„rna" objektet, kan f”ljande f”rklaringar om hur OS/2 sk”ter processer och tr†dar vara till hj„lp. P† den inst„llningssidan kommer du f† mer specifik information om de olika inst„llningarna via "Hj„lp" knappen.
En tr†d „r den minsta enhet f”r att administrera program”verg†ngar som OS/2 tillhandah†ller. Ett program kan inneh†lla flera tr†dar men m†ste ha minst en tr†d. Termen "tr†d" valdes d„rf”r inom en tr†d „r programinstruktionerna utf”rda sekvensiellt, medan mellan tr†dar kan du aldrig vara s„ker p† vilken tr†ds instruktion som kommer att utf”ras f”rst.
V„lprogrammerad OS/2 mjukvara anv„nder flera tr†dar f”r att anv„ndaren skall f† ett snabbt svar p† sina indata och musr”relser. Till exempel om du utf”r ett kommando som tar l†ng tid i ett program, b”r ett program starta en andra tr†d f”r denna uppgift. Medan denna nya tr†d arbetar i bakgrunden, „r anv„ndargr„nssnittet (och huvudtr†den f”r programmet) redo f”r nytt infl”de.
S„mre programmerad OS/2 mjukvara anv„nder bara en tr†d f”r b†de anv„ndargr„nssnittet och f”r att utf”ra uppgifter. Medan en uppgift utf”rs „r d„rf”r anv„ndargr„nssnittet blockerat. Ett bra exempel p† det kommer fr†n IBM sj„lv: i VIEW.EXE om du s”ker i hela biblioteket, „r din dator fullst„ndigt blockerad tills s”kningen „r komplett. Detta skulle ha varit perfekt f”r multitr†dning.
Tr†dar ha olika prioritet. I allm„nhet f†r en tr†d med h”gre prioritet mer processortid „n en med l„gre prioritet. Det „r s„rskilt sant om flera tr†dar har arbete att utf”ra, dvs t„vlar om processortid. Det g„ller inte f”r tr†dar som „r "blockerade" d„rf”r att de har ingenting att g”ra. En blockerad tr†d beh”ver ingen processortid och dess prioritet „r s†lunda betydelsel”s.
OS/2 kontrollerar tr†dprioritet p† ett mycket raffinerat s„tt. Det skiljer mellan fyra prioritetsklasser:
N†gra exempel:
Inom den "vanliga prioritet" klassen f”rs„krar sig OS/2 om att ingen tr†d "sv„lter", dvs aldrig f†r processortid, genom att dynamiskt h”ja varje tr†ds prioritet automatiskt efter en viss tid. Denna tidsperiod „r best„md av MAXWAIT i CONFIG.SYS. OS/2 h”jer ocks† en tr†ds prioritet f”r att mottaga tangentbordsdata, f”r f”rgrundsprocesser eller om tr†den utnyttjar utrustning.
Dessa dynamiska justeringar utf”rs bara d† om CONFIG.SYS
inte inneh†ller kommandot PRIORITY=ABSOLUTE, vilket ej „r
rekommenderat. (D„rf”r finns inte denna inst„llning i "OS/2
K„rna" objektet.)