Există o relație între proces și program, ceea ce înseamnă că un program poate invoca mai multe procese sau, cu alte cuvinte, mai multe procese pot face parte din același program.
Diagramă de comparație
Bazele de comparație | Program | Proces |
---|---|---|
De bază | Programul este un set de instrucțiuni. | Când un program este executat, acesta este cunoscut ca proces. |
Natură | Pasiv | Activ |
Durata de viata | Mai lung | Limitat |
Resurse necesare | Programul este stocat pe disc în unele fișiere și nu necesită alte resurse. | Procesul deține resurse cum ar fi CPU, adresa de memorie, disc, I / O etc. |
Definiția Program
Un program, cu cuvinte simple, poate fi considerat o activitate a sistemului. În sistemul de procesare în lot se numesc executări de lucrări în timp ce se află într-un sistem de operare în timp real, se numește sarcini sau programe. Un utilizator poate rula mai multe programe în care sistemul de operare facilitează propriile activități interne programate, cum ar fi gestionarea memoriei utilizând anumite tehnici.
Un program este o entitate pasivă, de exemplu, un fișier care acceptă un grup de instrucțiuni care trebuie executate (fișier executabil). Este așa numit deoarece nu efectuează nici o acțiune singură, trebuie executată pentru a realiza acțiunile specificate în ea.
Spațiul de adrese al unui program este compus din instrucțiuni, date și stiva. Presupunem că P este programul pe care îl scriem, pentru a realiza execuția lui P, sistemul de operare alocă memorie pentru a găzdui spațiul de adrese al lui P.
Definiția Process
Un proces este o execuție a unui program. Este considerată o entitate activă și realizează acțiunile specificate într-un program. Mai multe procese pot fi legate de același program. Ea gestionează activitățile sistemului de operare prin PCB (Block control process), care include contorul de programe, stack-ul, starea etc. Programatorul de programe stochează următoarea secvență de instrucțiuni care urmează a fi executată mai târziu.
Ea are nevoie de resurse cum ar fi procesarea, memoria și resursele I / O pentru a îndeplini sarcinile de gestionare. În timpul executării unui program, acesta ar putea angaja operatorul procesorului sau I / O care face un proces diferit de un program.
Să înțelegem acest lucru dintr-un exemplu; scriem un program C. În timp ce scriem și stocăm un program într-un fișier, este doar un script și nu efectuează nicio acțiune, dar când este executat, acesta se transformă în proces, de unde procesul este dinamic în natură. Partajarea resurselor între mai multe procese este folosită de mașinile curente, dar în realitate un singur procesor este distribuit între mai multe procese.
Diferențe cheie între program și proces
- Un program este un grup definit de operațiuni ordonate care trebuie efectuate. Pe de altă parte, o instanță a unui program care este executată este un proces.
- Natura programului este pasivă, deoarece nu face nimic până când nu este executată, în timp ce un proces este dinamic sau activ în natură deoarece este o instanță de executare a programului și de a efectua acțiunea specifică.
- Un program are o durată mai lungă de viață, deoarece este stocat în memorie până când nu este șters manual în timp ce procesul are o durată de viață mai scurtă și mai scurtă, deoarece se termină după terminarea sarcinii.
- Cerința de resurse este mult mai mare în cazul unui proces; ar putea avea nevoie de procesare, memorie, resurse I / O pentru executarea cu succes. În schimb, un program necesită doar memorie pentru stocare.
Concluzie
Programul și procesul sunt relevante, dar sunt diferite. Un program este doar un script stocat pe disc sau pare a fi etapa anterioară a procesului. Dimpotrivă, procesul este un eveniment al unui program în execuție.