Procesplanlægning i OS: Lang, Medium, Kortsigtet Scheduler

⚡ Smart opsummering

Procesplanlægning er en opgave i operativsystemet, der administrerer processer på tværs af klar-, vente- og køretilstande. Den allokerer CPU-tid til hver proces, holder CPU'en beskæftiget og reducerer svartid ved hjælp af langsigtede, mellemlange og kortsigtede planlæggere.

  • Definition: Procesplanlægning styrer processer i klar-, vente- og kørende tilstande for at holde CPU'en beskæftiget.
  • 📥 Køer: Job-, klar- og enhedskøer organiserer processer efter deres udførelsesstatus.
  • 🔀 Tostatsmodellen: På det enkleste niveau kører eller kører en proces ikke.
  • 🧑💼 Tre planlæggere: Langsigtede, mellemlange og kortsigtede planlæggere styrer, hvilke processer der kører, og hvornår.
  • Kort sigt: CPU-scheduleren er den hurtigste og vælger en proces, der er klar til øjeblikkelig udførelse.
  • 🔁 Kontekstskift: Gemme og gendanne CPU-tilstand i printkortet muliggør multitasking.

Procesplanlægning i OS

Hvad er procesplanlægning?

Procesplanlægning er en OS-opgave, der planlægger processer i forskellige tilstande som klar, venter og kører.

Procesplanlægning giver operativsystemet mulighed for at allokere et tidsinterval for CPU-udførelse for hver proces. En anden vigtig grund til at bruge et procesplanlægningssystem er, at det holder CPU'en beskæftiget hele tiden. Dette giver dig mulighed for at få den minimale svartid for programmer.

Procesplanlægningskøer

Procesplanlægningskøer hjælper dig med at opretholde en separat kø for hver eneste procestilstand og printkort. Alle processer med samme udførelsestilstand placeres i den samme kø. Derfor skal printkortet, når en process tilstand ændres, afkobles fra den eksisterende kø og flyttes tilbage til den nye tilstandskø.

Tre typer operativsystemkøer er:

  1. Job-kø – Det hjælper dig med at gemme alle processer i systemet.
  2. Klar kø – Denne type kø hjælper dig med at indstille hver proces, der ligger i hovedhukommelsen, som er klar og venter på at blive udført.
  3. Enhedskøer – Det er en proces, der er blokeret på grund af fraværet af en I/O-enhed.
Procesplanlægningskøer
Procesplanlægningskøer

I ovenstående diagram:

  • Et rektangel repræsenterer en kø.
  • En cirkel angiver ressourcen.
  • En pil angiver processens forløb.
  1. Enhver ny proces placeres først i klarkøen. Den venter i klarkøen, indtil den endelig er behandlet til udførelse. Her placeres den nye proces i klarkøen og venter, indtil den er valgt til udførelse, eller den er afsendt.
  2. En af processerne er tildelt CPU'en, og den udfører.
  3. Processen skal udstede en I/O-anmodning.
  4. Derefter skal den placeres i I/O-køen.
  5. Processen skal oprette en ny underproces.
  6. Processen bør vente på dens afslutning.
  7. Den skal fjernes med magt fra CPU'en som følge af en afbrydelse. Når afbrydelsen er fuldført, skal den sendes tilbage til klarkøen.

To-stats procesmodel

To-stats procesmodeller er:

  • Løbende tilstand
  • Ikke kørende tilstand

Løb

I Operating system, når en ny proces er bygget, indtastes den i systemet, som skulle køre.

Løber ikke

De processer, der ikke kører, holdes i en kø, som venter på deres tur til at udføre. Hver post i køen er et punkt til en specifik proces.

Planlægning af mål

Her er de vigtige mål for procesplanlægning:

  • Maksimer antallet af interaktive brugere inden for acceptable svartider.
  • Opnå en balance mellem respons og udnyttelse.
  • Undgå udsættelse på ubestemt tid og håndhæv prioriteringer.
  • Den bør også give reference til de processer, der rummer nøgleressourcerne.

Type procesplanlæggere

En skemalægger er en type systemsoftware, der giver dig mulighed for at håndtere procesplanlægning.

Der er hovedsageligt tre typer procesplanlæggere:

  1. Langsigtet skemalægger
  2. Kortsigtet skemalægger
  3. Planlægger på mellemlang sigt

