Scheduler og Dispatcher er forbundet med procesplanlægning af et operativsystem. Det vigtigste forskel mellem scheduler og dispatcher er det planlæggeren vælger en proces ud af flere processer, der skal udføres, mens afsenderen allokerer CPU'en til den valgte proces af planlæggeren.
I et computersystem kører flere processer. Planlægning er processen med operativsystemet til at beslutte, hvilken proces der skal allokeres til CPU'en til udførelse af flere processer.
1. Oversigt og nøgleforskel
2. Hvad er planlægning
3. Hvad er Dispatcher
4. Forholdet mellem planlægning og koordinator
5. Sammenligning side ved side - Planlægning vs Dispatcher i tabelform
6. Resume
Der er tre typer planlæggere i et operativsystem. De er den langsigtede planlægning, korttidsplanlægning og mellemlang sigt planlægning. Den langsigtede planlægning kaldes også jobplanlægning. I computersystemet er der et antal processer, der venter på udførelse. Disse processer placeres i det sekundære lager eller i jobkøen for at udføres senere. Målet med den langsigtede planlægning er at vælge en processer fra jobkøen og at bringe denne proces til den klar kø i hovedhukommelsen.
Den kortvarige planlægning kaldes også CPU-planlægning. Korttidsplanlæggerens opgave er at vælge en proces i den klar kø, der skal allokeres til CPU. Den kortvarige planlægning skal vælge en proces fra den klar kø, mens den forrige proces går til ventetilstand. Det skal være hurtigt, ellers spildes CPU-tiden.
Figur 01: Procesplanlægning
Udførelsesprocessen kræver muligvis en I / O-operation. Så processen går til ventetilstand. Det siges, at denne proces er suspenderet. For maksimal CPU-udnyttelse skal en anden proces køre. Den suspenderede proces overføres tilbage til den sekundære hukommelse. Efter et stykke tid kan den overførte proces vende tilbage til hovedhukommelsen og fortsætte udførelsen, hvor den blev afsluttet. Overførsel af den suspenderede proces til den sekundære hukommelse kaldes swapping ud. At bringe processen tilbage til hovedhukommelsen kaldes bytter ind. Denne udveksling ind og ud gøres af medium planlægning.
Når korttidsplanlæggeren vælger fra den klar kø, udfører koordinatoren opgaven med at tildele den valgte proces til CPU'en. En kørende proces går til ventetilstand for IO-drift osv. Derefter allokeres CPU'en til en anden proces. Denne switching af CPU fra den ene proces til den anden kaldes kontekst switching. En koordinator udfører forskellige opgaver, herunder kontekstskifte, opsætning af brugerregistre og hukommelseskortlægning. Disse er nødvendige for processen til at udføre og overføre CPU-kontrol til denne proces. Ved afsendelse ændres processen fra klar tilstand til kørende tilstand.
Nogle gange betragtes afsenderen som en del af den kortvarige planlægning, så hele enheden kaldes som korttidsplanlæggeren. I dette scenarie er korttidsplanlæggerens opgave at vælge en proces fra klar kø og også at allokere CPU'en til denne proces.
Scheduler vs Dispatcher | |
En scheduler er speciel systemsoftware, der håndterer procesplanlægning ved at vælge den proces, der skal udføres. | Koordinatoren er det modul, der giver kontrol over CPU'en til den proces, der er valgt af den kortvarige planlægning. |
typer | |
Der er tre typer planlægere kendt som;
| Der er ingen kategorisering for en koordinator. |
Hovedopgaver | |
Det langtidsplanlægning vælger processen fra jobkøen og bringer den til den klar kø. Det korttidsplanlægning vælger en proces i den klar kø. Det medium planlægning udfører swap ind, swap ud af processen. | Koordinatoren tildeler CPU'en til den proces, der er valgt af den kortvarige planlægning. |
Scheduler og Dispatcher bruges til procesplanlægning af et operativsystem. Forskellen mellem planlægger og dispatcher er, at planlæggeren vælger en proces ud af flere processer, der skal udføres, mens koordinatoren allokerer CPU'en til den valgte proces af planlæggeren.
1.Kiran Kumar. “Cpu Scheduling OS.” LinkedIn SlideShare, 16. juli 2014. Tilgængelig her
2. "Hvad er CPU-planlægning?" CPU-planlægning i operativsystem | Studytonight. Tilgængelig her
3. "Planlægning (computing)." Wikipedia, Wikimedia Foundation, 31. mar. 2018. Tilgængelig her