Unterschied zwischen Multitasking, Multithreading und Multiprocessing?


72

Was ist der Unterschied zwischen Multitasking, Multiprogramming und Multiprocessing?

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

Antworten:


85

Wikipedia umschreiben:

Multiprogramming - Ein Computer, auf dem mehrere Programme gleichzeitig ausgeführt werden (z. B. Excel und Firefox gleichzeitig ausführen ) 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 (z. B. 1 CPU) gemeinsam nutzen http://en.wikipedia.org/wiki/Computer_multitasking#Multithreading

  • So etwas wie Multithreading ist also eine Erweiterung des Multitasking.

2
Danke für die Paraphrase. Es half!
Jaison Varghese

31

Multiprogramming: Mehr als eine Aufgabe / ein Programm / ein Job / ein Prozess kann sich zu einem bestimmten Zeitpunkt im Hauptspeicher befinden . Diese Fähigkeit des Betriebssystems wird als Multiprogrammierung bezeichnet.

Multitasking: Mehr als eine Aufgabe / ein Programm / ein Job / ein Prozess kann sich zu einem bestimmten Zeitpunkt in derselben CPU befinden . Diese Fähigkeit des Betriebssystems wird als Multitasking bezeichnet.


1
Können wir sagen, dass diese Begriffe "ähnlich" sind?
ABcDexter

1
@ABcDexter nein, es ist nicht similler ... Siehe, um mehrere Aufgaben in einzelnen Instanzen der Zeit auszuführen, wird als Multitasking
Gupta

17

Keine der obigen Antworten außer der von Herrn Vaibhav Kumar ist klar oder nicht mehrdeutig. [Entschuldigung, nichts für ungut]

Sowohl Multi-Programmierung als auch Tasking sind das gleiche Konzept der Switching-Aufgabe im Prozessor. Der Unterschied liegt im Konzept und im Grund des Switching.

MProgrammierung: Um den Prozessor nicht im Leerlauf zu halten, wenn eine aktive Aufgabe längere E / A- oder andere Nicht-CPU-Antworten benötigt, lädt der Prozessor eine andere Aufgabe, die nicht auf E / A wartet und für den Prozess bereit ist, und arbeitet daran.

MTasking: Selbst nach MPrograming hat der Benutzer möglicherweise das Gefühl, dass nur eine Aufgabe ausgeführt wird und eine andere nur darauf wartet, zur CPU zu gelangen. Daher wird die aktive Aufgabe auch von der aktiven CPU ausgetauscht und beiseite gelegt, und eine andere Aufgabe wird für einen sehr kleinen Bruchteil der menschlichen Zeit [Sekunde] in die CPU gebracht und wieder auf die frühere Aufgabe zurückgesetzt. Auf diese Weise hat der Benutzer das Gefühl, dass beide Aufgaben gleichzeitig in der CPU ausgeführt werden. Tatsächlich ist jedoch jede Aufgabe zu einer bestimmten CPU-Zeit nur einmal aktiv [in Mikro- oder Nanosekunden].

Und MProcessing bedeutet, wie mein Computer einen Quad-Core hat, also 4 Prozessoren gleichzeitig zu verwenden, was bedeutet, dass 4 verschiedene Multiprogramming-Instanzen in meinem Computer auftreten. Und diese 4 Prozessoren machen eine weitere Anzahl von MTasking.

Also MProcessing> MProgramming> Mtasking

Und MThreading n eine weitere Trennung jeder Aufgabe. das auch, um dem Benutzer ein glückliches Leben zu geben. Hier kommen mehrere Aufgaben [wie Word Doc und Media Player] nicht ins Bild, sondern kleine Unteraufgaben wie das Färben von Text auf Wort und die automatische Rechtschreibprüfung in Wort sind Teil derselben ausführbaren Wortdatei.

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


4

Multiprogramming - Auszuführende 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 irgendwann beendet wird oder die Dienste eines Peripheriegeräts benötigt, wird die Steuerung der CPU an den nächsten Job im Pool übergeben. Wenn Programme beendet werden, werden mehr Jobs zur Ausführung in den Speicher geladen, und die CPU-Steuerung wird auf einen anderen Job im Speicher umgeschaltet. 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 einzelne CPU.

Mehrbenutzersystem - Ein Computersystem, bei dem mehrere Terminals mit einem Host-Computer verbunden sind, der Verarbeitungsaufgaben übernimmt.


4

Multitasking - Dies wird auch als Time-Sharing bezeichnet, da mehrere Aufgaben (oder Prozesse) regelmäßig zu einer bestimmten Zeit gewechselt werden können, damit der Benutzer die Ansicht erhält, dass sie gleichzeitig ausgeführt werden.

Multithreading - Um die Benutzererfahrung zu verbessern, werden die Aufgaben (in einem einzigen Prozess) weiter in Unteraufgaben unterteilt. Diese Unteraufgaben können dann in einer Multitasking-Umgebung ausgeführt werden.

Multiprocessing - Es handelt sich um den Prozess, bei dem mehrere Prozessoren einen Prozess (oder ein Programm) in einer bestimmten Zeit ausführen müssen. Dies verringert die Rechenzeit.

Multi-Programmierung - Wird im Allgemeinen in Batch-Betriebssystemen verwendet. Hier erhält der Job (oder Prozess) während der Ausführung die volle CPU und den vollen Speicher. Multi-Programmierung ist das System, in dem viele verschiedene Programme in den Hauptspeicher des Computers geladen werden und das erste beginnt zu laufen. Wenn es seine Ausführung beendet (dh im laufenden Zustand) und auf das Peripheriegerät (dh im wartenden Zustand) wartet, beginnt der nächste Prozess zu laufen. Dies steht im Gegensatz zu Multitasking. In diesem Fall wird jeder Aufgabe ein Zeitschlitz (auch als Quantum bezeichnet ) für ihre Ausführung zugewiesen.


4

Sowohl Multiprogramming als auch Multitasking lösen unterschiedliche Probleme, obwohl sie eine ähnliche Methode zum Umschalten zwischen den Prozessen verwenden.

Multiprogrammierung : In den frühen Tagen wurde festgestellt, dass bestimmte Prozesse manchmal Peripheriegeräte verwenden müssen (z. B. E / A). In solchen Fällen blieb die CPU im Leerlauf. Um die CPU effizienter zu nutzen, war es ratsam, mehrere Prozesse in den Speicher zu laden. Auf diese Weise würde, wenn ein bestimmter Prozess das Peripheriegerät verwenden würde, ein bestimmter anderer Prozess die CPU verwenden. Dies war Multiprogramming in Aktion.

Multitasking : Für den Endbenutzer mussten mehrere Prozesse gleichzeitig ausgeführt werden. Dies wurde verspottet, indem zwischen verschiedenen Prozessen gewechselt und diese gleichzeitig auf der CPU ausgeführt wurden. Dies war die Idee hinter Multitasking.


3

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

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

Multithreading: Wird normalerweise angezeigt, wenn mehr Clients auf den Server zugreifen.


3

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

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

Multiprogramming - Mehr als eine Aufgabe / ein Programm / ein Job / ein Prozess kann sich zu einem bestimmten Zeitpunkt im Hauptspeicher befinden. Diese Fähigkeit des Betriebssystems wird als Multiprogrammierung bezeichnet.

Multitasking : Mehr als eine Aufgabe / ein Programm / ein Job / ein Prozess kann sich zu einem bestimmten Zeitpunkt in derselben CPU befinden. Diese Fähigkeit des Betriebssystems wird als Multitasking bezeichnet.

Mehrbenutzersystem - Ein Computersystem, bei dem mehrere Terminals mit einem Host-Computer verbunden sind, der Verarbeitungsaufgaben übernimmt.


2

Multithreading Multithreading erweitert die Idee des Multitasking in Anwendungen, sodass Sie bestimmte Vorgänge innerhalb einer einzelnen Anwendung in einzelne Threads unterteilen können.


2

Multitasking - Dies ist im Grunde genommen Multiprogramming im Kontext einer interaktiven Einzelbenutzerumgebung, in der das Betriebssystem zwischen mehreren Programmen im Hauptspeicher wechselt, um die Illusion zu erzeugen, dass mehrere gleichzeitig ausgeführt werden. Übliche Planungsalgorithmen für Multitasking sind: Round-Robin, Priority Scheduling (mehrere Warteschlangen), Shortest-Process-Next.

