Flere processer kører ad gangen i et computersystem… Operativsystemet tildeler ressourcer til processerne, og det er nødvendigt at øge CPU-udnyttelsen. Multiprocessing og multithreading kan påvirke systemets ydelse. Det vigtigste forskel mellem multiprocessering og multithreading er det, i multiprocessing kører flere processer samtidigt ved hjælp af to eller flere processorer, mens der i multithreading kører flere tråde i en proces samtidigt. Denne artikel diskuterer forskellen mellem multiprocessering og multithreading.
1. Oversigt og nøgleforskel
2. Hvad er multiprocessering
3. Hvad er multithreading
4. Ligheder mellem multiprocessering og multithreading
5. Sammenligning side ved side - Multiprocessing vs multithreading i tabelform
6. Resume
Multiprocessing er at køre flere processer ved hjælp af to eller flere processorer samtidigt. Der er forskellige typer multiprocesseringsmekanismer. De er symmetrisk multiprocessering og asymmetrisk multiprocessering.
Figur 01: Symmetrisk multiprocessering
I Symmetrisk multiprocessering, hver processor har deres egen cache, og alle processorer er tilsluttet ved hjælp af en delt bus. Da der er en delt hukommelse, deler alle processorer det samme hukommelsesadresseplads. En begrænsning af denne metode er, når antallet af processorer øges, det kan komme langsomt med adgang til hovedhukommelsen. Processorer kan frit køre enhver proces på systemet.
I Asymmetrisk multiprocessering, processorer udfører i henhold til master-slave-arkitektur. Master processor tildeler processer til slaveprocessorer.
Flere processer kører på et computersystem på samme tid. En proces er et program i udførelse. At arbejde i MS Word kan betragtes som en proces. Når du bruger MS Word, kontrolleres grammatikken og stavemåden. Det er en underproces eller en delopgave. På den måde er hovedprocessen opdelt i underprocesser. Disse underprocesser er enheder af processen, og de er kendt som tråde. Derfor ligner en proces en opgave, og en tråd er en enhed af en proces.
En tråd består af programtælleren, trådtælleren, registersættet, tråd-ID og stak. Oprettelse af processer til hver opgave er ikke en effektiv metode. Derfor er en proces opdelt i flere tråde. Disse flere tråde kører på processen på samme tid. Dette koncept kaldes 'Multi-threading'.
Figur 02: Multetrådproces
Der er nogle fordele ved multitrådning. Hver tråd i en proces deler den samme kode, data og ressourcer. Det er ikke nødvendigt at allokere ressourcer til hver tråd separat, så brug af tråde er økonomisk. Hvis en tråd mislykkes, vil det ikke påvirke processen. Tråde er lette og forbruger den mindste mængde ressourcer sammenlignet med en proces.
Multiprocessing vs Multithreading | |
Multiprocessing er at udføre flere processer ved hjælp af to eller flere processer samtidigt for at forbedre systemets ydelse. | Multithreading er at udføre flere tråde i en proces samtidig for at forbedre systemets ydelse. |
Udførelse | |
I Multiprocessing kører flere processer samtidigt. | I multithreading kører flere tråde i en enkelt proces samtidigt. |
Ressourcekrav | |
Multiprocessing kræver flere ressourcer. | Multithreading kræver ikke mange ressourcer; derfor er det mere økonomisk. |
Multiprocessing og multithreading kan påvirke computerens ydelse. Forskellen mellem Multiprocessing og Multithreading er, at i multiprocessing kører flere processer samtidigt ved hjælp af to eller flere processorer, og i multithreading kører flere tråde i en enkelt proces samtidigt. For at øge hastigheden og CPU-udnyttelsen kan multi-threading implementeres på multiprocessorer.
Du kan downloade PDF-version af denne artikel og bruge den til offline-formål som pr. Citatnotat. Download PDF-version her Forskel mellem multiprocessering og multithreading
1. "Asymmetrisk multiprocessering." Wikipedia, Wikimedia Foundation, 14. december 2017. Tilgængelig her
2. "Symmetrisk multiprocessering." Wikipedia, Wikimedia Foundation, 11. december 2017. Tilgængelig her
3.Point, selvstudier. “Operativsystem - Multi-Threading.”, Tutorials Point, 15. august 2017. Findes her
4. "Forskel mellem multiprocessering og multithreading." YouTube, YouTube, 5. september 2016. Tilgængelig her
1.'Multithreaded process'By I, Cburnett, (CC BY-SA 3.0) via Commons Wikimedia