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

pรฅ 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: