Skillnaden mellan ett program och en process kan vara förvirrande, men här är en uppdelning:
Program:
* Definition: Ett program är en statisk uppsättning instruktioner eller en sekvens av instruktioner skrivna på ett programmeringsspråk. Tänk på det som ett recept. Det är en plan eller en plan för hur man utför en uppgift.
* Egenskaper:
* Lagrad på en lagringsenhet (t.ex. hårddisk, SSD).
* En passiv enhet (inaktiv). Det gör ingenting på egen hand.
* En samling kod, data och resurser (t.ex. bilder, konfigurationsfiler) som beskriver hur man utför en uppgift.
* Körbar fil (t.ex. .exe på Windows, en körbar på Linux/MacOS).
* Konsumerar inte systemresurser (CPU, minne) såvida det inte körs.
* Det är den konceptuella idén/uppsättningen instruktioner om vad man ska göra.
Process:
* Definition: En process är en instans av ett program i exekvering . Tänk på det som någon som faktiskt följer receptet och matlagningen. Det är den aktiva enheten som konsumerar CPU -tid och minne.
* Egenskaper:
* En aktiv enhet.
* Konsumerar systemresurser (CPU, minne, I/O).
* Har sitt eget processkontrollblock (PCB), som innehåller information som process -ID (PID), programräknare, CPU -register, information om minneshantering och I/O -status.
* Den har ett tillstånd (t.ex. springa, redo, vänta).
* Kan skapas, pausas, återupptas och avslutas.
* Ett program kan ha flera processer som körs samtidigt.
* Det är den faktiska exekveringen av instruktionerna som definieras i programmet.
Analogi:
| Koncept | Analogi |
| ---------- | -------------- |
| Program | Recept |
| Process | Matlagning |
| Ingredienser | Data/resurser |
Nyckelskillnader sammanfattade:
| Funktion | Program | Process |
| ------------- | ----------------------------------- | ------------------------------------------- |
| Natur | Statisk, passiv | Dynamisk, aktiv |
| Lagring | Lagrad på disken | Är bosatt i minnet (RAM) under körningen |
| Resursanvändning | Minimal tills den körs | Konsumerar CPU, minne, I/O |
| Existens | Finns som en fil | Skapad när ett program körs |
| Antal instanser | En fil | En eller flera processer kan baseras på samma program |
| PCB | Inget processkontrollblock | Har ett processkontrollblock |
Exempel:
* Program: Chrome webbläsarapplikationen (till exempel ".exe" -filen).
* Process: Varje enskild löpande instans av Chrome. Om du öppnar tre kromfönster har du troligtvis tre separata kromprocesser (även om moderna webbläsare ofta använder en mer komplex processmodell med flera processer även i ett enda fönster).
kort sagt: Ett program är som en plan, medan en process är som den faktiska konstruktionen som sker baserat på den planen. Du kan ha ett enda program (ritning), men flera processer (byggprojekt) som körs samtidigt baserat på det.