Vad är CPU-schemaläggning?
CPU-schemaläggning är en process för att bestämma vilken process som ska äga CPU för körning medan en annan process är i väntan. Huvuduppgiften för CPU-schemaläggning är att se till att närhelst CPU förblir inaktiv, väljer operativsystemet åtminstone en av de tillgängliga processerna i den färdiga kön för körning. Urvalsprocessen kommer att utföras av CPU-schemaläggaren. Det väljer en av de processer i minnet som är redo för körning.
I den här CPU-schemaläggningshandledningen lär du dig:
- Vad är CPU-schemaläggning?
- Typer av CPU-schemaläggning
- Viktiga CPU-schemaläggningsterminologier
- Kriterier för CPU-schemaläggning
- Intervalltimer
- Vad är Dispatcher?
- Typer av algoritm för schemaläggning av CPU
- Först till kvarn
- Kortast återstående tid
- Prioriterad schemaläggning
- Round-Robin Schemaläggning
- Kortaste jobbet först
- Schemaläggning av köer på flera nivåer
- Syftet med en schemaläggningsalgoritm
Typer av CPU-schemaläggning
Här är två typer av schemaläggningsmetoder:
Förebyggande schemaläggning
I förebyggande schemaläggning tilldelas uppgifterna mestadels med sina prioriteringar. Ibland är det viktigt att köra en uppgift med högre prioritet före en annan uppgift med lägre prioritet, även om uppgiften med lägre prioritet fortfarande körs. Uppgiften med lägre prioritet hålls en stund och återupptas när uppgiften med högre prioritet är klar.
Icke-förebyggande schemaläggning
I denna typ av schemaläggningsmetod har CPU tilldelats en specifik process. Processen som håller CPU upptagen kommer att frigöra CPU antingen genom att byta sammanhang eller avsluta. Det är den enda metoden som kan användas för olika hårdvaruplattformar. Det beror på att det inte behöver någon speciell hårdvara (till exempel en timer) som förebyggande schemaläggning.
När schemaläggning är förebyggande eller icke förebyggande?
För att avgöra om schemaläggning är förebyggande eller icke förebyggande, överväg dessa fyra parametrar:
- En process växlar från körning till vänteläge.
- Specifik process växlar från körningstillstånd till klartillstånd.
- Specifik process växlar från vänteläge till färdigt tillstånd.
- Process avslutade sin körning och avslutades.
Endast villkor 1 och 4 gäller, schemaläggningen kallas icke-förebyggande.
All annan schemaläggning är förebyggande.
Viktiga CPU-schemaläggningsterminologier
- Bursttid / körningstid: Det är en tid som krävs för att processen ska slutföras. Det kallas också körtid.
- Ankomsttid: när en process går in i klart tillstånd
- Sluttid: när processen är klar och avslutas från ett system
- Multiprogrammering: Ett antal program som kan finnas i minnet samtidigt.
- Jobb: Det är en typ av program utan någon användarinteraktion.
- Användare: Det är ett slags program som har användarinteraktion.
- Process: Det är referensen som används för både jobb och användare.
- CPU / IO burst-cykel: Karaktäriserar processutförande, som växlar mellan CPU- och I / O-aktivitet. CPU-tider är vanligtvis kortare än tiden för I / O.
Kriterier för CPU-schemaläggning
En schemaläggningsalgoritm för CPU försöker maximera och minimera följande:
Maximera:
CPU-användning: CPU-användning är huvuduppgiften där operativsystemet måste se till att CPU förblir så upptagen som möjligt. Det kan sträcka sig från 0 till 100 procent. För RTOS kan det dock variera från 40 procent för lågnivå och 90 procent för högnivåsystem.
Genomströmning: Antalet processer som avslutar utförandet per tidsenhet är känt genomströmning. Så när CPU: n är upptagen med att utföra processen, vid den tiden görs arbete och arbetet som slutförts per tidsenhet kallas genomströmning.
Minimera:
Väntetid: Väntetid är ett belopp som specifik process behöver vänta i den färdiga köen.
Svarstid: Det är en tid under vilken begäran skickades tills det första svaret har framställts.
Turnaround Time: Turnaround time är en tid för att utföra en specifik process. Det är beräkningen av den totala tid som väntar på att komma in i minnet, väntar i kön och körs på CPU. Perioden mellan tidpunkten för inlämning av processen och slutförandetiden är vändningstiden.
Intervalltimer
Timeravbrott är en metod som är nära relaterad till befrielse. När en viss process får CPU-allokering kan en timer ställas in till ett specificerat intervall. Både timeravbrott och befrielse tvingar en process att returnera CPU innan dess CPU-burst är klar.
Det mesta av det flerprogrammerade operativsystemet använder någon form av en timer för att förhindra att en process knyter samman systemet för alltid.
Vad är Dispatcher?
Det är en modul som ger processkontroll över processorn. Dispatchern ska vara snabb så att den kan köras på varje kontextomkopplare. Dispatch latency är den tid som CPU-schemaläggaren behöver för att stoppa en process och starta en annan.
Funktioner som utförs av Dispatcher:
- Kontextbyte
- Växlar till användarläge
- Flytta till rätt plats i det nyligen laddade programmet.
Typer av algoritm för schemaläggning av CPU
Det finns huvudsakligen sex typer av processplaneringsalgoritmer
- First Come First Serve (FCFS)
- Schemaläggning av kortast jobb-först (SJF)
- Kortast återstående tid
- Prioriterad schemaläggning
- Runt Robin Schemaläggning
- Schemaläggning för könivå

