Nøgleforskel – Scheduler vs Dispatcher
Scheduler og Dispatcher er forbundet med procesplanlægning af et operativsystem. Den vigtigste forskel mellem planlægger og afsender er, at planlæggeren vælger en proces ud af flere processer, der skal udføres, mens afsenderen tildeler CPU'en til den valgte proces af planlæggeren.
I et computersystem kører flere processer. Planlægning er operativsystemets proces til at beslutte, hvilken proces der skal allokeres til CPU'en til udførelse af flere processer.
Hvad er Scheduler?
Der er tre typer planlæggere i et operativsystem. De er langsigtede skemalæggere, kortsigtede skemalæggere og mellemlange skemaer. Den langsigtede planlægger er også kendt som jobplanlæggeren. I computersystemet er der en række processer, der venter på udførelse. Disse processer placeres i det sekundære lager eller jobkøen for at udføre senere. Formålet med langtidsplanlæggeren er at vælge en proces fra jobkøen og bringe denne proces til klarkøen i hovedhukommelsen.
Den kortsigtede planlægger er også kendt som CPU-planlæggeren. Korttidsplanlæggerens opgave er at vælge en proces i klarkøen, der skal allokeres til CPU. Korttidsplanlæggeren bør vælge en proces fra klarkøen, mens den forrige proces går til ventetilstand. Det burde være hurtigt, ellers vil CPU-tiden være spildt.
Figur 01: Procesplanlægning
Den eksekverende proces kræver muligvis en I/O-handling. Så processen går til ventetilstand. Denne proces siges at være suspenderet. For maksimal CPU-udnyttelse bør en anden proces køre. Den suspenderede proces overføres tilbage til den sekundære hukommelse. Efter nogen tid kan den overførte proces vende tilbage til hovedhukommelsen og fortsætte udførelsen, hvorfra den blev afsluttet. Overførsel af den suspenderede proces til den sekundære hukommelse kaldes udskiftning. At bringe processen tilbage til hovedhukommelsen er kendt som swapping ind. Denne swapping ind og ud udføres af mellemplanlæggeren.
Hvad er Dispatcher?
Når korttidsplanlæggeren vælger fra klarkøen, udfører afsenderen opgaven med at allokere 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 skift af CPU fra den ene proces til den anden kaldes kontekstskiftet. En dispatcher udfører forskellige opgaver, herunder kontekstskift, opsætning af brugerregistre og hukommelseskortlægning. Disse er nødvendige for, at processen kan udføre og overføre CPU-kontrol til denne proces. Ved afsendelse skifter processen fra klar-tilstand til kørende tilstand.
Nogle gange betragtes afsenderen som en del af korttidsplanlæggeren, så hele enheden kaldes korttidsplanlæggeren. I dette scenarie er opgaven for korttidsplanlæggeren at vælge en proces fra klar kø og også at allokere CPU'en til den proces.
Hvad er forholdet mellem planlægger og afsender?
Afsenderen tildeler den valgte proces af korttidsplanlæggeren til CPU'en
Hvad er forskellen mellem planlægger og afsender?
Scheduler vs Dispatcher |
|
A scheduler er speciel systemsoftware, der håndterer procesplanlægning ved at vælge den proces, der skal udføres. | Dispatcheren er det modul, der giver kontrol over CPU'en til den proces, der er valgt af korttidsplanlæggeren. |
Typer | |
Der er tre typer planlæggere kendt som;
|
Der er ingen kategorisering for en afsender. |
Hovedopgaver | |
Langtidsplanlæggeren vælger processen fra jobkøen og bringer den til klarkøen. Korttidsplanlæggeren vælger en proces i klarkøen. Den mellemstore planlægger udfører swap ind, swap ud af processen. |
Afsenderen allokerer CPU'en til den proces, der er valgt af korttidsplanlæggeren. |
Oversigt – Planlægger vs Dispatcher
Scheduler og Dispatcher bruges i procesplanlægning af et operativsystem. Forskellen mellem planlægger og afsender er, at planlæggeren vælger en proces ud af flere processer, der skal udføres, mens afsenderen tildeler CPU'en til den valgte proces af planlæggeren.