Jämförelsediagram
Grunder för jämförelse | multi | multitrådning |
---|---|---|
Grundläggande | Multiprocessing lägger till CPU: er för att öka datakraften. | Multithreading skapar flera trådar av en enda process för att öka datakraften. |
Avrättning | Flera processer utförs samtidigt. | Flera trådar av en enda process utförs samtidigt. |
Skapande | Skapandet av en process är tidskrävande och resursintensiv. | Skapandet av en tråd är ekonomisk i både sinnet och resursen. |
Klassificering | Multiprocessing kan vara symmetrisk eller asymmetrisk. | Multithreading är inte klassificerad. |
Definition av Multiprocessing
Ett multiprocessorsystem är en som har mer än två processorer. CPU: erna läggs till i systemet för att öka systemets hastighet. 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 har något att bearbeta och kan vara tomgång och den andra kan vara överbelastad med processerna. I sådana fall delas processerna och resurserna dynamiskt bland processorerna.
Multiprocessing kan klassificeras som symmetrisk multiprocessing och asymmetrisk multiprocessing . I symmetrisk multiprocessing är alla processorer fritt att köra någon process i ett system. I asymmetrisk multiprocessing finns det ett master-slavförhållande bland processorerna. Huvudprocessorn ansvarar för att tilldela processen till slavprocessorer.
Om processorn har integrerad minnesregulator, då lägger till processorn 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 uppgår till samma tid för att komma åt något RAM från vilken processor som helst. Å andra sidan innebär icke-enhetlig minnesåtkomst längre tid att komma åt någon del av minnet än de andra delarna.
Definition av multithreading
Multithreading är utförandet av flera trådar av en enda process samtidigt inom ramen för den processen. Låt oss först diskutera vad är en tråd? En tråd av en process betyder ett kodsegment av en process, som har sitt eget tråd-ID, programräknare, register och stapel och kan exekvera självständigt. Men trådar som hör till samma process måste dela tillhörigheterna i den processen som kod, data och systemresurser. Att skapa separata processer för varje serviceförfrågan förbrukar tid och avgassystemresurser. I stället för att drabbas av detta, är det effektivare att skapa tråden i en process.
Att skapa en tråd är ekonomisk eftersom den delar koden och data för processen till vilken de hör hemma. Så systemet behöver inte fördela resurser separat för varje tråd. Multithreading kan ökas på multiprocessing operativsystem. Som multithreading på flera CPU: er ökar parallelliteten .
Viktiga skillnader mellan multiprocessing och multithreading
- Den viktigaste skillnaden mellan multiprocessing och multithreading är att multiprocessing tillåter ett system att ha mer än två CPUer tillfogade systemet medan multithreadning låter en process generera flera trådar för att öka systemets hastighet.
- Multiprocessing-systemet utför flera processer samtidigt, medan multithreadningssystemet gör det möjligt att utföra flera trådar av en process samtidigt.
- Att skapa en process kan förbruka tid och till och med uttömma systemresurserna. Att skapa trådar är dock ekonomiskt eftersom trådar som hör till samma process delar delarna i den processen.
- Multiprocessing kan klassificeras i symmetrisk multiprocessing och asymmetrisk multiprocessing medan multithreadning inte klassificeras ytterligare.
Slutsats:
Fördelarna med multithreading kan gradvis ökas i multiprocessing miljö eftersom multithreading på ett multiprocessing system ökar parallelliteten.