Skillnad mellan multiprocessing och multithreading

Författare: Laura McKinney
Skapelsedatum: 1 April 2021
Uppdatera Datum: 17 Maj 2024
Anonim
Understanding Windows Applications:  Day 2 What is a Scheduler?
Video: Understanding Windows Applications: Day 2 What is a Scheduler?

Innehåll


Multiprocessing och Multithreading ger båda prestanda till systemet. multi~~POS=TRUNC lägger till fler antal eller CPU: er / processorer till systemet vilket ökar systemets datorhastighet. multithreading tillåter en process att skapa fler trådar som ökar systemets lyhördhet. Jag har tänkt mig några fler skillnader mellan multiprocessing och multithreading som jag har diskuterat med hjälp av jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelsemulti~~POS=TRUNC multithreading
GrundläggandeMultiprocessing lägger till CPU: er för att öka datorkraften.Multithreading skapar flera trådar i en enda process för att öka datorkraften.
AvrättningFlera processer utförs samtidigt.Flera trådar i en enda process körs samtidigt.
SkapandeSkapa en process är tidskrävande och resurskrävande.Skapa en tråd är ekonomiskt både i tid och resurs.
KlassificeringMultiprocessering kan vara symmetrisk eller asymmetrisk.Multitrådning klassificeras inte.


Definition av multiprocessing

Ett multiprocesseringssystem är ett som har mer än två processorer. CPU: er läggs till i systemet för att öka datorns datorhastighet. Varje CPU har sin egen uppsättning register och huvudminne. Bara för att CPU: er är separata kan det hända att en CPU inte får ha något att bearbeta och kan sitta inaktivt och den andra kan vara överbelastat med processerna. I sådana fall delas processerna och resurserna dynamiskt mellan processorerna.

Multiprocessing kan klassificeras som symmetrisk multiprocessering och asymmetrisk multiprocessering. Vid symmetrisk multiprocessering är alla processorer fritt att köra alla processer i ett system. Vid asymmetrisk multiprocessering finns det en master-slav-relation mellan processorerna. Huvudprocessorn ansvarar för att tilldela processen till slavprocessorer.


Om processorn har integrerad minneskontroller att sedan lägga till processor skulle öka mängden adresserbart minne i systemet. Multiprocessing kan ändra minnesåtkomstmodellen från enhetlig minnesåtkomst till icke-enhetlig minnesåtkomst. Den enhetliga minnesåtkomsten är samma tid för åtkomst till RAM från vilken processor som helst. Å andra sidan kostar icke-enhetlig minnesåtkomst längre tid för åtkomst till någon del av minnet än de andra delarna.

Definition av multithreading

Multitrådning är exekveringen av flera trådar i en enda process samtidigt inom den processen. Låt oss först diskutera vad som är en tråd? EN tråd av en process betyder ett kodsegment för en process, som har sitt eget tråd-ID, programräknare, registrerar och staplar och kan köras oberoende. Men trådar som tillhör samma process måste dela tillhörigheterna till processen som kod, data och systemresurser. Att skapa separata processer för varje tjänstförfrågan kräver tids- och avgassystemresurser. Istället för att drabbas av detta overhead är det mer effektivt att skapa trådar av en process.

För att förstå multitrådningskonceptet låt oss ta en exempel av en ordbehandlare. En ordbehandlare visar grafik, svarar på tangenttryckningar och samtidigt fortsätter stavningen och grammatikkontrollen. Du behöver inte öppna olika ordbehandlare för att göra detta samtidigt. Det händer i en enda ordbehandlare med hjälp av flera trådar.

Låt oss nu ta hänsyn till fördelarna med multithreading. Multithreading ökar mottaglighet som om en tråd i en process är blockerad eller utför den långa operationen fortsätter processen fortfarande. Den andra fördelen med multithreading är resursdelning eftersom flera trådar i en process delar samma kod och data inom samma adressutrymme.

Att skapa en tråd är ekonomisk eftersom den delar koden och uppgifterna för processen som de tillhör. Så systemet behöver inte fördela resurser separat för varje tråd. Multithreading kan vara ökade på multiprocesseringsoperativsystem. När flertrådning på flera processorer ökar parallellism.

  1. Den viktigaste skillnaden mellan multiprocessing och multiträdning är att multiprocessing tillåter ett system att ha mer än två CPU: er lagt till systemet medan multiträdning låter en process generera flera trådar för att öka dators datorhastighet.
  2. Multiprocessing system körs flera processer samtidigt som flertrådssystemet låter verkställa flera trådar av en process samtidigt.
  3. Skapa en process kan konsumera tid och till och med avgas systemresurserna. Men att skapa trådar är ekonomisk eftersom trådar som tillhör samma process delar delarna av processen.
  4. Multiprocessing kan klassificeras i symmetrisk multiprocessering och asymmetrisk multiprocessering Flertrådning klassificeras inte ytterligare.

Slutsats:

Fördelarna med multitrådning kan gradvis ökas i multiprocesseringsmiljö eftersom multetrådning på ett multiprocesseringssystem ökar parallellen.