Peamine erinevus – planeerija vs dispetšer
Scheduler ja Dispetcher on seotud operatsioonisüsteemi protsesside ajakavaga. Peamine erinevus planeerija ja dispetšeri vahel seisneb selles, et planeerija valib mitme protsessi hulgast protsessi, mida käivitada, samal ajal kui dispetšer eraldab ajakavandaja poolt valitud protsessi jaoks protsessori.
Arvutisüsteemis töötab mitu protsessi. Ajastamine on protsess, mille käigus operatsioonisüsteem otsustab, milline protsess tuleks CPU-le eraldada mitme protsessi täitmiseks.
Mis on ajakava?
Operatsioonisüsteemis on kolme tüüpi planeerijaid. Nad on pikaajaline planeerija, lühiajaline planeerija ja keskmise tähtajaga planeerija. Pikaajalist planeerijat tuntakse ka tööplaneerijana. Arvutisüsteemis on mitmeid protsesse, mis ootavad täitmist. Need protsessid paigutatakse sekundaarmällu või tööjärjekorda, et neid hiljem käivitada. Pikaajalise planeerija eesmärk on valida protsessid tööjärjekorrast ja viia see protsess põhimällu valmis järjekorda.
Lühiajalist planeerijat tuntakse ka CPU planeerijana. Lühiajalise planeerija ülesanne on valida valmis järjekorras protsess, mis tuleks CPU-le eraldada. Lühiajaline planeerija peaks valima protsessi valmisjärjekorrast, samal ajal kui eelmine protsess läheb ooteolekusse. See peaks olema kiire, muidu kulub protsessori aeg raisku.
Joonis 01: protsesside ajastamine
Täitmisprotsess võib nõuda I/O toimingut. Seega läheb protsess ooteolekusse. Väidetav alt on see protsess peatatud. Protsessori maksimaalseks kasutamiseks peaks töötama mõni muu protsess. Peatatud protsess kantakse tagasi sekundaarmällu. Mõne aja pärast võib ülekantud protsess naasta tagasi põhimällu ja jätkata täitmist se alt, kus see lõpetati. Peatatud protsessi teisaldamist sekundaarmällu nimetatakse väljavahetamiseks. Protsessi põhimällu tagasi toomist nimetatakse sisse- ja väljavahetamiseks. Selle sisse- ja väljavahetamise teeb keskmise ajakava.
Mis on dispetšer?
Kui lühiajaline planeerija valib valmisoleku järjekorrast, täidab dispetšer ülesande ja eraldab valitud protsessi protsessorile. Töötav protsess läheb ooteolekusse IO toimimiseks jne. Seejärel eraldatakse CPU mõnele muule protsessile. Seda protsessori vahetamist ühelt protsessilt teisele nimetatakse kontekstivahetuseks. Dispetšer täidab erinevaid ülesandeid, sealhulgas konteksti vahetamist, kasutajaregistrite seadistamist ja mälu kaardistamist. Need on vajalikud protsessi käivitamiseks ja protsessori juhtimise ülekandmiseks sellele protsessile. Saatmisel muutub protsess valmisolekust tööolekusse.
Mõnikord käsitletakse dispetšerit lühiajalise planeerija osana, seega nimetatakse kogu üksust lühiajaliseks planeerijaks. Selle stsenaariumi korral on lühiajalise planeerija ülesanne valida protsess valmisjärjekorrast ja eraldada sellele protsessile CPU.
Milline on suhe planeerija ja dispetšeri vahel?
Dispetšer määrab lühiajalise planeerija poolt valitud protsessi protsessorile
Mis vahe on planeerijal ja dispetšeril?
Ajakava koostaja vs dispetšer |
|
Ajastaja on spetsiaalne süsteemitarkvara, mis käsitleb protsesside ajastamist, valides käivitatava protsessi. | Dispetšer on moodul, mis annab lühiajalise planeerija poolt valitud protsessi CPU juhtimise. |
Tüübid | |
On kolme tüüpi ajakavasid, mida tuntakse kui;
|
Dispetšeri jaoks ei ole kategoriseerimist. |
Peamised ülesanded | |
Pikaajaline planeerija valib protsessi tööjärjekorrast ja toob selle valmisjärjekorda. Lühiajaline planeerija valib valmis järjekorras oleva protsessi. Keskmine planeerija teostab vahetuse sisse, vahetab protsessist välja. |
Dispetšer eraldab protsessori lühiajalise planeerija valitud protsessile. |
Kokkuvõte – planeerija vs dispetšer
Scheduleri ja dispetšerit kasutatakse operatsioonisüsteemi protsesside ajastamises. Ajastaja ja dispetšeri erinevus seisneb selles, et planeerija valib mitme protsessi hulgast protsessi, mis tuleb käivitada, samal ajal kui dispetšer eraldab planeerija poolt valitud protsessi jaoks protsessori.