Vad är skillnaden mellan tråd, process och program?


Bästa svaret

Program , Process och Trådar är tre grundläggande begrepp i de operativsystem som varje datavetenskapstekniker måste känna till . Här kommer jag att förklara vad var och en av dem handlar om och hur de skiljer sig från varandra.

Vad är ett program?

Program är en körbar fil som innehåller uppsättningen instruktioner skrivna för att utföra ett specifikt jobb på din dator. Till exempel notepad.exe är en körbar fil som innehåller uppsättningen instruktioner som hjälper oss att redigera och skriva ut textfiler.

Program lagras inte i det primära minnet på din dator. De lagras på en disk eller ett sekundärt minne på din dator. De läses in i det primära minnet och körs av kärnan. Ett program kallas ibland passiv enhet eftersom det finns i ett sekundärt minne.

Vad är en process?

Processen är en exekverande instans av ett program. När du till exempel dubbelklickar på en anteckningsikon på din dator startas en process som kör anteckningsblockprogrammet.

En process kallas ibland för aktiv enhet eftersom den finns i det primära minnet och lämnar minnet om systemet startas om. Flera processer kan relateras till samma program. Du kan till exempel köra flera instanser av ett anteckningsblockprogram. Varje förekomst kallas en process.

Vad är en tråd ?

Tråd är den minsta körbara enheten i en process. Till exempel, när du kör ett anteckningsblockprogram skapar operativsystemet en process och startar körningen av huvudtråden för den processen.

En process kan ha flera trådar. Varje tråd kommer att ha sin egen uppgift och sin egen körväg i en process. Till exempel, i ett anteckningsblockprogram tar en tråd användarinmatningar och en annan tråd skriver ut ett dokument.

Alla trådar i samma process delar minne av den processen. Eftersom trådar i samma process delar samma minne är kommunikationen mellan trådarna snabb.

Sammanfattning …

Hoppas nu, du är tydlig med skillnaderna mellan program, process och tråd och har också upptäckt förhållandet mellan dem … Om inte, ta reda på nedan.

Programmet är en super uppsättning process, medan, processen är en super uppsättning trådar.

Njut av lärande !!!

Bild med tillstånd: www.google.com

Svar

  1. Program : Programmet är inget annat än en uppsättning av alla instruktioner som kräver att utföra ett visst jobb. Innan de körs måste de konverteras i binära koder som bör förstås av loader OS OS. Generellt i Windows som EXE-fil som lagras i Portable Executable (PE) Format på sekundärt minne Som hårddisk. En process definieras vanligtvis som en instans av ett pågående program och består av två komponenter: 1) Ett kärnobjekt som operativsystemet använder för att hantera processen. Kärnobjektet är också där systemet håller statistisk information om processen. 2) Ett adressutrymme som innehåller all den körbara eller DLL-modulens kod och data. Den innehåller också dynamiska minnestilldelningar som trådstackar och högtilldelningar. Processer är inerta. För att en process ska kunna åstadkomma något måste den ha en tråd som körs i sitt sammanhang; denna tråd är ansvarig för att köra koden som finns i processens adressutrymme. I själva verket kan en enda process innehålla flera trådar, alla kör kod ”samtidigt” i processens adressutrymme. För att göra detta har varje tråd sin egen uppsättning CPU-register och sin egen stack. Varje process har minst en tråd som kör kod i processens adressutrymme. Om det inte fanns några trådar som kör kod i processens adressutrymme, skulle det inte finnas någon anledning för att processen skulle fortsätta att existera, och systemet skulle automatiskt förstöra processen och dess adressutrymme.
  2. Process : Varje process ger de resurser som behövs för att utföra ett program. En process har ett virtuellt adressutrymme, körbar kod, öppna handtag till systemobjekt, ett säkerhetskontext, en unik processidentifierare, miljövariabler, en prioritetsklass, minsta och maximala arbetsuppsättningsstorlekar och minst en exekveringstråd. Varje process startas med en enda tråd, ofta kallad primär tråd, men kan skapa ytterligare trådar från någon av dess trådar .
  3. Tråd : En tråd är en enhet inom en process som kan planeras för körning. Alla trådar i en process delar dess virtuella adressutrymme och systemresurser. Dessutom upprätthåller varje tråd undantagshanterare, en schemaläggningsprioritet, tråd lokal lagring, en unik trådidentifierare och en uppsättning strukturer som systemet kommer att använda för att spara trådkontext tills det är schemalagt. Trådkontexten innehåller trådens uppsättning maskinregister, kärnstacken, ett trådmiljöblock och en användarstack i adressutrymmet för trådens process. Trådar kan också ha sin egen säkerhetskontext, som kan användas för att utge sig av klienter.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *