Forskjellen mellom prosess og tråd

Hovedforskjellen mellom prosess og tråd er det prosess er et program i utførelse mens en tråd er en liten utførelsesenhet i en prosess.

Et program er et sett med instruksjoner for å utføre en bestemt oppgave. En prosess er et program i utførelse. Det er ikke et program, men det er mer enn det. Med andre ord, et program er en passiv enhet mens en prosess er en aktiv enhet. Når programmet utføres, blir det en prosess. På den annen side er en tråd en liten utførelsesenhet som tilhører en prosess. Prosessene er tungvektige, men tråden er lette. Derfor er en enkelt prosess delt inn i flere tråder for effektivitet.

Nøkkelområder dekket

1. Hva er prosessen
     - Definisjon, funksjonalitet
2. Hva er tråden
     - Definisjon, funksjonalitet
3. Forholdet mellom prosess og tråd
     - Oversikt over foreningen
4. Forskjellen mellom prosess og tråd
     - Sammenligning av nøkkelforskjeller

Nøkkelord

Prosess, tråd, operativsystem

Hva er en prosess?

En prosess er et program i utførelse. Når programmereren skriver et program og utfører det, blir det programmet en prosess. Det utfører oppgavene i henhold til instruksjonene i programmet.

Når en prosess laster til minnet, deles den videre i fire segmenter. De er stabelen, bunken, teksten og dataene. Stablene lagrer midlertidige data som funksjonsparametere og lokale variabler. Hopen tilordner dynamisk minne til en prosess ved kjøring. Tekstdelen inneholder innholdet i prosessorregisterene og verdien av programtelleren. Dataseksjonen inneholder de statiske og globale variablene. 

En prosess går gjennom flere stater. De er som følger.

Figur 2: Prosessstater

Ny - Prosessen skaper i den nye staten

Klar - I klar tilstand venter prosessen på å bli tildelt prosessoren slik at den kan kjøre. En prosess kan komme til denne tilstanden etter starttilstanden. Videre, når en planlegger tilordner CPUen til en prosess mens en annen prosess allerede er utført, går den allerede utførende prosessen til klar tilstand.

Løping - I løpestatus blir prosessen tilordnet en prosessor og den utfører instruksjonene.

Venter - Ventetilstanden gjenspeiler at prosessen venter på at noen hendelser oppstår; for eksempel venter til en fil er tilgjengelig eller venter til IO fullføring.

Avslutte - Oppsigelsestilstanden indikerer at prosessen er fullført. Nå er det mulig å fjerne det fra hovedminnet.

Videre opprettholder et operativsystem en prosesskontrollblokk (PCB) for hver prosess. Den inneholder informasjon om prosessen som prosess ID (PID), programteller, CPU-registre, CPU-planleggingsinformasjon, minnehåndteringsinformasjon og IO-statusinformasjon. PCB slettes når prosessen slutter.

Hva er tråden

En tråd er en utførelsesenhet, og den inneholder programteller, stakk og sett med registre. Det er en lett prosess. En tråd kan ikke eksistere utenfor en prosess, og hver tråd tilhører en prosess. Det er to typer tråder: brukertråder og kjernetråder. Brukertråder er brukerstyrte tråder mens kjernestråder støttes og styres av kjernen.

Figur 2: Tråd og prosess

I et datasystem er det ikke effektivt å lage prosesser for hver oppgave fordi det krever flere ressurser. Derfor er en prosess delt inn i flere delprosesser, og hver delprosess utfører en deloppgave. Denne delprosessen er en enkelt enhet i prosessen, og den kalles en tråd. Deler en prosess i flere tråder og disse tråder som utføres parallelt kalles multithreading. Derfor forbedrer trådene applikasjonsytelsen gjennom parallellisme.

Hovedsakelig gir tråder samtidighet i en prosess. Videre forbedrer tråden utnyttelsen i multiprosessorarkitektur for effektivitet.

Forholdet mellom prosess og tråd

  • En tråd er en lett prosess.

Forskjellen mellom prosess og tråd

Definisjon

En prosess er en forekomst av et dataprogram som blir utført. En tråd er en komponent i en prosess som er den minste utførelsenheten.

Type

En prosess er tungvekt mens en tråd er lett.

Veksling

En prosessomstilling krever samhandling med operativsystemet. I motsetning henger nå trådkobling i samspill med operativsystemet.

Minneplass

Hver prosess har sin egen minneplass. En prosess deler ikke minne med andre prosesser. Tråder bruker minnet av prosessen de tilhører. Dermed deler tråder minnet med andre tråder av samme prosess.

Ressursbehov

En prosess krever flere ressurser. En tråd krever minimumsressurser.

Opprettelse

Det er vanskelig å lage en prosess. Det er lettere å lage en tråd.

Kommunikasjon

Inter-prosesskommunikasjon er sakte fordi hver prosess har en annen minneadresse. Tvert imot er inter-thread-kommunikasjon rask fordi tråder deler samme minnesadresse av prosessen de tilhører.

avhengighet

I et flerbehandlingsmiljø utfører hver prosess uavhengig. Men en tråd kan lese, skrive eller endre data fra en annen tråd.

Konklusjon

Forskjellen mellom prosess og tråd er at prosessen er et program i utførelse mens tråden er en liten kjøringsenhet i en prosess. Prosessopprettelse er vanskelig, men trådenes opprettelse er økonomisk. Videre er prosesser ressurskrevende mens tråder krever minimumsressurser.

Henvisning:

1. "Hva er en prosess?" Python relasjonelle og logiske operatører Studytonight, tilgjengelig her.
2. "Hva er tråder?" Python relasjonelle og logiske operatører Studytonight, tilgjengelig her.

Bilde Courtesy:

1. "Multithreaded prosess" Av jeg, Cburnett (CC BY-SA 3.0) via Commons Wikimedia