it-swarm.com.de

Unterschied zwischen Multitasking, Multithreading und Multiprocessing?

Was ist der Unterschied zwischen Multitasking, Multiprogramming & Multiprocessing

Dies kommt regelmäßig für meine Universitätsbetriebsprüfungen und ich kann keine gute Antwort finden ... Ich weiß ziemlich viel über Multitasking und Multiprogramming, muss es aber bestätigen.

63
Jaison Varghese

Wikipedia umformulieren:

Multiprogramming - Ein Computer, auf dem mehrere Programme gleichzeitig ausgeführt werden (z. B. Excel und Firefox gleichzeitig) http://en.wikipedia.org/wiki/Multiprogramming

Multiprocessing - Ein Computer, der mehr als eine CPU gleichzeitig verwendet http://en.wikipedia.org/wiki/Multiprocessing

Multitasking - Aufgaben, die eine gemeinsame Ressource gemeinsam nutzen (wie eine CPU) http://en.wikipedia.org/wiki/Computer_multitasking#Multithreading

  • So etwas wie Multithreading ist eine Erweiterung von Multitasking.
79
Casey Patton

Multiprogrammierung: Es können sich zu einem Zeitpunkt mehrere Aufgaben/Programme/Jobs/Prozesse im Hauptspeicher befinden. Diese Fähigkeit des Betriebssystems wird als Multiprogramming bezeichnet.

Multitasking: Es können sich zu einem Zeitpunkt mehr als ein Task/Programm/Job/Prozess in der gleichen CPU befinden. Diese Fähigkeit des Betriebssystems wird als Multitasking bezeichnet.

30
Rajendra Uppal

Keine der obigen Antworten, außer die von Herrn Vaibhav Kumar, sind eindeutig oder nicht eindeutig. [Entschuldigung, keine Beleidigung]

Sowohl die Multi-Programmierung als auch das Tasking sind das gleiche Konzept der Schaltaufgabe im Prozessor, der Unterschied liegt im Konzept und im Grund der Umschaltung.

MProgrammierung: Um den Prozessor nicht im Leerlauf zu halten, wenn die aktive Task eine längere IO oder eine andere Antwort als die CPU benötigt, lädt der Prozessor eine andere Task, die nicht auf IO wartet und für den Prozess bereit ist.

MTasking: Selbst nach der MProgrammierung kann es für den Benutzer so aussehen, als würde nur eine Aufgabe ausgeführt und eine andere wartet nur darauf, zur CPU zu kommen. Die aktive Task wird also auch von der aktiven CPU getauscht und zur Seite gehalten, und eine andere Task wird für einen sehr kleinen Bruchteil der menschlichen Zeit in die CPU gebracht (Sekunde) und wieder auf die frühere Task zurückgesetzt. Auf diese Weise fühlen sich beide Aufgaben gleichzeitig in der CPU lebendig. Tatsächlich ist jede Task jedoch nur einmal zu einer bestimmten CPU-Zeit aktiv (in Mikro- oder Nano-Sekunde).

Und MProcessing ist, wie mein Computer einen Quad-Core, also 4 Prozessoren gleichzeitig, dh 4 verschiedene Multiprogrammierungs-Instanzen auf meinem Rechner. Und diese 4 Prozessoren leisten eine weitere Zahl von MTasking.

Also MProcessing> MProgrammierung> Mtasking

Und MThreading in einer weiteren Trennung von jeder Aufgabe. das auch Benutzer ein glückliches Leben zu geben. Mehrere Aufgaben (wie Word-Dokumente und Mediaplayer) kommen hier nicht in das Bild, vielmehr sind kleine Unteraufgaben wie das Färben von Text in Word und die automatische Rechtschreibprüfung in Word Teil der gleichen Word-Programmdatei. 

ich bin mir nicht sicher, ob ich alle Verwirrungen klarstellen konnte ... 

16
Manas

