Diversi processi sono in esecuzione in un sistema informatico ... Il sistema operativo alloca le risorse ai processi ed è necessario aumentare l'utilizzo della CPU. Il multiprocessing e il multithreading possono influire sulle prestazioni del sistema. Il differenza fondamentale tra multiprocessing e multithreading è quello, in multiprocessing, più processi vengono eseguiti contemporaneamente utilizzando due o più processori mentre, nel multithreading, più thread in un processo vengono eseguiti contemporaneamente. Questo articolo discute la differenza tra multiprocessing e multithreading.
1. Panoramica e differenza chiave
2. Cos'è il Multiprocessing
3. Cos'è il multithreading
4. Somiglianze tra multiprocessing e multithreading
5. Confronto affiancato - Multiprocessing vs Multithreading in forma tabulare
6. Sommario
Il multiprocessing consiste nell'eseguire più processi utilizzando due o più processori contemporaneamente. Esistono diversi tipi di meccanismi di multiprocessing. Sono Multiprocessing simmetrico e Multiprocessing asimmetrico.
Figura 01: Multiprocessing simmetrico
Nel Multiprocessing simmetrico, ogni processore ha la propria cache e tutti i processori sono connessi tramite un bus condiviso. Poiché esiste una memoria condivisa, tutti i processori condividono lo stesso spazio degli indirizzi di memoria. Una limitazione di questo metodo è quando aumenta il numero di processori che potrebbe rallentare l'accesso alla memoria principale. I processori sono liberi di eseguire qualsiasi processo sul sistema.
Nel Multiprocessing asimmetrico, i processori eseguono secondo l'architettura master-slave. Il processore principale alloca i processi per i processori slave.
Più processi sono in esecuzione su un sistema informatico allo stesso tempo. Un processo è un programma in esecuzione. Lavorare in MS Word può essere considerato come un processo. Durante l'utilizzo di MS Word, vengono controllati la grammatica e l'ortografia. È un sottoprocesso o un'attività secondaria. In questo modo, il processo principale è suddiviso in sottoprocessi. Questi sottoprocessi sono unità del processo e sono noti come thread. Pertanto, un processo è simile a un'attività e un thread è un'unità di un processo.
Un thread è costituito dal contatore del programma, dal contatore di thread, dal set di registri, dall'ID thread e dallo stack. La creazione di processi per ogni attività non è un metodo efficace. Pertanto, un processo è diviso in più thread. Questi thread multipli sono in esecuzione sul processo allo stesso tempo. Questo concetto è noto come "multi-threading".
Figura 02: processo multithread
Ci sono alcuni vantaggi in Multi-threading. Ogni thread in un processo condivide lo stesso codice, dati e risorse. Non è necessario allocare risorse su ogni thread separatamente, quindi l'utilizzo di thread è economico. Se un thread fallisce, ciò non influenzerà il processo. I fili sono leggeri e consumano la quantità minima di risorse rispetto a un processo.
Multiprocessing vs Multithreading | |
Il multiprocessing consiste nell'eseguire più processi utilizzando due o più processi contemporaneamente per migliorare le prestazioni del sistema. | Il multithreading consiste nell'eseguire più thread in un processo contemporaneamente per migliorare le prestazioni del sistema. |
Esecuzione | |
In Multiprocessing, sono in esecuzione più processi contemporaneamente. | In Multithreading, più thread in un singolo processo vengono eseguiti contemporaneamente. |
Requisiti di risorse | |
Il multiprocessing richiede più risorse. | Il multithreading non richiede molte risorse; quindi, è più economico. |
Il multiprocessing e il multithreading possono influire sulle prestazioni del computer. La differenza tra Multiprocessing e Multithreading è che, in multiprocessing, sono in esecuzione più processi contemporaneamente utilizzando due o più processori e, nel multithreading, più thread in un singolo processo vengono eseguiti contemporaneamente. Per aumentare la velocità e l'utilizzo della CPU, è possibile implementare il multi-threading su multiprocessori.
È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra multiprocessing e multithreading
1. "Multiprocessing asimmetrico." Wikipedia, Wikimedia Foundation, 14 dic. 2017. Disponibile qui
2. "Multiprocessing simmetrico." Wikipedia, Wikimedia Foundation, 11 dic. 2017. Disponibile qui
3. Punto, tutorial. "Sistema operativo - Multi-Threading"., Punto tutorial, 15 agosto 2017. Disponibile qui
4. "Differenza tra multiprocessing e multithreading". YouTube, YouTube, 5 settembre 2016. Disponibile qui
1.'Multithreaded process'By I, Cburnett, (CC BY-SA 3.0) attraverso Commons Wikimedia