Langsigtet skemalægger

Langtidsplanlæggeren er også kendt som en jobplanlæggerDenne scheduler regulerer programmet og vælger processer fra køen og indlæser dem i hukommelsen til udførelse. Den regulerer også graden af ​​multiprogrammering.

Hovedformålet med denne type planlægger er dog at tilbyde en afbalanceret blanding af job, såsom processor- og I/O-job, der muliggør styring af multiprogrammering.

Planlægger på mellemlang sigt

Mellemlang tidsplanlægning er en vigtig del af byttepingDet gør det muligt at håndtere de udskiftede processer. I denne planlægger kan en kørende proces blive suspenderet, hvilket foretager en I/O-anmodning.

En kørende proces kan blive suspenderet, hvis den foretager en I/O-anmodning. En suspenderet proces kan ikke gøre fremskridt mod fuldførelse. For at fjerne processen fra hukommelsen og give plads til andre processer, skal den suspenderede proces flyttes til sekundært lager.

Kortsigtet skemalægger

Kortsigtet planlægning er også kendt som CPU skemalæggerHovedformålet med denne scheduler er at forbedre systemets ydeevne i henhold til fastsatte kriterier. Dette hjælper dig med at vælge fra en gruppe af processer, der er klar til at køre, og allokere CPU'en til en af ​​dem. Dispatcheren giver kontrol over CPU'en til den proces, der er valgt af den kortsigtede scheduler.

Forskel mellem skemalæggere

Langsigtet vs. kortsigtet vs. mellemsigtet:

Langsigtet Kort sigt Mellemlang sigt
Langsigtet er også kendt som en jobplanlægger. Kortsigtet er også kendt som CPU-scheduler. Mellemlang sigt kaldes også swapping planlægning.
Den er enten fraværende eller minimal i et tidsdelingssystem. Det er ubetydeligt i tidsdelingsrækkefølgen. Denne planlægger er et element i tidsdelingssystemer.
Hastigheden er mindre sammenlignet med den kortsigtede skemalægger. Hastighed er den hurtigste sammenlignet med kortsigtet og mellemlangt skemalægger. Den tilbyder medium hastighed.
Giver dig mulighed for at vælge processer fra indlæsningen og gemme dem tilbage i hukommelsen. Den vælger kun processer, der er klar til udførelse. Det hjælper dig med at sende processen tilbage til hukommelsen.
Tilbyder fuld kontrol. Tilbyder mindre kontrol. Reducerer niveauet af multiprogrammering.

Hvad er kontekstskifte?

Det er en metode til at gemme/gendanne en CPU's tilstand i printkortet, så procesudførelsen kan genoptages fra samme punkt på et senere tidspunkt. Kontekstskiftemetoden er vigtig for et multitasking-operativsystem.

Ofte Stillede Spørgsmål

En scheduler bestemmer, hvilken proces der skal køres næste gang, baseret på en politik. En dispatcher er det modul, der rent faktisk giver den valgte proces kontrol over CPU'en, udfører kontekstskift og jumping.ping til den rigtige placering i programmet.

Graden af ​​multiprogrammering er antallet af processer, der holdes i hovedhukommelsen på samme tid. Langtidsplanlæggeren styrer det ved at bestemme, hvor mange processer der skal tillades, og afbalancere CPU- og I/O-forbrug for effektiv systemydelse.

En proceskontrolblok er en datastruktur, som operativsystemet bruger til at gemme alle oplysninger om en proces, såsom dens tilstand, programtæller, registre og hukommelsesgrænser. Den er afgørende for at gemme og gendanne processer under et kontekstskift.

AI kan lære arbejdsbelastningsmønstre for at beslutte, hvilken proces der skal køres, og hvordan CPU-tid skal allokeres. I stedet for faste regler tilpasser den planlægningen i realtid, hvilket forbedrer gennemløb, responstid og energieffektivitet, især i cloud- og multi-core-systemer.

Ja. Ved at analysere tidligere CPU-bursts og I/O-mønstre kan AI-modeller estimere, hvor længe en proces vil køre, og om den er CPU- eller I/O-bundet. Disse forudsigelser hjælper planlæggeren med at prioritere processer og reducere ventetiden.

Opsummer dette indlæg med: