Prosessplanlegging i OS: Planlegger for lang, middels, kort sikt

⚡ Smart oppsummering

Prosessplanlegging er en operativsystemoppgave som administrerer prosesser på tvers av klar-, vente- og kjøretilstander. Den tildeler CPU-tid til hver prosess, holder CPU-en opptatt og reduserer responstiden ved hjelp av langsiktige, mellomlange og kortsiktige planleggere.

  • Definisjon: Prosessplanlegging administrerer prosesser i klar-, vente- og kjørende tilstander for å holde CPU-en opptatt.
  • 📥 Køer: Jobb-, klar- og enhetskøer organiserer prosesser etter utførelsesstatus.
  • 🔀 Tostatsmodell: På det enkleste nivået kjører eller kjører en prosess ikke.
  • 🧑💼 Tre planleggere: Langsiktige, mellomlange og kortsiktige planleggere styrer hvilke prosesser som kjører og når.
  • Kortsiktig: CPU-planleggeren er den raskeste, og velger en klar prosess for umiddelbar utførelse.
  • 🔁 Kontekstbytte: Lagring og gjenoppretting av CPU-tilstand i PCB-en muliggjør multitasking.

Prosessplanlegging i operativsystemet

Hva er prosessplanlegging?

Prosessplanlegging er en OS-oppgave som planlegger prosesser med forskjellige tilstander som klar, venter og kjører.

Prosessplanlegging lar operativsystemet tildele et tidsintervall for CPU-kjøring for hver prosess. En annen viktig grunn til å bruke et prosessplanleggingssystem er at det holder CPU-en opptatt hele tiden. Dette lar deg få minimal responstid for programmer.

Prosessplanleggingskøer

Prosessplanleggingskøer hjelper deg med å opprettholde en distinkt kø for hver eneste prosesstilstand og PCB. Alle prosesser med samme utførelsestilstand plasseres i samme kø. Derfor, når tilstanden til en prosess endres, må PCB-en kobles fra den eksisterende køen og flyttes tilbake til den nye tilstandskøen.

Tre typer operativsystemkøer er:

  1. Jobbkø – Det hjelper deg å lagre alle prosessene i systemet.
  2. Klar kø – Denne typen kø hjelper deg med å sette hver prosess som ligger i hovedminnet, som er klar og venter på å utføres.
  3. Enhetskøer – Det er en prosess som er blokkert på grunn av fraværet av en I/O-enhet.
Prosessplanleggingskøer
Prosessplanleggingskøer

I diagrammet ovenfor:

  • Et rektangel representerer en kø.
  • En sirkel angir ressursen.
  • En pil indikerer prosessens flyt.
  1. Hver ny prosess plasseres først i klarkøen. Den venter i klarkøen til den endelig er behandlet for utførelse. Her plasseres den nye prosessen i klarkøen og venter til den er valgt for utførelse, eller den sendes.
  2. En av prosessene er tildelt CPU-en, og den kjører.
  3. Prosessen skal utstede en I/O-forespørsel.
  4. Deretter bør den plasseres i I/O-køen.
  5. Prosessen bør opprette en ny delprosess.
  6. Prosessen bør vente på at den avsluttes.
  7. Den bør fjernes med makt fra CPU-en som følge av et avbrudd. Når avbruddet er fullført, bør den sendes tilbake til klarkøen.

Tostatsprosessmodell

To-stats prosessmodeller er:

  • Løpende tilstand
  • Ikke løpende tilstand

kjører

Operating system, hver gang en ny prosess bygges, legges den inn i systemet, som skal kjøre.

Løper ikke

Prosessene som ikke kjører, holdes i en kø som venter på sin tur til å kjøre. Hver oppføring i køen er et poeng til en spesifikk prosess.

Planleggingsmål

Her er de viktigste målene med prosessplanlegging:

  • Maksimer antallet interaktive brukere innenfor akseptable responstider.
  • Oppnå en balanse mellom respons og utnyttelse.
  • Unngå utsettelse på ubestemt tid og håndhev prioriteringer.
  • Den bør også gi referanse til prosessene som inneholder nøkkelressursene.

Type prosessplanleggere

En planlegger er en type systemprogramvare som lar deg håndtere prosessplanlegging.