MULTIPROCESSING ist wie das Betriebssystem, das die verschiedenen Jobs im Hauptspeicher so verarbeitet, dass es jedem Job seine Zeit gibt, wenn der andere für eine Aufgabe wie den E / A-Betrieb beschäftigt ist. Solange mindestens ein Job ausgeführt werden muss, bleibt die CPU niemals im Leerlauf. und hier wird es automatisch vom Betriebssystem behandelt,


1

Multiprograming

Ausführen von mehr als einem Programm in einer Anwendung, um eine bestimmte Aufgabe auszuführen.

Beispiel : In MS WORD Dokument schreiben und E-Mail senden

Multitasking

Ausführen mehrerer Anwendungen, um eine bestimmte Aufgabe auszuführen.

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

Mehrfachverarbeitung

Ausführen von mehr als einer Anweisung durch einen Prozessor.

Beispiel Beim Erstellen einer Datei verwendet der Computer standardmäßig Zeit und Datum.


MultiProgramming ist nicht das, was Sie gesagt haben. Bitte überprüfen Sie Wikipedia und andere Antworten.

1

Multiprogrammierung: -

Es können sich mehrere Aufgaben (Jobs) gleichzeitig im Hauptspeicher befinden. Grundsätzlich soll die CPU-Verschwendung während des E / A-Betriebs reduziert werden. Beispiel: Wenn ein Job gerade ausgeführt wird und einen E / A-Betrieb benötigt. Die E / A-Operation wird mithilfe von DMA ausgeführt, und der Prozessor weist einem anderen Job aus der Jobwarteschlange zu, bis die E / A-Operation von Job1 abgeschlossen ist. dann wieder job1. Auf diese Weise wird die CPU-Verschwendung reduziert.


Multi-Tasking: -

In dieser Art von Betriebssystem werden mehrere Aufgaben (Prozesse) gleichzeitig ausgeführt (gleichzeitig bedeutet nicht, dass die Aufgabe genau zum gleichen Zeitpunkt ausgeführt wird, da Multitasking keine Parallelität impliziert). In diesem System hängt der Start einer neuen Aufgabe vor dem Ende einer anderen Aufgabe von der verwendeten CPU-Planungstechnik ab. Alle Prozesse teilen sich gemeinsame Ressourcen.


Mehrfachverarbeitung: -

Verwenden Sie 2 oder mehr Prozessoren in einer einzelnen CPU. Die Aufgabe kann also parallel ausgeführt werden. Es ist jedoch eine gewisse Synchronisation s / w erforderlich.


1

MultiProgramming - In einem Multiprogramming-System sind mehr als ein Programm im Hauptspeicher geladen, das zur Ausführung bereit ist. Es kann jeweils nur ein Programm die CPU zum Ausführen ihrer Anweisungen abrufen, während alle anderen darauf warten, dass sie an die Reihe kommen. Die Hauptidee der Multiprogrammierung besteht darin, die CPU-Zeit optimal zu nutzen. Angenommen, der aktuell ausgeführte Prozess führt eine E / A-Aufgabe aus, dann kann das Betriebssystem diesen Prozess unterbrechen und die Steuerung einem der anderen Hauptspeicherprogramme übertragen, die zur Ausführung bereit sind (dh 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, mehr als einen Prozess gleichzeitig auf einem Multiprozessor- Computer auszuführen. In einem Multiprozessorsystem verwendet ein Computer mehr als eine CPU gleichzeitig.

Multitasking - Multitasking ist die Fähigkeit eines Betriebssystems, mehr als eine Aufgabe gleichzeitig auf einem einzelnen Prozessor auszuführen. Diese mehreren Aufgaben teilen sich gemeinsame Ressourcen wie CPU und Speicher. In einem Multitasking-System wechselt die CPU so schnell von einer Aufgabe zur nächsten, dass alle Aufgaben gleichzeitig ausgeführt werden.

Es gibt Unterschiede zwischen Multitasking und Multiprogramming. Eine Aufgabe in einem Multitasking-System ist kein ganzes Anwendungsprogramm, sondern kann zu einem "Ausführungsthread" werden, wenn ein Prozess in Unteraufgaben unterteilt ist. Jede kleinere Aufgabe entführt die CPU erst, wenn sie abgeschlossen ist. Sie teilen sich einen kleinen Teil der CPU-Zeit namens Quantum. Multiprogramming- und Multitasking-Betriebssysteme sind Time-Sharing-Systeme.

Multithreading - Multithreading ist die Erweiterung des 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 ausgeführt werden. Das Betriebssystem teilt die Verarbeitungszeit nicht nur auf verschiedene Anwendungen auf, sondern auch auf jeden Thread innerhalb einer Anwendung.


Gott segne dich :)
Zack ISSOIR

1

In einem Multiprogrammiersystem sind mehr als ein Programm im Hauptspeicher geladen, das zur Ausführung bereit ist. Es kann jeweils nur ein Programm die CPU zum Ausführen ihrer Anweisungen abrufen, während alle anderen darauf warten, dass sie an die Reihe kommen. Die Hauptidee der Multiprogrammierung besteht darin, die CPU-Zeit optimal zu nutzen. Angenommen, der aktuell ausgeführte Prozess führt eine E / A-Aufgabe aus, dann kann das Betriebssystem diesen Prozess unterbrechen und die Steuerung einem der anderen Hauptspeicherprogramme übertragen, die zur Ausführung bereit sind (dh 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, mehr als einen Prozess gleichzeitig auf einem Multiprozessor- Computer auszuführen. In einem Multiprozessorsystem verwendet ein Computer mehr als eine CPU gleichzeitig.

Multitasking - Multitasking ist die Fähigkeit eines Betriebssystems, mehr als eine Aufgabe gleichzeitig auf einem einzelnen Prozessor auszuführen. Diese mehreren Aufgaben teilen sich gemeinsame Ressourcen wie CPU und Speicher. In einem Multitasking-System wechselt die CPU so schnell von einer Aufgabe zur nächsten, dass alle Aufgaben gleichzeitig ausgeführt werden.

Es gibt Unterschiede zwischen Multitasking und Multi-Programmierung. Eine Aufgabe in einem Multitasking-System ist kein ganzes Anwendungsprogramm, kann sich jedoch auf einen "Ausführungsthread" beziehen, wenn ein Prozess in Unteraufgaben unterteilt ist. Jede kleinere Aufgabe entführt die CPU erst, wenn sie abgeschlossen ist. Sie teilen sich einen kleinen Teil der CPU-Zeit namens Quantum. Multi-Programmier- und Multitasking-Betriebssysteme sind Time-Sharing-Systeme.

Multi-Threading - Multi-Threading ist die Erweiterung des Multitasking. Multi-Threading ist die Fähigkeit eines Betriebssystems, den spezifischen Vorgang innerhalb einer einzelnen Anwendung in einzelne Threads zu unterteilen. Jeder dieser Threads kann parallel ausgeführt werden. Das Betriebssystem teilt die Verarbeitungszeit nicht nur auf verschiedene Anwendungen auf, sondern auch auf jeden Thread innerhalb einer Anwendung.


0

Multiprogramming - Dieser Begriff wird im Zusammenhang mit Batch-Systemen verwendet. Sie haben mehrere Programme gleichzeitig im Hauptspeicher. Die CPU plant für jeden eine Zeit.

Das heißt, mehrere Aufträge werden gesendet, und alle werden in den Speicher geladen und gemäß einem Planungsalgorithmus ausgeführt. Zu den gängigen Planungsalgorithmen für Batch-Systeme gehören: Wer zuerst kommt, mahlt zuerst, kürzester Job zuerst, kürzeste verbleibende Zeit als nächstes.

Multitasking - Dies ist im Grunde genommen Multiprogramming im Kontext einer interaktiven Einzelbenutzerumgebung, in der das Betriebssystem zwischen mehreren Programmen im Hauptspeicher wechselt, um die Illusion zu erzeugen, dass mehrere gleichzeitig ausgeführt werden. Übliche Planungsalgorithmen für Multitasking sind: Round-Robin, Priority Scheduling (mehrere Warteschlangen), Shortest-Process-Next.


0

MULTIPROCESSING ist wie das Betriebssystem, das die verschiedenen Jobs im Hauptspeicher so verarbeitet, dass es jedem Job seine Zeit gibt, wenn der andere für eine Aufgabe wie den E / A-Betrieb beschäftigt ist. Solange mindestens ein Job ausgeführt werden muss, bleibt die CPU niemals im Leerlauf. und hier wird es automatisch vom Betriebssystem verarbeitet, ohne dass der Benutzer mit dem Computer interagiert.

Aber wenn wir über MULTITASKING sprechen, ist der Benutzer tatsächlich mit verschiedenen Jobs gleichzeitig beschäftigt - Minensuchboot oder E-Mail-Check oder so. Die CPU führt mehrere Jobs aus, indem sie zwischen ihnen wechselt. Der Wechsel erfolgt 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 verarbeitet, dass ein Job, der auf etwas wartet, zur Ausführung des nächsten Jobs springt. Und in mt ist der Benutzer in Interaktion mit dem System und bekommt die Illusion, dass beide oder eine der Anwendungen gleichzeitig ausgeführt werden.


0

Multiprogramming-Mehr als bei der Arbeit im Hauptspeicher.

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


0

Multiprogrammierung: -

Es können sich mehrere Aufgaben (Jobs) gleichzeitig im Hauptspeicher befinden. Grundsätzlich soll die CPU-Verschwendung während des E / A-Betriebs reduziert werden. Beispiel: Wenn ein Job gerade ausgeführt wird und einen E / A-Betrieb benötigt. Die E / A-Operation wird mithilfe von DMA ausgeführt, und der Prozessor weist einem anderen Job aus der Jobwarteschlange zu, bis die E / A-Operation von Job1 abgeschlossen ist. dann wieder job1. Auf diese Weise wird die CPU-Verschwendung reduziert.


0

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

Wenn Sie eine Berechnung parallelisieren möchten, benötigen Sie wahrscheinlich Multithreading, da die Threads wahrscheinlich im selben Speicher zusammenarbeiten sollen.

In Bezug auf die Leistung lassen sich Threads schneller erstellen und verwalten als Prozesse (da das Betriebssystem keinen neuen virtuellen Speicherbereich zuweisen 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 anderen schreiben. Die Art und Weise, wie dies geschieht, ist jedoch nicht immer offensichtlich (aufgrund mehrerer Faktoren, hauptsächlich der Neuordnung von Anweisungen und des Zwischenspeicherns von Speicher). Daher benötigen Sie Synchronisationsprimitive, um den Zugriff zu steuern zu Ihren Variablen.

Quelle


0

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

Bei der Mehrfachverarbeitung verwendet ein Benutzer mehr als einen Prozessor, um eine Aufgabe auszuführen.

Um Multi-Threading zu kennen, müssen wir wissen, was ein Thread ist. Ein Thread ist im Grunde ein Teil eines Programms, das innerhalb des Programms ausgeführt wird. Bestes Beispiel für einen 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.


Welchen Wert hat dies gegenüber den zahlreichen Antworten, die bereits in den letzten 6 Jahren veröffentlicht wurden?
Jean-François Corbett

-1

Multitasking * (Time Sharing) *:

Time shared systems allows many users to share the computer simultaneously.

-1

Multitasking: - Es erledigt eine Reihe von Aufgaben oder Jobs gleichzeitig. In diesem Fall kann der Benutzer mit dem System interagieren.

Multiprogramming: - Es verarbeitet mehrere Programme gleichzeitig und kann nicht mit dem System interagieren. Alles wird vom Betriebssystem (Betriebssystem) entschieden.


-1

Eine Multiprogrammierung ist der Prozess, bei dem ein Computersystem gleichzeitig verschiedene Aufgaben in einem einzelnen Computersystem ausführt.


-3

Multiprogrammierung: - bei dem die Ausführung mehrerer Jobs durch denselben Computer nicht gleichzeitig ausgeführt wird.

.

Multitasking: - O / s, bei denen mehrere Aufgaben gleichzeitig ausgeführt werden.

.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.