Multiprogrammierung - Die auszuführenden Jobs werden in einen Pool geladen. Einige dieser Jobs werden in den Hauptspeicher geladen und einer wird aus dem Pool zur Ausführung durch die CPU ausgewählt. Wenn das laufende Programm zu einem bestimmten Zeitpunkt beendet wird oder die Dienste eines Peripheriegeräts erfordert, wird die Steuerung der CPU dem nächsten Job im Pool übertragen. Wenn Programme beendet werden, werden mehr Jobs zur Ausführung in den Speicher geladen, und die CPU-Steuerung wechselt zu einem anderen Job im Speicher. Auf diese Weise führt die CPU immer ein Programm oder einen Teil davon aus, anstatt auf einen Drucker, ein Bandlaufwerk oder eine Konsoleneingabe zu warten 

Multiprocessing - die gleichzeitige Ausführung von zwei oder mehr Programmen oder Befehlssequenzen durch separate CPUs unter integrierter Steuerung

multitasking-System - die gleichzeitige oder verschachtelte Ausführung von zwei oder mehr Jobs durch eine einzige CPU. 

Multiusers-System - Ein Computersystem, in dem mehrere Terminals eine Verbindung zu einem Host-Computer herstellen, der Verarbeitungsaufgaben ausführt.

4
Jay Halani

Multiprogrammierung: Dies bedeutet, dass mehrere Programme auf dem Computer ausgeführt werden. Wenn der Benutzer nicht mit dem System interagieren kann, entscheidet das Betriebssystem.

Multitasking: Es ist eine logische Erweiterung des Multiprogrammierens. Es bedeutet, dass auf dem Computer mehrere Aufgaben ausgeführt werden. Das Umschalten zwischen den Jobs ist so schnell, dass der Benutzer mit dem System interagieren kann.

Multithreading: Grundsätzlich gesehen, wenn mehr Clients auf den Server zugreifen.

4
sangita

Multiprogrammierung und Multitasking; Beide lösen unterschiedliche Probleme, verwenden jedoch eine ähnliche Methode zum Wechseln zwischen Prozessen.

Multiprogramming : In früheren Tagen wurde festgestellt, dass bestimmte Prozesse zuweilen Peripheriegeräte verwenden müssen (z. B. E/A). In diesen Fällen blieb die CPU im Leerlauf. Um die CPU effizienter zu nutzen, wurde daran gedacht, mehrere Prozesse im Speicher zu haben, so dass, wenn ein bestimmter ausgeführter Prozess ein Peripheriegerät benötigt, bestimmte andere Prozesse die CPU verwenden könnten. Dies war die Idee hinter Multiprogramming.

Multitasking : Es ist erforderlich, dass mehrere Prozesse gleichzeitig für den Endbenutzer ausgeführt werden. Dies wird verspottet, indem zwischen diesen Prozessen gewechselt wird und sie gleichzeitig auf der CPU laufen. Dies ist Multitasking.

4
vaibhav kumar

Multitasking - Dies wird auch als Timesharing bezeichnet, da mehrere Tasks (oder Prozesse) regelmäßig zu einer bestimmten Zeit umgestellt werden können, sodass der Benutzer die Ansicht erhält, dass sie gleichzeitig arbeiten.

Multi-Threading - Um die Benutzererfahrung zu bereichern, sind die Aufgaben (in einem einzigen Prozess) weiter in Unteraufgaben unterteilt. Diese Unteraufgaben können dann in einer Multitasking-Umgebung arbeiten.

Multiprocessing - Hierbei handelt es sich um den Prozess, bei dem mehrere Prozessoren einen Prozess (oder ein Programm) in einer bestimmten Zeit ausführen. Die Rechenzeit wird verkürzt.

Multi-Programmierung - Wird in der Regel in Batch-Betriebssystemen verwendet. Hier erhält der Job (oder Prozess) während der Ausführung die volle CPU und den gesamten Speicher. Multi-Programmierung ist das System, in dem viele verschiedene Programme in den Hauptspeicher des Computers geladen werden und das erste Programm beginnt zu laufen. Wenn die Ausführung abgeschlossen ist (d. H. Im laufenden Zustand) und auf Peripheriegerät (d. H. Wartezustand) gewartet wird, beginnt der nächste Prozess zu laufen. Dies steht im Gegensatz zum Multitasking, wobei jedem Task ein Zeitfenster (auch Quantum ) für seine Ausführung zugewiesen wird.

3
Palak Jain

Multithreading Multithreading erweitert die Idee von Multitasking in Anwendungen, sodass Sie bestimmte Operationen innerhalb einer einzelnen Anwendung in einzelne Threads unterteilen können.

2

Multiprogramming - Ein Computer, auf dem mehrere Programme gleichzeitig ausgeführt werden (z. B. Excel und Firefox gleichzeitig)

Multiprocessing - Ein Computer, der mehr als eine CPU gleichzeitig verwendet

Multiprogrammierung - Es können sich zu einem Zeitpunkt mehrere Aufgaben/Programme/Jobs/Prozesse im Hauptspeicher befinden. Diese Fähigkeit des Betriebssystems wird als Multiprogramming bezeichnet.

Multitasking : Es können sich zu einem Zeitpunkt mehrere Tasks/Programme/Jobs/Prozesse in derselben CPU befinden. Diese Fähigkeit des Betriebssystems wird als Multitasking bezeichnet.

Multiusers System - Ein Computersystem, in dem mehrere Terminals mit einem Host-Computer verbunden sind, der Verarbeitungsaufgaben ausführt.

Multitasking - Hierbei handelt es sich im Wesentlichen um Multiprogrammierung im Kontext einer interaktiven Umgebung für einen Benutzer, in der das Betriebssystem zwischen mehreren Programmen im Hauptspeicher wechselt, um die Illusion zu erzeugen, dass mehrere gleichzeitig ausgeführt werden. Übliche Planungsalgorithmen, die für Multitasking verwendet werden, sind: Round-Robin, Priority Scheduling (mehrere Warteschlangen), Shortest-Process-Next.

MULTIPROCESSING ist wie das Betriebssystem, das die verschiedenen Jobs im Hauptspeicher so abarbeitet, dass es jedem Job Zeit gibt, wenn ein anderer für einige Aufgaben wie E/A-Operationen beschäftigt ist. Solange mindestens ein Job ausgeführt werden muss, ist die CPU niemals im Leerlauf. und hier wird es automatisch vom Betriebssystem gehandhabt, 

2
user3887153

MultiProgrammierung - In einem Multiprogrammiersystem sind mehrere Programme im Hauptspeicher geladen, die zur Ausführung bereit sind. Nur jeweils ein Programm kann die CPU dazu bringen, ihre Anweisungen auszuführen, während alle anderen warten, bis sie an der Reihe sind. Die Hauptidee des Multiprogrammierens besteht darin, die CPU-Zeit zu maximieren. Angenommen, der aktuell ausgeführte Prozess führt eine E/A-Task aus, dann kann das Betriebssystem diesen Prozess unterbrechen und die Steuerung einem der anderen internen Speicherprogramme übergeben sind bereit zur Ausführung (dh Prozesskontextumschaltung) ..__ Auf diese Weise wird keine CPU-Zeit durch das System verschwendet, das auf den Abschluss der E/A-Task wartet.

MultiProcessing - Multiprocessing ist die Fähigkeit eines Betriebssystems, mehrere Prozesse gleichzeitig auf einer Multiprozessor-Maschine auszuführen. In einem Multiprocessing-System verwendet ein Computer mehr als eine CPU an einem Tag.

Multitasking - Multitasking ist die Fähigkeit eines Betriebssystems, mehrere Tasks gleichzeitig auf einer Einzelprozessor-Maschine auszuführen. Diese mehreren Tasks teilen sich gemeinsame Ressourcen wie CPU und Speicher. In einem Multitasking-System wechselt die CPU von einer Task zur nächsten Task so schnell, dass alle Tasks gleichzeitig ausgeführt werden.

Es gibt Unterschiede zwischen Multitasking und Multiprogramming. Eine Aufgabe in einem Multitasking-System ist kein gesamtes Anwendungsprogramm, es kann sich jedoch zu einem "Ausführungsthread" entwickeln, wenn ein Prozess in Unteraufgaben aufgeteilt ist. Jede kleinere Task hijackt die CPU nicht, bis sie abgeschlossen ist. Sie teilen sich eine kleine Menge der CPU-Zeit, die als Quantum bezeichnet wird. Multiprogrammierungs- und Multitasking-Betriebssysteme sind Time-Sharing-Systeme.

Multithreading - Multithreading ist die Erweiterung von Multitasking. Multithreading ist die Fähigkeit eines Betriebssystems, die spezifische Operation innerhalb einer einzelnen Anwendung in einzelne Threads zu unterteilen. Jeder dieser Threads kann parallel laufen. Das Betriebssystem teilt die Verarbeitungszeit nicht nur auf verschiedene Anwendungen auf, sondern auch auf jeden Thread innerhalb einer Anwendung.

1

Multiprogramming - Dieser Begriff wird im -Kontext von Batchsystemen verwendet. Sie haben mehrere Programme gleichzeitig im Hauptspeicher. Die CPU plant für jeden eine Zeit.

Das heißt Senden mehrerer Jobs und alle werden in den Speicher geladen und gemäß einem Scheduling-Algorithmus ausgeführt. Zu den üblichen Batch-System-Scheduling-Algorithmen gehören: First-Come-First-Served, Shortest-Job-First, Shortest-Remaining-Time-Next.

Multitasking - Hierbei handelt es sich im Wesentlichen um Multiprogrammierung im -Kontext einer interaktiven Umgebung mit einem Benutzer, in der das Betriebssystem zwischen mehreren Programmen im Hauptspeicher wechselt, um die Illusion zu erzeugen, dass mehrere gleichzeitig ausgeführt werden. Übliche Planungsalgorithmen, die für Multitasking verwendet werden, sind: Round-Robin, Priority Scheduling (mehrere Warteschlangen), Shortest-Process-Next.

0
the979kid

MULTIPROCESSING ist wie das Betriebssystem, das die verschiedenen Jobs im Hauptspeicher so abarbeitet, dass es jedem Job Zeit gibt, wenn ein anderer für einige Aufgaben wie E/A-Operationen beschäftigt ist. Solange mindestens ein Job ausgeführt werden muss, ist die CPU niemals im Leerlauf. und hier wird es automatisch vom Betriebssystem gehandhabt, ohne dass der Benutzer mit dem Computer interagiert. 

Aber wenn wir über MULTITASKING sprechen, ist der Benutzer tatsächlich mit verschiedenen Jobs beschäftigt, und zwar zu einem bestimmten Zeitpunkt - Minensuchboot oder Postüberprüfung. Die CPU führt mehrere Jobs aus, indem zwischen ihnen gewechselt wird. Die Umschaltung ist jedoch so schnell, dass der Benutzer die Illusion hat, dass beide Anwendungen gleichzeitig ausgeführt werden. 

Der Hauptunterschied zwischen mp und mt besteht also darin, dass das Betriebssystem in mp verschiedene Jobs im Hauptspeicher so abarbeitet, dass ein Job darauf wartet, dass der nächste Job ausgeführt wird. Und in mt ist der Benutzer in Interaktion mit dem System und bekommt die Illusion, wenn beide oder eine der Anwendungen gleichzeitig laufen.

0
Rajdeep

Multiprogrammierung - mehr als im Job im Hauptspeicher.

Muntitasking - Mehrere Programme werden gleichzeitig ausgeführt. das ist mehr als ein Programm in der CPU. 