Det er hovedsakelig tre typer prosessplanleggere:

  1. Langsiktig planlegger
  2. Kortsiktig planlegger
  3. Planlegger på mellomlang sikt

Langsiktig planlegger

Langtidsplanleggeren er også kjent som en jobbplanleggerDenne planleggeren regulerer programmet og velger prosesser fra køen og laster dem inn i minnet for utførelse. Den regulerer også graden av multiprogrammering.

Hovedmålet med denne typen planlegger er imidlertid å tilby en balansert blanding av jobber, som prosessor- og I/O-jobber, som tillater håndtering av multiprogrammering.

Planlegger på mellomlang sikt

Planlegging på mellomlang sikt er en viktig del av swappingDet lar deg håndtere de utskiftede prosessene. I denne planleggeren kan en kjørende prosess bli suspendert, noe som foretar en I/O-forespørsel.

En kjørende prosess kan bli suspendert hvis den sender en I/O-forespørsel. En suspendert prosess kan ikke gjøre noen fremskritt mot fullføring. For å fjerne prosessen fra minnet og gi plass til andre prosesser, bør den suspenderte prosessen flyttes til sekundær lagring.

Kortsiktig planlegger

Kortsiktig planlegging er også kjent som CPU-planleggerHovedmålet med denne planleggeren er å øke systemytelsen i henhold til angitte kriterier. Dette hjelper deg med å velge fra en gruppe prosesser som er klare til å kjøre, og tildele CPU-en til en av dem. Dispatcheren gir kontroll over CPU-en til prosessen som er valgt av korttidsplanleggeren.

Forskjellen mellom planleggere

Langsiktig vs. kortsiktig vs. mellomlangsiktig:

Long-Term Kortsiktig Medium-Term
Langsiktig er også kjent som en jobbplanlegger. Kortsiktig er også kjent som CPU-planlegger. Mellomlang sikt kalles også swapping planlegger.
Den er enten fraværende eller minimal i et tidsdelingssystem. Det er ubetydelig i tidsdelingsrekkefølgen. Denne planleggeren er et element i tidsdelingssystemer.
Hastigheten er mindre sammenlignet med den kortsiktige planleggeren. Hastigheten er den raskeste sammenlignet med den kortsiktige og mellomlange planleggeren. Den tilbyr middels hastighet.
Lar deg velge prosesser fra lasten og lagre dem tilbake i minnet. Den velger bare prosesser som er i en klar tilstand for utførelse. Det hjelper deg å sende prosessen tilbake til minnet.
Tilbyr full kontroll. Gir mindre kontroll. Reduserer nivået av multiprogrammering.

Hva er kontekstbryter?

Det er en metode for å lagre/gjenopprette tilstanden til en CPU i PCB-en, slik at prosesskjøringen kan gjenopptas fra samme punkt på et senere tidspunkt. Kontekstbyttemetoden er viktig for et fleroppgavekjørende operativsystem.

Spørsmål og svar

En planlegger bestemmer hvilken prosess som skal kjøres videre basert på en policy. En dispatcher er modulen som faktisk gir den valgte prosessen kontroll over CPU-en, og utfører kontekstbyttet og hoppet.ping til riktig sted i programmet.

Graden av multiprogrammering er antallet prosesser som holdes i hovedminnet samtidig. Langtidsplanleggeren kontrollerer dette ved å bestemme hvor mange prosesser som skal tillates, og balansere CPU- og I/O-bruk for effektiv systemytelse.

En prosesskontrollblokk er en datastruktur som operativsystemet bruker til å lagre all informasjon om en prosess, for eksempel status, programteller, registre og minnegrenser. Den er viktig for å lagre og gjenopprette prosesser under et kontekstbytte.

AI kan lære arbeidsbelastningsmønstre for å bestemme hvilken prosess som skal kjøres og hvordan CPU-tid skal tildeles. I stedet for faste regler tilpasser den planleggingen i sanntid, noe som forbedrer gjennomstrømning, responstid og energieffektivitet, spesielt i sky- og flerkjernesystemer.

Ja. Ved å analysere tidligere CPU-utbrudd og I/O-mønstre kan AI-modeller estimere hvor lenge en prosess vil kjøre og om den er CPU- eller I/O-bundet. Disse forutsigelsene hjelper planleggeren med å prioritere prosesser og redusere ventetid.

Oppsummer dette innlegget med: