Hva er CPU-planlegging?
CPU-planlegging er en prosess for å bestemme hvilken prosess som vil eie CPU for kjøring mens en annen prosess er på vent. Hovedoppgaven med CPU-planlegging er å sørge for at når CPU-en forblir inaktiv, velger OS minst en av prosessene som er tilgjengelige i den klare køen for utføring. Valgprosessen vil bli utført av CPU-planleggeren. Den velger en av prosessene i minnet som er klare for utføring.
I denne CPU-planleggingsveiledningen vil du lære:
- Hva er CPU-planlegging?
- Typer CPU-planlegging
- Viktige terminologier for CPU-planlegging
- Kriterier for CPU-planlegging
- Intervalltimer
- Hva er Dispatcher?
- Typer CPU-planleggingsalgoritme
- Første mann til mølla
- Korteste gjenværende tid
- Prioritert basert planlegging
- Round-Robin Scheduling
- Korteste jobb først
- Planlegging av køer på flere nivåer
- Formålet med en planleggingsalgoritme
Typer CPU-planlegging
Her er to typer planleggingsmetoder:
Forebyggende planlegging
I Preemptive Scheduling tildeles oppgavene for det meste med deres prioriteringer. Noen ganger er det viktig å kjøre en oppgave med høyere prioritet før en annen oppgave med lavere prioritet, selv om oppgaven med lavere prioritet fortsatt kjører. Oppgaven med lavere prioritet holder seg en stund og fortsetter når oppgaven med høyere prioritet er ferdig.
Ikke-forebyggende planlegging
I denne typen planleggingsmetode har CPU-en blitt tildelt en bestemt prosess. Prosessen som holder CPUen opptatt vil frigjøre CPU enten ved å bytte kontekst eller avslutte. Det er den eneste metoden som kan brukes på forskjellige maskinvareplattformer. Det er fordi det ikke trenger spesiell maskinvare (for eksempel en tidtaker) som forebyggende planlegging.
Når planlegging er forebyggende eller ikke-forebyggende?
For å avgjøre om planlegging er forebyggende eller ikke forebyggende, bør du vurdere disse fire parametrene:
- En prosess bytter fra kjører til ventetilstand.
- Spesifikk prosess bytter fra kjører tilstand til klar tilstand.
- Spesifikk prosess bytter fra ventetilstand til klar tilstand.
- Prosessen avsluttet kjøringen og avsluttet.
Bare vilkår 1 og 4 gjelder, planleggingen kalles ikke-forebyggende.
All annen planlegging er forebyggende.
Viktige terminologier for CPU-planlegging
- Burst Time / Execution Time: Det er en tid som kreves av prosessen for å fullføre kjøringen. Det kalles også kjøretid.
- Ankomsttid: når en prosess går i klar tilstand
- Fullføringstid: når prosessen er fullført og utgang fra et system
- Multiprogrammering: Et antall programmer som kan være tilstede i minnet samtidig.
- Jobber: Det er en type program uten noen form for brukerinteraksjon.
- Bruker: Det er et slags program som har brukerinteraksjon.
- Prosess: Det er referansen som brukes til både jobb og bruker.
- CPU / IO burst-syklus: Karakteriserer prosessutførelse, som veksler mellom CPU- og I / O-aktivitet. CPU-tider er vanligvis kortere enn tiden for I / O.
Kriterier for CPU-planlegging
En CPU-planleggingsalgoritme prøver å maksimere og minimere følgende:
Maksimer:
CPU-bruk: CPU-bruk er hovedoppgaven der operativsystemet må sørge for at CPU forblir så opptatt som mulig. Det kan variere fra 0 til 100 prosent. For RTOS kan det imidlertid variere fra 40 prosent for lavt nivå og 90 prosent for høyt nivåsystem.
Gjennomstrømning: Antall prosesser som fullfører utførelsen per tidsenhet er kjent Gjennomstrømning. Så når CPU er opptatt med å utføre prosessen, på det tidspunktet, blir det gjort arbeid, og arbeidet som er fullført per tidsenhet kalles gjennomstrømning.
Minimer:
Ventetid: Ventetid er et beløp som spesifikk prosess må vente i klar kø.
Svartid: Det er et tidsrom hvor forespørselen ble sendt til det første svaret er produsert.
Turnaround Time: Turnaround time er en mengde tid til å utføre en bestemt prosess. Det er beregningen av den totale tiden du har ventet på å komme inn i minnet, ventet i køen og kjørt på CPUen. Perioden mellom innleveringstidspunktet til fullføringstiden er omsetningstiden.
Intervalltimer
Timeravbrudd er en metode som er nært knyttet til innløsning. Når en bestemt prosess får CPU-tildelingen, kan en tidtaker settes til et spesifisert intervall. Både timeravbrudd og preempt tvinger en prosess for å returnere CPU før CPU-burst er fullført.
Det meste av det flerprogrammerte operativsystemet bruker en eller annen form for en tidtaker for å forhindre at en prosess knytter systemet for alltid.
Hva er Dispatcher?
Det er en modul som gir kontroll over prosessoren til prosessen. Dispatcher skal være rask slik at den kan kjøres på alle kontekstbrytere. Forsendelsesforsinkelse er hvor lang tid CPU-planleggeren trenger for å stoppe en prosess og starte en annen.
Funksjoner utført av Dispatcher:
- Kontekstbytte
- Bytter til brukermodus
- Flytter til riktig sted i det nylig lastede programmet.
Typer CPU-planleggingsalgoritme
Det er hovedsakelig seks typer prosessplanleggingsalgoritmer
- First Come First Serve (FCFS)
- Planlegging av korteste jobb-første (SJF)
- Korteste gjenværende tid
- Prioritert planlegging
- Runde Robin Scheduling
- Køplanlegging for flere nivåer

Første mann til mølla
First Come First Serve er den fulle formen for FCFS. Det er den enkleste og mest enkle algoritmen for CPU-planlegging. I denne typen algoritmer får prosessen som ber om CPU CPU-tildelingen først. Denne planleggingsmetoden kan administreres med en FIFO-kø.
Når prosessen går inn i klar kø, er PCB (Process Control Block) knyttet til halen på køen. Så når CPU blir gratis, bør den tilordnes prosessen i begynnelsen av køen.
Kjennetegn ved FCFS-metoden:
- Den tilbyr ikke-forebyggende og forebyggende planleggingsalgoritme.
- Jobber utføres alltid etter først til mølla-prinsippet
- Det er enkelt å implementere og bruke.
- Denne metoden har imidlertid dårlig ytelse, og den generelle ventetiden er ganske høy.
Korteste gjenværende tid
Full form for SRT er korteste gjenværende tid. Det er også kjent som SJF forebyggende planlegging. I denne metoden vil prosessen bli allokert til oppgaven, som er nærmest fullført. Denne metoden forhindrer en nyere klar tilstandsprosess fra å fullføre fullføringen av en eldre prosess.
Kjennetegn ved SRT planleggingsmetode:
- Denne metoden brukes for det meste i batchmiljøer der det kreves korte jobber.
- Dette er ikke en ideell metode for å implementere den i et delt system der den nødvendige CPU-tiden er ukjent.
- Knytt til hver prosess når lengden på neste CPU-burst. Slik at operativsystemet bruker disse lengdene, noe som hjelper til med å planlegge prosessen på kortest mulig tid.
Prioritert basert planlegging
Prioritetsplanlegging er en metode for planlegging av prosesser basert på prioritet. I denne metoden velger planleggeren oppgavene som skal fungere i henhold til prioriteten.
Prioritetsplanlegging hjelper også OS til å involvere prioriterte oppgaver. Prosessene med høyere prioritet bør utføres først, mens jobber med like prioriteringer utføres på en round-robin eller FCFS-basis. Prioritet kan avgjøres ut fra minnekrav, tidskrav osv.
Round-Robin Scheduling
Round robin er den eldste, enkleste planleggingsalgoritmen. Navnet på denne algoritmen kommer fra round-robin-prinsippet, der hver person får en like stor andel av noe etter tur. Den brukes mest til planlegging av algoritmer i multitasking. Denne algoritmemetoden hjelper til med å sulte uten å utføre prosesser.
Kjennetegn ved Round-Robin Scheduling
- Round robin er en hybridmodell som er klokkedrevet
- Tidsavsnittet skal være minimum, som tildeles for en bestemt oppgave som skal behandles. Det kan imidlertid variere for forskjellige prosesser.
- Det er et sanntidssystem som reagerer på hendelsen innen en bestemt tidsgrense.
Korteste jobb først
SJF er en fullform av (Korteste jobb først) er en planleggingsalgoritme der prosessen med kortest utføringstid skal velges for utføring neste. Denne planleggingsmetoden kan være forebyggende eller ikke forebyggende. Det reduserer gjennomsnittlig ventetid for andre prosesser som venter på utførelse.
Kjennetegn ved SJF-planlegging
- Det er knyttet til hver jobb som en tidsenhet å fullføre.
- I denne metoden, når CPU er tilgjengelig, vil neste prosess eller jobb med kortest fullføringstid utføres først.
- Den er implementert med ikke-forebyggende policy.
- Denne algoritmemetoden er nyttig for batch-behandling, der det ikke er viktig å vente på at jobber skal fullføres.
- Det forbedrer jobbutgangen ved å tilby kortere jobber, som skal utføres først, som for det meste har kortere behandlingstid.
Planlegging av køer på flere nivåer
Denne algoritmen skiller klar kø i forskjellige separate køer. I denne metoden tildeles prosesser til en kø basert på en bestemt prosessegenskap, som prosessprioritet, minnestørrelse osv.
Dette er imidlertid ikke en uavhengig planlegging av OS-algoritme, da den trenger å bruke andre typer algoritmer for å planlegge jobbene.
Karakteristisk for planlegging av køer på flere nivåer:
- Flere køer bør opprettholdes for prosesser med noen egenskaper.
- Hver kø kan ha sine separate planleggingsalgoritmer.
- Prioritet er gitt for hver kø.
Formålet med en planleggingsalgoritme
Her er årsakene til at du bruker en planleggingsalgoritme:
- CPU bruker planlegging for å forbedre effektiviteten.
- Det hjelper deg med å fordele ressurser mellom konkurrerende prosesser.
- Maksimal utnyttelse av CPU kan oppnås med flerprogrammering.
- Prosessene som skal utføres står i kø.
Sammendrag:
- CPU-planlegging er en prosess for å bestemme hvilken prosess som vil eie CPU for utføring mens en annen prosess er på vent.
- I Preemptive Scheduling tildeles oppgavene for det meste med deres prioriteringer.
- I den ikke-forebyggende planleggingsmetoden har CPU-en blitt tildelt en bestemt prosess.
- Bursttid er en tid som kreves for at prosessen skal fullføres. Det kalles også kjøretid.
- CPU-bruk er hovedoppgaven der operativsystemet må sørge for at CPU forblir så opptatt som mulig
- Antall prosesser som fullfører utførelsen per tidsenhet er kjent gjennomstrømning.
- Ventetid er et beløp den spesifikke prosessen trenger å vente i klar kø.
- Det er et tidsrom hvor forespørselen ble sendt inn til det første svaret er produsert.
- Omsendingstid er en tid for å utføre en bestemt prosess.
- Timeravbrudd er en metode som er nært knyttet til innløsning,
- En dispatcher er en modul som gir kontroll over CPU til prosessen.
- Seks typer prosessplanleggingsalgoritmer er:
- First Come First Serve (FCFS), 2) Shortest-Job-First (SJF) Scheduling 3) Shortest Rest Time 4) Priority Scheduling 5) Round Robin Scheduling 6) Multilevel Queue Scheduling
- I First Come First Serve-metoden får prosessen som ber om CPU CPU-tildelingen først.
- I løpet av den korteste gjenværende tiden vil prosessen bli allokert til oppgaven, som er nærmest fullført.
- I Prioriteringsplanlegging velger planleggeren oppgavene som skal fungere i henhold til prioriteten.
- I, denne Round robin planlegging fungerer på prinsipp, hvor hver person får en like stor andel av noe i sin tur
- I Korteste jobb først skal den korteste utførelsestiden velges for utføring neste
- I planlegging av flere nivåer skiller metoden klar kø i forskjellige separate køer. I denne metoden tildeles prosesser en kø basert på en bestemt egenskap
- CPU bruker planlegging for å forbedre effektiviteten.