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:

  1. "Tomg†ngstid prioritet" „r den l„gsta prioritetsklassen. En tr†d f†r bara processortid om inga tr†dar av h”gre prioritetsklasser kr„ver det. S†dana tr†dar „r bra f”r att avlasta arbete som kan f”rdr”jas tills datorn har tid f”r det. Ett exempel p† en s†dan tr†d „r XFolder Worker som h†ller reda p† v„ckta Skrivbordobjekt i ditt system. Det „r ganska tids”dande, men inte tidskritiskt, s† det g”rs med denna prioritet.
  2. "Vanlig prioritet" „r den prioritetsklass som de flesta tr†dar anv„nder. Det „r ocks† standard OS/2 prioritetsklassen om ingenting annat specifierats. Mellan tr†dar av denna klass varierar OS/2 dynamiskt prioritetsniv†erna (mer om detta nedan) f”r att f”rs„kra sig om att inga tr†dar av denna klass "sv„lter", dvs inte f†r processortid.
  3. "F”rinst„lld h”g prioritet" „r den n„st h”gsta prioritetsklassen f”r tr†dar, som beh”ver f”rbereda data f”r "vanlig" klass utan att beh”va bli f”rdr”jda av de dynamiska prioritetsvariationerna f”r "vanliga" tr†dar. Detta g”rs ofta f”r meddelandeavs„ndare.
  4. "Tidskritisk prioritet" „r den h”gsta prioritetsklassen f”r tr†dar som beh”ver bli utf”rda omedelbart n„r det finns arbete. En s†dan tr†d f†r processortid genast och blir inte avbruten f”rr„n arbetet „r slutf”rt. Denna klass anv„nds ofta f”r tidskritiska uppgifter, till exempel av n„tverk och annan kommunikationsmjukvara.
Inom varje prioritetsklass kan man s„tta en prioritetsniv†. Det „r ett v„rde fr†n -31 till +31 som ger f”retr„de till en tr†d inom en prioritetsklass.

N†gra exempel:

Ź andra sidan en process „r OS/2 termen f”r en applikation som har laddats i minnet. Varje process m†ste ha minst en tr†d. Varje process inneh†ller vanliga data liksom kontrollerad access till systemresurser. Processer „r skyddade mot varandra genom att OS/2 f”rhindrar access till det minne som inte tillh”r processen ("minnesskydd"). D„remot kan flera tr†dar inom en process alla anv„nda det minne som tillh”r processen, d„rf”r att minnet sk”ts genom per-process basis. Samma sak g„ller f”r andra systemresurser som t.ex. ”ppna filer.