Operativsystemshanterare

Uppgiftsschemaläggning  är ett av nyckelbegreppen inom multitasking och multiprocessing i både generella och realtidsoperativsystem . Schemaläggning består av att prioritera processer i en prioritetskö . Programkoden som utför denna uppgift kallas en schemaläggare ( uppgiftsväxlare , schemaläggare ) . 

Det viktigaste målet med uppgiftsschemaläggning är att använda processorn till fullo. Genomströmning  är antalet processer som slutför exekveringen per tidsenhet. Väntetid - Hur lång  tid en process väntar i den färdiga kön. Svarstid  är den tid som går från början av en förfrågan till det första svaret på en förfrågan.

I realtidsberäkningsmiljöer , till exempel på mobila enheter utformade för automatisk styrning inom industrin (till exempel robotik ), måste uppgiftsschemaläggaren säkerställa att processer bearbetas inom specificerade tidsintervall (svarstid); detta är avgörande för att upprätthålla korrekt drift av realtidssystemet.

Typer av schemaläggare i operativsystem

Operativsystem kan inkludera upp till tre olika typer av schemaläggare: långtidsschemaläggaren (eller körtidsschemaläggaren), medeltidsschemaläggaren och korttidsschemaläggaren (även känd som dispatcher ). Namnen i sig beskriver redan den relativa frekvens med vilken schemaläggaren utför sina funktioner.

Långtidsschemaläggare

Den långsiktiga schemaläggaren bestämmer vilka uppgifter eller processer som ska läggas till i kön av processer som är redo att köras; det vill säga när en process försöker starta, lägger långtidsschemaläggaren antingen till en ny process i kön av färdiga processer (låter den köras) eller skjuter upp denna åtgärd. Således bestämmer den långsiktiga schemaläggaren vilka processer som kommer att köras samtidigt, och kontrollerar därigenom graden av parallellitet och proportionen mellan I/O-intensiva processer och CPU-intensiva. Vanligtvis använder stationära datorer inte en långtidsschemaläggare och tillåter att nya processer körs automatiskt. Men denna schemaläggare är mycket viktig för realtidssystem, eftersom om systemet är överbelastat med parallella processer kan systemets svarstid bli längre än vad som krävs, vilket är oacceptabelt.

Halvtidsplanerare

I alla system med virtuellt minne flyttar (avlastar) schemaläggaren temporärt processer från huvudminnet till sekundärt minne (till exempel till en hårddisk) och vice versa. Dessa åtgärder kallas sökning eller byte . Schemaläggaren på medellång sikt kan besluta att byta ut en process från huvudminnet om:

Processen kommer att återföras till huvudminnet när den nödvändiga mängden ledigt minne är tillgängligt eller när processen vaknar (i vilket fall schemaläggaren kommer att byta ut en annan process från huvudminnet för att frigöra huvudminnet).

I många moderna system som stöder kartläggning av virtuellt adressutrymme till ett annat sekundärt minne än sidfilen, kan schemaläggaren på medellång sikt också spela rollen som schemaläggaren på lång sikt, och behandla nya processer som processer som har bytts ut från huvudminnet. På så sätt kan systemet ladda kod till huvudminnet endast när processen behöver den för att exekvera (detta kallas efterfrågeladdning eller " lazy loading ").

Kortsiktsplanerare

Schemaläggaren på denna nivå bestämmer vilken av de färdiga och laddade processerna som kommer att köras på CPU:n efter avbrottet (efter tid, I/O-operation, operativsystemanrop eller annan signal). Beslut på denna nivå måste fattas mycket ofta (åtminstone varje tidsperiod). Dessutom kan schemaläggaren stödja förebyggande multitasking (det vill säga kunna avbryta exekveringen av en process).

Dispatcher

Dispatchern är en annan komponent i planeringssystemet. Detta är en modul som överför kontrollen av processorn till den process som valdes på kortsiktig schemaläggningsnivå. Dess uppgifter inkluderar att byta kontext, byta till användarläge och hoppa till rätt plats i användarprogrammet för att starta eller fortsätta dess exekvering. Huvudkravet för avsändaren är snabbhet, eftersom den utför varje processväxling.

Se även