Skillnad mellan process och tråd

Huvudskillnaden mellan process och tråd är det Process är ett program som körs medan en tråd är en liten körningsenhet i en process.

Ett program är en uppsättning instruktioner för att utföra en viss uppgift. En process är ett program i körning. Det är inte ett program men det är mer än så. Med andra ord är ett program en passiv enhet medan en process är en aktiv enhet. När programmet körs blir det en process. Å andra sidan är en tråd en liten exekveringsenhet som hör till en process. Processerna är tunga men trådarna är lätta. Därför delas en enda process i flera trådar för effektivitet.

Viktiga områden som omfattas

1. Vad är Process
     - Definition, Funktionalitet
2. Vad är tråd
     - Definition, Funktionalitet
3. Förhållande mellan process och tråd
     - Föreningens sammanfattning
4. Skillnad mellan process och tråd
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

Process, tråd, operativsystem

Vad är en process?

En process är ett program i körning. När programmeraren skriver ett program och kör det, blir det programmet en process. Det utför uppgifterna enligt programmets instruktioner.

När en process laddas till minnet, delas den vidare i fyra segment. De är stacken, bunten, texten och data. Stackarna lagrar de temporära data som funktionsparametrar och lokala variabler. Hopen fördelar dynamiskt minne till en process vid körning. Textavsnittet innehåller innehållet i processorregistren och värdet av programräknaren. Datasektionen innehåller de statiska och globala variablerna. 

En process går igenom flera stater. De är som följer.

Figur 2: Processstater

Ny - Processen skapar i det nya tillståndet

Redo - I färdigt tillstånd väntar processen att tilldelas processorn så att den kan köras. En process kan komma till detta tillstånd efter starttillståndet. Vidare, när en schemaläggare tilldelar CPUen till en process medan en annan process redan exekveras, går den redan exekverande processen till färdigt tillstånd.

Löpning - I löpande tillstånd tilldelas processen till en processor och den utför instruktionerna.

Väntar - Vänteläget återspeglar att processen väntar på att vissa händelser ska inträffa; till exempel, väntar tills en fil är tillgänglig eller väntar tills IO slutförts.

avsluta - Terminaltillståndet indikerar att processen har slutförts. Nu är det möjligt att ta bort det från huvudminnet.

Dessutom upprätthåller ett operativsystem ett processkontrollblock (PCB) för varje process. Den innehåller information om processen, såsom process ID (PID), programräknare, CPU-register, CPU-schemaläggningsinformation, minneshanteringsinformation och IO-statusinformation. PCB raderas när processen avslutas.

Vad är tråd

En tråd är en exekveringsenhet och den innehåller programräknare, stapel och uppsättning register. Det är en lätt process. En tråd kan inte existera utanför en process och varje tråd hör till en process. Det finns två typer av trådar: användartrådar och kärngängor. Användartråden är användarhanterade trådar medan kärntrådar stöds och hanteras av kärnan.

Figur 2: Tråd och Process

I ett datorsystem är det inte effektivt att skapa processer för varje uppgift eftersom det kräver fler resurser. Därför delas en process i flera delprocesser och varje delprocess utförs en deluppgift. Denna delprocess är en enda enhet i processen och den kallas en tråd. Att dela en process i flera trådar och dessa trådar som utförs parallellt kallas multithreading. Därför förbättrar trådarna programmets prestanda genom parallellisering.

Huvudsakligen ger tråden samtidighet inom en process. Dessutom förbättrar trådar användningen i multiprocessorarkitekturer för effektivitet.

Förhållande mellan process och tråd

  • En tråd är en lätt process.

Skillnad mellan process och tråd

Definition

En process är en förekomst av ett datorprogram som körs. En tråd är en del av en process som är den minsta exekveringsenheten.

Typ

En process är tungviktig medan en tråd är lätt.

Växlande

En processomkoppling kräver interaktion med operativsystemet. Däremot behöver trådbrytning nu interagera med operativsystemet.

Minneutrymme

Varje process har sitt eget minnesutrymme. En process delar inte minnet med andra processer. Trådar använder minnet av processen de tillhör. Sålunda delar tråden minnet med andra trådar av samma process.

Resursbehov

En process kräver fler resurser. En tråd kräver minimala resurser.

Skapande

Det är svårt att skapa en process. Det är lättare att skapa en tråd.

Kommunikation

Inter-process kommunikation är långsam eftersom varje process har en annan minnesadress. Tvärtom är trådlös kommunikation snabb eftersom tråden delar samma minnesadress till processen som de tillhör.

Dependency

I en process med flera processer exekverar varje process oberoende. Men en tråd kan läsa, skriva eller ändra data från en annan tråd.

Slutsats

Skillnaden mellan process och tråd är att processen är ett program som körs medan tråden är en liten körningsenhet i en process. Processskapande är svårt men tråden är ekonomisk. Dessutom är processer resurskrävande medan trådar kräver minsta resurser.

Referens:

1. "Vad är en process?" Python Relational och Logical Operators | Studytonight, tillgänglig här.
2. "Vad är trådar?" Python Relational och Logical Operators | Studytonight, tillgänglig här.

Image Courtesy:

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