Först till kvarn
First Come First Serve är den fullständiga formen av FCFS. Det är den enklaste och mest enkla algoritmen för schemaläggning av CPU. I denna typ av algoritm får processen som begär CPU CPU-allokeringen först. Denna schemaläggningsmetod kan hanteras med en FIFO-kö.
När processen går in i den färdiga kön är dess kretskort (Process Control Block) kopplat till kön. Så när CPU blir gratis bör den tilldelas processen i början av kön.
Egenskaper för FCFS-metoden:
- Det erbjuder icke-förebyggande och förebyggande schemaläggningsalgoritm.
- Jobb utförs alltid enligt principen först till kvarn
- Det är enkelt att implementera och använda.
- Denna metod har dock dålig prestanda och den allmänna väntetiden är ganska hög.
Kortast återstående tid
Den fullständiga formen av SRT är kortast återstående tid. Det är också känt som SJF förebyggande schemaläggning. I denna metod kommer processen att tilldelas uppgiften, som är närmast slutförandet. Denna metod förhindrar att en nyare redo-tillståndsprocess håller slutförandet av en äldre process.
Kännetecken för SRT-schemaläggningsmetod:
- Den här metoden tillämpas mestadels i batchmiljöer där korta jobb måste prioriteras.
- Detta är inte en idealisk metod för att implementera den i ett delat system där CPU-tid som krävs är okänd.
- Associera med varje process när längden på nästa CPU-burst. Så att operativsystemet använder dessa längder, vilket hjälper till att planera processen på kortast möjliga tid.
Prioriterad schemaläggning
Prioritetsschemaläggning är en metod för schemaläggning av processer baserat på prioritet. I den här metoden väljer schemaläggaren de uppgifter som ska fungera enligt prioriteten.
Prioriteringsschemaläggning hjälper också OS att involvera prioriterade uppdrag. Processer med högre prioritet bör genomföras först, medan jobb med lika prioriteringar utförs på en round-robin eller FCFS-basis. Prioritet kan bestämmas utifrån minneskrav, tidskrav etc.
Round-Robin Schemaläggning
Round robin är den äldsta, enklaste schemaläggningsalgoritmen. Namnet på denna algoritm kommer från round-robin-principen, där varje person får en lika stor del av något i sin tur. Det används mest för schemaläggning av algoritmer vid multitasking. Denna algoritmmetod hjälper till att svältfritt utför processer.
Kännetecken för Round-Robin Scheduling
- Round robin är en hybridmodell som är klockdriven
- Tidsskiva bör vara minimalt, vilket tilldelas för en specifik uppgift som ska bearbetas. Det kan dock variera för olika processer.
- Det är ett realtidssystem som svarar på händelsen inom en viss tidsgräns.
Kortaste jobbet först
SJF är en fullständig form av (Shortest job first) är en schemaläggningsalgoritm där processen med den kortaste exekveringstiden ska väljas för körning nästa. Denna schemaläggningsmetod kan vara förebyggande eller icke förebyggande. Det minskar avsevärt den genomsnittliga väntetiden för andra processer som väntar på körning.
Egenskaper för SJF Scheduling
- Det är associerat med varje jobb som en tidsenhet att slutföra.
- I den här metoden, när processorn är tillgänglig, kommer nästa process eller jobb med den kortaste slutförandetiden att utföras först.
- Den genomförs med icke förebyggande politik.
- Denna algoritmmetod är användbar för batch-bearbetning, där det inte är viktigt att vänta på att jobb ska slutföras.
- Det förbättrar jobbutdata genom att erbjuda kortare jobb, som bör utföras först, vilket oftast har en kortare behandlingstid.
Schemaläggning av köer på flera nivåer
Denna algoritm separerar den färdiga kön i olika separata köer. I den här metoden tilldelas processer till en kö baserad på en specifik egenskap hos processen, som processprioritet, minnesstorlek etc.
Detta är dock inte en oberoende schemaläggning av OS-algoritm eftersom den behöver använda andra typer av algoritmer för att schemalägga jobb.
Kännetecknande för schemaläggning av köer på flera nivåer:
- Flera köer bör upprätthållas för processer med vissa egenskaper.
- Varje kö kan ha sina separata schemaläggningsalgoritmer.
- Prioriteringar ges för varje kö.
Syftet med en schemaläggningsalgoritm
Här är anledningarna till att du använder en schemaläggningsalgoritm:
- Processorn använder schemaläggning för att förbättra effektiviteten.
- Det hjälper dig att fördela resurser mellan konkurrerande processer.
- Maximalt utnyttjande av CPU kan erhållas med multiprogrammering.
- Processerna som ska köras står i färdig kö.
Sammanfattning:
- CPU-schemaläggning är en process för att bestämma vilken process som ska äga CPU för körning medan en annan process är i väntan.
- I förebyggande schemaläggning tilldelas uppgifterna mestadels med sina prioriteringar.
- I den icke förebyggande schemaläggningsmetoden har CPU tilldelats en specifik process.
- Bursttid är en tid som krävs för att processen ska slutföras. Det kallas också körtid.
- CPU-användning är huvuduppgiften där operativsystemet måste se till att CPU förblir så upptagen som möjligt
- Antalet processer som avslutar deras utförande per tidsenhet är känt genomströmning.
- Väntetid är ett belopp som den specifika processen behöver vänta i den färdiga köen.
- Det är en tid som begäran lämnades in tills det första svaret har tagits fram.
- Vändtid är en tid för att utföra en specifik process.
- Timeravbrott är en metod som är nära relaterad till befrielse,
- En avsändare är en modul som ger kontroll över processorn till processen.
- Sex typer av processplaneringsalgoritmer är:
- First Come First Serve (FCFS), 2) Shortest-Job-First (SJF) Schemaläggning 3) Kortast kvarvarande tid 4) Prioritetsschemaläggning 5) Round Robin Scheduling 6) Flernivåkö Schemaläggning
- I First Come First Serve-metoden får processen som begär CPU CPU-allokeringen först.
- Under den kortaste återstående tiden kommer processen att tilldelas uppgiften, som är närmast slutförandet.
- I Prioriteringsplanering väljer schemaläggaren de uppgifter som ska fungera enligt prioriteten.
- I, denna Round robin schemaläggning fungerar på princip, där varje person får en lika stor del av något i sin tur
- I kortaste jobbet bör den kortaste körtiden väljas för nästa körning
- I schemaläggning för flera nivåer separerar metoden den färdiga kön i olika separata köer. I den här metoden tilldelas processer till en kö baserad på en specifik egenskap
- Processorn använder schemaläggning för att förbättra effektiviteten.