Processor Schemaläggning (eller CPU Schemaläggning) bestämmer vilka processer som tilldelas till och tas bort från CPU, baserat på schemaläggningsmodeller som Förebyggande och Non-Preemptive Scheduling (också känd som Samarbetsplanering).
Äldre system kan fungera i enkla fristående lägen, men med det ökande behovet av lyhörda, flexibla system, liksom virtualisering, ger effektiv hantering av flera behandlingar ett snabbt svar på alla uppgiftsbehandlingsförfrågningar.
Schemaläggningsenheter kallas ofta som a uppgift och det är schemaläggarens jobb att springa och hantera dessa uppgifter när det behövs Scheduler väljer uppgiften som ska tas bort och tilldelas CPU-enheten för bearbetning, enligt den använda schemaläggningsmodellen.
Schemaläggaren behöver driva en rättvis och effektiv urvalsprocess, med hänsyn till variabla, dynamiska bearbetningsförfrågningar och utnyttja CPU-cyklerna mest.
Uppgifter kan vara i två tillstånd medan de bearbetas:
När CPUen är ledig läser schemaläggaren Klar kö, och väljer nästa uppgift som ska köras. Då är det Avsändare som ger den valda uppgiften kontroll av CPU, så det måste vara snabbt! Varje tid som upptagits av Dispatcher är känd som Dispatch Latency.
Det finns olika strukturer och anpassade parametrar för att definiera Klar kö, samt flera metoder som kan användas för att hantera komplexiteten i schemaläggningsprocessen.
Generellt handlar det om att optimera och maximera CPU-utnyttjande, genomströmning etc..
Schemaläggaren måste fatta ett beslut under ett av följande steg:
En ny uppgift måste väljas om steg 1 eller 4 händer för att säkerställa fullt utnyttjande av CPU, och i både steg 2 och 3 kan uppgiften fortsätta springa eller en ny är vald.
Efter att ha förstått hur en uppgift behandlas, låt oss titta på två schemaläggningsmodeller som handlar om CPU-avbrott.
Båda har liknande funktioner med uppgifter, uppgiftstillstånd, köer och prioriteringar (statisk eller dynamisk):
Uppgifter inom ett icke-förebyggande system kommer att köras tills det är klart.
Scheduler kontrollerar sedan alla uppgifter states och scheman nästa högsta prioriterade uppgift med a Redo stat.
Med icke-förebyggande schemaläggning kan en gång en uppgift ha sitt uppdrag till CPU: n, det kan inte tas bort, även om korta uppgifter måste vänta på längre uppdrag att slutföra.
Schemaläggningshanteringen över alla uppgifter är "rättvis" och svarstiderna är förutsägbara eftersom högprioriterade uppgifter inte kan stötta väntande uppgifter längre ner i kön.
Scheduler säkerställer att varje uppgift får sin del av CPU: n, vilket undviker eventuell fördröjning med någon uppgift. Den tid som tilldelas CPUen kanske inte nödvändigtvis är lika, eftersom det beror på hur lång tid uppgiften tar för att slutföra.
Denna schemaläggningsmodell gör det möjligt att avbryta uppgiften - i motsats till icke-förebyggande planering som har en "run-to-completion" -strategi.
Avbrotten, som kan initieras från externa samtal, åberopar schemaläggaren att pausa en löpande uppgift för att hantera en annan högre prioritetsuppgift - så att kontrollen av CPU-enheten kan föregås.
Den högsta prioriterade uppgiften i a Redo tillståndet körs, vilket möjliggör snabbt svar på realtidshändelser.
Några av nackdelarna med Preemptive Scheduling innebär en ökning av kostnader för resurser vid användning av avbrott och problem kan uppstå med två uppgifter som delar uppgifter, eftersom man kan avbrytas när man uppdaterar delade datastrukturer och kan påverka dataintegriteten negativt.
Å andra sidan är det praktiskt att kunna pausa en uppgift att hantera en annan som kan vara kritisk.
Många avvikelser och beroenden i olika policyer kan definieras, såsom att använda a "Round Robin Policy [i]" där varje uppgift (med samma prioritet) kör en gång och sedan placeras i slutet av kön, för nästa cykel.
Andra policyer inkluderar Först in först ut, Kortaste Job-First, Kortaste Job-Next, Kortaste återstående tid, etc.
Analys av historiska data kan ge information om aspekter, till exempel hur mycket nya uppdrag kommer, CPU- och I / O-burst etc, så sannolikhetsfördelningar kan beräkna egenskaper av uppgifternas väntetider och därigenom aktivera administratörer med relevanta uppgifter för att definiera schemaläggningsmodeller.