Diferența cheie – programator vs dispecer
Scheduler și Dispatcher sunt asociate cu programarea procesului unui sistem de operare. Diferența cheie dintre planificator și dispecer este că planificatorul selectează un proces din mai multe procese care urmează să fie executate, în timp ce dispecerul alocă CPU pentru procesul selectat de către planificator.
Într-un sistem informatic rulează mai multe procese. Programarea este procesul sistemului de operare pentru a decide ce proces trebuie alocat CPU-ului pentru executarea mai multor procese.
Ce este Scheduler?
Există trei tipuri de programatoare într-un sistem de operare. Ei sunt programatorul pe termen lung, programatorul pe termen scurt și programatorul pe termen mediu. Programatorul pe termen lung este cunoscut și sub denumirea de planificator de locuri de muncă. În sistemul informatic, există o serie de procese care așteaptă execuția. Aceste procese sunt plasate în stocarea secundară sau în coada de joburi pentru a fi executate mai târziu. Obiectivul planificatorului pe termen lung este de a selecta un proces din coada de joburi și de a aduce acel proces în coada pregătită din memoria principală.
Planificatorul pe termen scurt este cunoscut și sub numele de programator CPU. Sarcina planificatorului pe termen scurt este de a selecta un proces din coada de așteptare care ar trebui să fie alocat CPU. Programatorul pe termen scurt ar trebui să aleagă un proces din coada pregătită, în timp ce procesul anterior trece în starea de așteptare. Ar trebui să fie rapid, altfel timpul CPU va fi irosit.
Figura 01: Programarea procesului
Procesul de execuție poate necesita o operație I/O. Deci, procesul trece în starea de așteptare. Se spune că acest proces este suspendat. Pentru utilizarea maximă a CPU, ar trebui să ruleze un alt proces. Procesul suspendat este transferat înapoi în memoria secundară. După ceva timp, procesul transferat poate reveni înapoi în memoria principală și poate continua execuția de unde a fost încheiat. Transferarea procesului suspendat în memoria secundară se numește schimb. Aducerea procesului înapoi în memoria principală este cunoscută sub denumirea de schimbare în interior. Această schimbare de intrare și ieșire este efectuată de planificatorul mediu.
Ce este Dispatcher?
Când planificatorul pe termen scurt selectează din coada gata, dispecerul realizează sarcina de a aloca procesul selectat CPU-ului. Un proces care rulează trece în starea de așteptare pentru operarea IO etc. Apoi CPU este alocat unui alt proces. Această comutare a CPU de la un proces la altul este numită schimbarea contextului. Un dispecer efectuează diverse sarcini, inclusiv schimbarea contextului, configurarea registrelor utilizatorilor și maparea memoriei. Acestea sunt necesare pentru ca procesul să execute și să transfere controlul CPU către acel proces. La expediere, procesul trece de la starea pregătită la starea de rulare.
Uneori, dispecerul este considerat ca parte a programatorului pe termen scurt, astfel încât întreaga unitate este numită programator pe termen scurt. În acest scenariu, sarcina planificatorului pe termen scurt este să selecteze un proces din coada de așteptare și, de asemenea, să aloce CPU pentru acel proces.
Care este relația dintre programator și dispecer?
Dispeceratul atribuie procesorului procesul selectat de către programatorul pe termen scurt
Care este diferența dintre programator și dispecer?
Scheduler vs Dispatcher |
|
Un planificator este un software special de sistem care se ocupă de programarea procesului selectând procesul de executat. | Dispeceratul este modulul care dă controlul CPU-ului procesului selectat de planificatorul pe termen scurt. |
Tipuri | |
Există trei tipuri de programatoare cunoscute ca;
|
Nu există nicio clasificare pentru un dispecer. |
Sarcini principale | |
Planificatorul pe termen lung selectează procesul din coada de joburi și îl aduce în coada gata. Programatorul pe termen scurt selectează un proces în coada de așteptare. Planificatorul mediu efectuează schimbul de intrare, schimbare în afara procesului. |
Dispeceratul alocă CPU procesului selectat de planificatorul pe termen scurt. |
Rezumat – programator vs dispecer
Scheduler și Dispatcher sunt utilizate în programarea proceselor unui sistem de operare. Diferența dintre planificator și dispecer este că planificatorul selectează un proces din mai multe procese care urmează să fie executate, în timp ce dispecerul alocă CPU pentru procesul selectat de către planificator.