0
Raj

In einem Multiprogramming System sind mehr als ein Programm in den Hauptspeicher geladen, die zur Ausführung bereit sind. Nur jeweils ein Programm kann die CPU dazu bringen, ihre Anweisungen auszuführen, während alle anderen warten, bis sie an der Reihe sind. Die Hauptidee von Multiprogramming besteht darin, die CPU-Zeit zu maximieren. Angenommen, der derzeit laufende Prozess führt eine E/A-Task aus, dann kann das OS diesen Prozess unterbrechen und die Steuerung einem der anderen Hauptspeicherprogramme übergeben, die zur Ausführung bereit sind (d. H. Prozesskontextumschaltung). Auf diese Weise wird keine CPU-Zeit durch das System verschwendet, das auf den Abschluss der E/A-Aufgabe wartet.

MultiProcessing - Multiprocessing ist die Fähigkeit eines Betriebssystems, mehrere Prozesse gleichzeitig auf einer Multiprozessor-Maschine auszuführen. In einem Multiprocessing-System verwendet ein Computer mehr als eine CPU an einem Tag.

Multitasking - Multitasking ist die Fähigkeit eines Betriebssystems, mehrere Tasks gleichzeitig auf einer Einzelprozessor-Maschine auszuführen. Diese mehreren Tasks teilen sich gemeinsame Ressourcen wie CPU und Speicher. In einem Multitasking-System wechselt die CPU von einer Task zur nächsten Task so schnell, dass alle Tasks gleichzeitig ausgeführt werden.

Es gibt Unterschiede zwischen Multitasking und Multi-Programmierung. Eine Aufgabe in einem Multitasking-System ist kein gesamtes Anwendungsprogramm, sondern kann sich auf einen "Ausführungsthread" beziehen, wenn ein Prozess in Unteraufgaben aufgeteilt ist. Jede kleinere Task hijackt die CPU nicht, bis sie abgeschlossen ist. Sie teilen sich eine kleine Menge der CPU-Zeit, die als Quantum bezeichnet wird. Multi-Programmier- und Multitasking-Betriebssysteme sind Time-Sharing-Systeme.

Multi-Threading - Multi-Threading ist die Erweiterung von Multitasking. Multi-Threading ist die Fähigkeit eines Betriebssystems, die spezifische Operation innerhalb einer einzelnen Anwendung in einzelne Threads zu unterteilen. Jeder dieser Threads kann parallel laufen. Das Betriebssystem teilt die Verarbeitungszeit nicht nur auf verschiedene Anwendungen auf, sondern auch auf jeden Thread innerhalb einer Anwendung.

0
acharya sushant

Multi-Programmierung: -

Es können sich mehrere Task- (Job-) Prozesse gleichzeitig im Hauptspeicher befinden. Es ist im Prinzip so konzipiert, dass die CPU-Verschwendung während des E/A-Vorgangs reduziert wird. Beispiel: Wenn ein Job gerade ausgeführt wird und ein E/A-Vorgang erforderlich ist. Die E/A-Operation wird mit DMA ausgeführt, und der Prozessor wird einem anderen Job aus der Jobwarteschlange zugewiesen, bis die E/A-Operation von Job1 abgeschlossen ist. dann weiter job1. Auf diese Weise wird CPU-Verschwendung reduziert.

0
jack

In einem einzigen Prozess können mehrere Threads vorhanden sein. Die Threads, die zu demselben Prozess gehören, haben denselben Speicherbereich (sie können dieselben Variablen lesen und in dieselben schreiben und sich gegenseitig stören). Im Gegenteil, verschiedene Prozesse leben in unterschiedlichen Speicherbereichen und jeder von ihnen hat seine eigenen Variablen. Um kommunizieren zu können, müssen Prozesse andere Kanäle (Dateien, Pipes oder Sockets) verwenden.

Wenn Sie eine Berechnung parallelisieren möchten, benötigen Sie wahrscheinlich Multithreading, da Sie möchten, dass die Threads auf demselben Speicher zusammenarbeiten.

In Bezug auf die Leistung sind Threads schneller zu erstellen und zu verwalten als Prozesse (da das Betriebssystem keinen ganzen neuen virtuellen Speicherbereich zuordnen muss), und die Kommunikation zwischen Threads ist normalerweise schneller als die Kommunikation zwischen Prozessen. Threads sind jedoch schwieriger zu programmieren. Threads können sich gegenseitig stören und in den Speicher des jeweils anderen schreiben. Die Art und Weise, in der dies geschieht, ist jedoch nicht immer offensichtlich (aufgrund verschiedener Faktoren, vor allem der Neuanordnung von Anweisungen und der Zwischenspeicherung von Speichern). Daher benötigen Sie Synchronisationsprimitive zur Steuerung des Zugriffs auf Ihre Variablen.

Quelle

0
Revanth Kumar

Multi-Programmierung: -

Es können sich mehrere Task- (Job-) Prozesse gleichzeitig im Hauptspeicher befinden. Es ist im Wesentlichen so konzipiert, dass die CPU-Verschwendung während des E/A-Vorgangs reduziert wird. Beispiel: Wenn ein Job gerade ausgeführt wird und ein E/A-Vorgang erforderlich ist. Die E/A-Operation wird mit DMA ausgeführt, und der Prozessor wird einem anderen Job aus der Jobwarteschlange zugewiesen, bis die E/A-Operation von Job1 abgeschlossen ist. dann weiter job1. Auf diese Weise wird CPU-Verschwendung reduziert.


Multi-Aufgaben: -

Bei dieser Art von Betriebssystem werden mehrere Tasks (Prozesse) gleichzeitig ausgeführt (Gleichzeitiges Ausführen von Tasks, die exakt zum gleichen Zeitpunkt ausgeführt werden. Multitasking bedeutet nicht, dass Parallelität auftritt) Task beendet, hängt von der verwendeten CPU-Planungstechnik ab && alle Prozesse teilen sich gemeinsame Ressourcen.


Multi-Processing: - 

Verwenden Sie zwei oder mehr Prozessoren in einer einzelnen CPU. Task kann also parallel ausgeführt werden. Es ist jedoch eine Synchronisation erforderlich, die sie benötigt. 

0
Sudhanshu Patel

Multiprogrammierung

Ausführen mehrerer Programme in einer Anwendung, um eine bestimmte Aufgabe auszuführen.

Beispiel : In MS Word: In ein Dokument schreiben und E-Mail senden

Multitasking

Mehr als eine Anwendung ausführen, um eine bestimmte Aufgabe auszuführen.

Beispiel : Song hören, Spiel spielen, in MS Word, Excel und anderen Anwendungen gleichzeitig arbeiten

Multiprocessing  

Ausführen mehr als einer Anweisung durch einen Prozessor.

Beispiel Wenn eine Datei erstellt wird, benötigt der Computer standardmäßig Zeit und Datum.

0

Grundsätzlich ist Multi-Programmieren ein Konzept, bei dem Sie mehr als ein Programm gleichzeitig ausführen. Angenommen, Sie führen zwei Programme wie Chrome (Browser) und Rechner (Systemanwendung) aus.

Multi-Verarbeitung ist, wenn ein Benutzer mehr als einen Prozessor verwendet, um eine Aufgabe auszuführen.

Multi-Threading Wir müssen wissen, was ein Thread ist. Ein Thread ist im Wesentlichen ein Teil eines Programms, das innerhalb des Programms ausgeführt wird. Bestes Beispiel für den Thread sind die Registerkarten eines Browsers. Wenn Sie 5 Registerkarten haben, die geöffnet und verwendet werden, erstellt das Programm tatsächlich 5 Threads des Programms. Dieses Konzept wird als Multithreading bezeichnet.

0
Tuhin