„Erkundung der Computerwelt: Grundlegende Konzepte und Funktionen von Prozessen“

Fügen Sie hier eine Bildbeschreibung ein

Vorwort

Als Programmierer ist es sehr wichtig, den Aufbau des Computers und seine Funktionsweise zu verstehen, denn nur wenn wir den Computer verstehen, können wir die Eigenschaften des Computers durch Code besser nutzen. Heute werde ich Ihnen einen der Kernpunkte des Computers vorstellen: den Prozess.
Fügen Sie hier eine Bildbeschreibung ein

Was ist ein Prozess?

Ein Prozess ist eine Instanz eines Programms, das auf einem Computersystem ausgeführt wird. In einem Betriebssystem ist ein Prozess eine unabhängige Ausführungseinheit, die über einen eigenen Speicherplatz, Programmcode und einen eigenen Ausführungsstatus verfügt. Ein Prozess kann einen oder mehrere Threads umfassen. Jeder Thread führt eine andere Aufgabe aus, sie teilen sich jedoch die Ressourcen und den Kontext des Prozesses.

Wenn jedes Anwendungsprogramm auf einem modernen Betriebssystem ausgeführt wird, stellt das Betriebssystem eine Abstraktion bereit, als ob nur dieses Programm auf dem System ausgeführt würde und alle Hardwareressourcen von diesem Programm verwendet würden. Diese Illusion wird durch die Abstraktion des Konzepts eines Prozesses erreicht, das wohl eines der wichtigsten und erfolgreichsten Konzepte in der Informatik ist.

Ein Prozess ist eine Abstraktion eines laufenden Programms durch das Betriebssystem. Mit anderen Worten, ein Prozess kann als laufender Prozess eines Programms betrachtet werden. Gleichzeitig ist ein Prozess innerhalb des Betriebssystems die Grundeinheit für die Ressourcenzuweisung durch das Betriebssystem.

wie man den Prozess beschreibt

Im Computer wird eine Struktur (Struktur in der C-Sprache) verwendet, um die Eigenschaften des Prozesses zu beschreiben. Diese Struktur wird auch als Prozesssteuerungsblock (PCB) bezeichnet.

Process Control Block (PCB) ist eine Datenstruktur, die die Statusinformationen eines laufenden Prozesses oder einer laufenden Aufgabe sowie andere für den Prozess oder die Aufgabe erforderliche Informationen wie Prozess-ID, Programmzähler, Register, Speicherverwaltungsinformationen usw. enthält. Die Leiterplatte wird normalerweise vom Betriebssystemkern verwaltet, der als Vermittler zwischen dem Prozess und dem Betriebssystem fungiert und dem Betriebssystem dabei hilft, den Prozessbetrieb und die Ressourcenzuweisung zu verwalten und die gleichzeitige Ausführung und den unabhängigen Betrieb mehrerer Prozesse sicherzustellen. Jeder Prozess verfügt über eine eigene unabhängige Leiterplatte. Wenn der Kernel den Prozess wechselt, speichert er die Leiterplatte des aktuellen Prozesses, lädt dann die Leiterplatte des nächsten Prozesses und schaltet die Steuerung der CPU auf den nächsten Prozess um.

Im zugrunde liegenden Prozess dient ein Knoten dazu, eine lineare PCB-Tabelle, einen Suchbaum usw. zu organisieren.

Eigenschaften des Prozesses

1. Prozesskennung

Eine Prozesskennung (Process Identifier, PID) ist eine digitale Kennung, die zur eindeutigen Identifizierung eines laufenden Prozesses im Betriebssystem dient. Jeder Prozess hat eine eindeutige PID im Betriebssystem.

PID ist eine nicht negative Ganzzahl, die auf den meisten Betriebssystemen eindeutig ist. Wenn ein Prozess erstellt wird, weist ihm das Betriebssystem eine neue PID zu. Diese PID bleibt während der gesamten Lebensdauer des Prozesses konstant, bis der Prozess beendet wird.

Die Funktion der Prozesskennung besteht darin, einen Prozess im Betriebssystem eindeutig zu identifizieren, sodass das Betriebssystem den Betrieb des Prozesses verwalten und steuern kann.

2. Speicherzeiger

Fügen Sie hier eine Bildbeschreibung ein

Im Betriebssystem verfügt jeder Prozess über einen eigenen unabhängigen virtuellen Adressraum, und der Speicherzeiger ist eine Variable oder Datenstruktur, die für den Zugriff auf den Speicher des Prozesses und dessen Verwaltung verwendet wird. Ein Speicherzeiger speichert eine Speicheradresse, die zum Lesen oder Schreiben von Daten an dieser Adresse verwendet werden kann.

Die Werte dieser Speicherzeiger ändern sich während der Ausführung des Prozesses kontinuierlich, entsprechend dem Kontrollfluss des Programms und dem Betrieb der Speicherverwaltung. Sie ermöglichen Prozessen den Zugriff auf verschiedene Speicherbereiche wie Codebereich, Heap-Bereich, Stapelbereich und Datenbereich, um die Programmausführung sowie die Datenspeicherung und den Datenzugriff zu realisieren.

Es ist zu beachten, dass der Speicherzeiger eines Prozesses nur in seinem eigenen virtuellen Adressraum gültig sein kann und andere Prozesse nicht direkt auf die Speicherzeiger anderer Prozesse zugreifen oder diese ändern können. Das Betriebssystem bietet Speicherisolations- und Schutzfunktionen zwischen Prozessen durch Adresszuordnung und Zugriffskontrollmechanismen und stellt so sicher, dass die Speicherbereiche jedes Prozesses unabhängig und sicher sind.

3. Dateideskriptortabelle

Eine Dateideskriptortabelle ist eine Datenstruktur, die im Betriebssystem zum Verfolgen und Verwalten der von einem Prozess geöffneten Dateien verwendet wird. Jeder Prozess verfügt über eine eigene unabhängige Dateideskriptortabelle, die Informationen über Dateien oder andere E/A-Ressourcen aufzeichnet, die vom aktuellen Prozess geöffnet werden.

Ein Dateideskriptor ist eine Ganzzahl, die zur Darstellung einer geöffneten Datei oder einer anderen E/A-Ressource verwendet wird. Das Betriebssystem verwendet Dateideskriptoren, um die Zuordnung zwischen Prozessen und geöffneten Dateien für E/A-Vorgänge, Datenübertragung und Ressourcenverwaltung zu verfolgen.

Die spezifische Struktur und Implementierung der Dateideskriptortabelle kann je nach Betriebssystem variieren, aber im Allgemeinen verwaltet das Betriebssystem für jeden Prozess ein Array fester Größe, um Dateideskriptoren zu speichern. Der Index dieses Arrays ist der Wert des Dateideskriptors, und über den Index kann auf die entsprechende geöffnete Datei zugegriffen und diese bedient werden.

4. Status des Prozesses

In einem Betriebssystem kann sich ein Prozess in verschiedenen Zuständen befinden, die die aktuelle Situation oder den Betriebszustand des Prozesses beschreiben. Zu den gängigen Prozesszuständen gehören:

  1. Erstellt: Wenn ein Prozess gerade erstellt wurde, befindet er sich im erstellten Zustand. In dieser Phase weist das Betriebssystem die erforderlichen Ressourcen für den Prozess zu und legt den Anfangszustand des Prozesses fest.

  2. Bereit: Ein Prozess befindet sich im Bereitschaftszustand, wenn er alle zur Ausführung erforderlichen Ressourcen erhalten hat und darauf wartet, dass das Betriebssystem eine CPU-Zeitscheibe zuweist. Ein Prozess im Bereitschaftszustand wartet darauf, dass der Scheduler auf einer oder mehreren verfügbaren CPUs ausgeführt wird.

  3. Läuft: Ein Prozess im laufenden Zustand bedeutet, dass er gerade Anweisungen ausführt. Auf einer CPU kann immer nur ein Prozess laufen, der als aktuell laufender Prozess eingeplant ist. Ein Prozess kann einige Zeit im laufenden Zustand verbringen und seine Anweisungen ausführen.

  4. Blockierung: Wenn ein Prozess während der Ausführung auf bestimmte Ereignisse stößt, z. B. Warten auf Eingabe/Ausgabe, Warten auf Ressourcenzuweisung oder Warten auf ein Signal, wechselt er in einen blockierten Zustand. Im Blockierungszustand unterbricht der Prozess die Ausführung und wartet auf die Erfüllung einer bestimmten Bedingung, bevor er wieder in den Bereitschaftszustand wechselt.

  5. Beendigung: Ein laufender Prozess kann nach Abschluss der Ausführung oder aufgrund außergewöhnlicher Bedingungen wie Fehler, Beendigungssignale usw. beendet werden. Wenn sich ein Prozess im beendeten Zustand befindet, werden alle seine Ressourcen freigegeben, einschließlich zugewiesenem Speicher und geöffneten Dateien.

5. Priorität

Die Prozesspriorität ist ein Mechanismus, mit dem das Betriebssystem die Planungsreihenfolge von Prozessen bestimmt. Dadurch wird die Priorität und Reihenfolge bestimmt, in der Prozesse zugewiesen werden, wenn sie um begrenzte Ressourcen (z. B. CPU-Zeitscheiben) konkurrieren. Unterschiedliche Prozesse können unterschiedliche Prioritäten haben, und Prozesse mit hoher Priorität erhalten mehr CPU-Zeit für eine schnellere Ausführung.

In den meisten Betriebssystemen wird einem Prozess normalerweise eine numerische Priorität zugewiesen, die eine ganze Zahl innerhalb eines Bereichs sein kann. Normalerweise weist ein größerer Wert auf eine höhere Priorität hin. Beispielsweise liegt der Prioritätsbereich in Windows-Systemen zwischen 0 und 31 und in Linux-Systemen zwischen -20 und +19.

Die Ebene der Prozesspriorität kann sich auf die Planung des Prozesses auswirken. Der Scheduler bevorzugt Prozesse mit höherer Priorität und weist ihnen mehr CPU-Zeit zu. Dies bedeutet, dass Prozesse mit hoher Priorität möglicherweise häufiger ausgeführt werden, während Prozesse mit niedriger Priorität relativ selten ausgeführt werden.

Durch die Anpassung der Prozesspriorität können Systemressourcen gezielter zugewiesen und geplant werden, um den Anforderungen verschiedener Prozesse gerecht zu werden. Beispielsweise kann für geschäftskritische oder Echtzeitanwendungen ihre Priorität höher eingestellt werden, um sicherzustellen, dass ihnen rechtzeitig CPU-Ressourcen zugewiesen werden.

Es ist zu beachten, dass die Prozesspriorität nur ein Referenzindex für den Planer ist und die tatsächliche Planung auch von anderen Faktoren beeinflusst wird, z. B. dem Status des Prozesses, den Ressourcen, auf die der Prozess wartet, usw. Darüber hinaus kann eine übermäßige Abhängigkeit von der Prozesspriorität dazu führen, dass anderen Prozessen nur sehr wenig Ausführungszeit zur Verfügung steht, was sich negativ auf die Fairness und Stabilität des Systems auswirkt. Daher sollte bei der Festlegung der Prozesspriorität sorgfältig darüber nachgedacht werden.

Zusammenfassend ist die Priorität des Prozesses der Mechanismus, den das Betriebssystem verwendet, um die Planungsreihenfolge des Prozesses zu bestimmen, und der Prozess mit hoher Priorität erhält mehr CPU-Zeit. Durch Anpassen der Prozesspriorität kann eine flexiblere Zuweisung und Planung von Systemressourcen realisiert werden.

6. Kontext

Der Kontext eines Prozesses bezieht sich auf die Statusinformationen im Zusammenhang mit dem Prozess, die das Betriebssystem beim Planen und Ausführen des Prozesses speichern und wiederherstellen muss. Zu diesen Statusinformationen gehören der Registerinhalt des Prozesses, der Programmzähler, der Stapelzeiger und andere Daten im Zusammenhang mit der Ausführung des Prozesses.

Wenn in einem Betriebssystem die Ausführung eines Prozesses geplant ist, stellt er den Kontext aus seinem vorherigen Ausführungszustand wieder her und setzt die Ausführung fort. Wenn das Betriebssystem beschließt, zu einem anderen Prozess zu wechseln, speichert es den Kontext des aktuellen Prozesses, lädt dann den Kontext eines anderen Prozesses und stellt ihn wieder her, um sicherzustellen, dass der Prozess bei der nächsten Ausführung an der Stelle weiter ausgeführt werden kann, an der er aufgehört hat letztes Mal.

Der Kontext eines Prozesses umfasst normalerweise die folgenden wichtigen Teile:

  1. Registerinhalt: einschließlich Allzweckregister, Programmzähler (PC), Stapelzeiger (SP) usw. Diese Register speichern den Ausführungsstatus des Prozesses, bevor er unterbrochen oder umgeschaltet wurde, sodass die Ausführung bei Wiederaufnahme korrekt fortgesetzt werden kann.

  2. Informationen zur Speicherverwaltung: einschließlich Seitentabellen, Segmenttabellen oder anderen Datenstrukturen im Zusammenhang mit der Speicherverwaltung. Diese Informationen beschreiben das Speicherlayout und die Berechtigungen des Prozesses sowie die Zuordnungsbeziehung zwischen physischen Speicherseiten oder virtuellen Speicherseiten, die dem Prozess zugeordnet sind.

  3. Dateideskriptortabelle: Zeichnet Informationen über die vom Prozess geöffneten Dateien und E/A-Ressourcen auf, einschließlich Dateideskriptoren, Dateistatusflags, Listen geöffneter Dateien usw. Durch das Speichern der Dateideskriptortabelle wird sichergestellt, dass der Prozess beim Fortsetzen geöffnete Dateien ordnungsgemäß verwalten kann.

  4. Prozessstatus: Zeichnet den aktuellen Status des Prozesses auf, z. B. läuft, bereit, blockiert usw. Durch das Speichern des Prozessstatus können Sie bei der Planung die Priorität und Ausführungsreihenfolge von Prozessen bestimmen.

Das Speichern und Wiederherstellen des Kontexts eines Prozesses ist eine Schlüsseloperation des Betriebssystems für die Prozessumschaltung und -planung. Wenn das Betriebssystem beschließt, zu einem anderen Prozess zu wechseln, speichert es den Kontext des aktuellen Prozesses, überträgt die Kontrolle an den anderen Prozess und stellt seinen Kontext wieder her. Auf diese Weise können mehrere Aufgaben gleichzeitig ausgeführt werden, sodass mehrere Prozesse Systemressourcen gemeinsam nutzen und gemäß einer bestimmten Planungsstrategie ausführen können.

7. Rechnungsinformationen

In Betriebssystemen werden Prozessabrechnungsinformationen verwendet, um Statistiken über die Prozessausführung und die Ressourcennutzung aufzuzeichnen und zu verfolgen. Diese Informationen können für Leistungsanalysen, Ressourcenmanagement und Systemüberwachungszwecke verwendet werden.

Zu den Buchhaltungsinformationen für einen Prozess gehören normalerweise Folgendes:

  1. Prozessausführungszeit: Zeichnen Sie die Ausführungszeit des Prozesses auf der CPU auf, einschließlich der Gesamtausführungszeit, der Ausführungszeit im Benutzermodus und der Ausführungszeit im Kernelmodus. Diese Daten können verwendet werden, um die CPU-Auslastung des Prozesses zu berechnen und die Ausführungseffizienz des Prozesses zu bewerten.

  2. Prozesswartezeit: Zeichnen Sie die Zeit auf, die der Prozess im Bereitschaftszustand auf die CPU-Zeitscheibe wartet. Damit lässt sich die Verteilung der Prozesswartezeiten analysieren, mögliche Ressourcenengpässe entdecken und Planungsalgorithmen optimieren.

  3. Prozessplanungszeiten: Erfassen Sie, wie oft die Ausführung eines Prozesses geplant ist. Dies kann verwendet werden, um die Ausführungspriorität von Prozessen, die Wirksamkeit von Planungsalgorithmen und die Reaktionsfähigkeit von Prozessen zu bewerten.

  4. Vom Prozess verwendete Systemressourcen: Zeichnen Sie verschiedene vom Prozess verwendete Systemressourcen auf, z. B. Speichernutzung, Anzahl geöffneter Dateien, Anzahl der Netzwerkverbindungen usw. Dies kann zur Ressourcenverwaltung und Drosselung verwendet werden, um zu verhindern, dass Prozesse Systemressourcen überbeanspruchen oder missbrauchen.

  5. Prozessfehler und Ausnahmen: Protokolliert Fehler, Ausnahmen und Unterbrechungen, die bei einem Prozess aufgetreten sind. Dies kann zur Fehlerbehebung und Fehlerbehandlung genutzt werden, um Probleme bei der Prozessausführung zu analysieren und zu lösen.

Unter diesen sind Status, Priorität, Kontext und Abrechnungsinformationen des Prozesses verwandte Attribute der Prozessplanung und auch Kernattribute des Prozesses.

Speicherzuweisung

Unter Prozessspeicherzuteilung versteht man den Prozess, durch den das Betriebssystem dem Prozess Speicherplatz zuweist, damit der Prozess die erforderlichen Daten und Codes speichern und darauf zugreifen kann. Die Zuweisung von Prozessspeicher umfasst zwei Aspekte: die Aufteilung des Prozessadressraums und die Verwaltung des virtuellen Speichers.

  1. Aufteilung des Prozessadressraums
    Der Prozessadressraum bezieht sich auf den virtuellen Speicherraum, auf den ein Prozess zugreifen kann, und ist normalerweise in die folgenden Teile unterteilt:
  • Codesegment: Programmcode speichern.
  • Datensegment: Initialisierte globale Variablen und statische Variablen speichern.
  • BSS-Segment: Speichern Sie nicht initialisierte globale Variablen und statische Variablen.
  • Heap-Bereich: Speichert dynamisch zugewiesenen Speicher, z. B. Speicher, der durch Funktionen wie malloc zugewiesen wird.
  • Stapelbereich: Speichern Sie Informationen wie temporäre Variablen und Rückgabeadressen, wenn die Funktion aufgerufen wird.
  1. Virtuelle Speicherverwaltung
    Virtueller Speicher bezieht sich auf einen abstrakten Speicher, der dem Prozess vom Betriebssystem durch Adressübersetzungstechnologie bereitgestellt wird, sodass der vom Prozess angezeigte Speicherplatz nicht unbedingt dem tatsächlichen physischen Speicher entspricht. Die Verwaltung des virtuellen Speichers umfasst hauptsächlich die folgenden Aspekte:
  • Seitenersetzung: Wenn der physische Speicher nicht ausreicht, muss das Betriebssystem einen Teil der Prozessdaten aus dem physischen Speicher auf die Festplatte auslagern, um den physischen Speicherplatz für die Nutzung durch andere Prozesse freizugeben. Dieser Vorgang wird als Seitenersetzung bezeichnet.
  • Paging: Paging bezieht sich auf den Prozess, mit dem das System die virtuellen Seiten verwaltet, auf die zugegriffen werden soll. Wenn ein Prozess auf eine virtuelle Seite zugreift und sich die Seite nicht bereits im physischen Speicher befindet, muss er die Seite von der Festplatte abrufen und in den physischen Speicher laden. Dieser Vorgang wird als Paging bezeichnet.
  • Seitengröße: Die Seitengröße ist die Reihe gleich großer Blöcke, in die der virtuelle Speicherraum eines Prozesses unterteilt ist. Zu den gängigen Seitengrößen gehören 4 KB, 8 KB usw.
  • Seitentabelle: Eine Seitentabelle ist eine Datenstruktur, die die Entsprechung zwischen virtuellen Adressen und physischen Adressen aufzeichnet. Wenn ein Prozess auf eine virtuelle Adresse zugreift, muss er die virtuelle Adresse über die Seitentabelle in eine physische Adresse übersetzen.

Die im Programm erhaltene Speicheradresse ist keine reale physische Speicheradresse, sondern eine virtuelle Adresse nach einer Abstraktionsschicht.

Die Geschwindigkeit des Datenzugriffs an jeder Adresse im Speicher ist extrem hoch und die Zeit ist nahezu gleich. Genau aufgrund dieser Eigenschaft des Speichers erscheint der Indexzugriff auf Arrays. Wenn im Code des aktuellen Prozesses ein Fehler auftritt, führt dies dazu, dass der Speicher, auf den zugegriffen wird, außerhalb der Grenzen liegt, was sich auf andere Prozesse auswirken kann

Durch die „Isolierung“ des von einem Prozess verwendeten Speicherplatzes wird ein virtueller Adressraum eingeführt. Der Code verwendet nicht mehr direkt reale physische Adressen, sondern virtuelle Adressen, und das Betriebssystem und spezielle Hardwaregeräte (MMU) sind für die Umwandlung virtueller Adressen in physische Adressen verantwortlich.

Fügen Sie hier eine Bildbeschreibung ein
Welcher Prozess weist einen Fehler auf, welcher Prozess stürzt ab, ohne dass sich dies auf andere Prozesse auswirkt.

Parallelität und Parallelität

Was ist Parallelität?

Parallelität bezieht sich auf die Fähigkeit, mehrere Aufgaben oder Vorgänge gleichzeitig auszuführen. Im Computerbereich, insbesondere bei Mehrkern-CPUs oder verteilten Systemen, kann Parallelität genutzt werden, um die Ausführungsgeschwindigkeit von Aufgaben zu beschleunigen und die Rechenleistung des Systems zu verbessern. Im parallelen Mikrokosmos werden im selben Moment die Prozesse auf den beiden Kernen gleichzeitig ausgeführt

Bei der Parallelverarbeitung werden mehrere Aufgaben oder Vorgänge verschiedenen Verarbeitungseinheiten oder Rechenressourcen zur gleichzeitigen Ausführung zugewiesen. Bei diesen Verarbeitungseinheiten kann es sich um unabhängige CPU-Kerne, unterschiedliche Kerne in einer Mehrkern-CPU, unterschiedliche Computerknoten oder Server und dergleichen handeln. Jede Verarbeitungseinheit führt Aufgaben unabhängig aus, und Berechnungen und Datenoperationen können parallel zwischen ihnen durchgeführt werden.

Parallelverarbeitung wird häufig zur Lösung von Aufgaben eingesetzt, die eine hohe Leistung und Rechenleistung erfordern, wie z. B. wissenschaftliches Rechnen, umfangreiche Datenverarbeitung, Bild- und Videoverarbeitung usw. Durch die Aufteilung des Problems in kleinere Teilprobleme und die Zuweisung jedes Teilproblems zur Parallelverarbeitung an eine andere Verarbeitungseinheit kann die Ausführungszeit der Aufgabe erheblich verkürzt werden.

Was ist Parallelität?
Unter Parallelität versteht man die Ausführung mehrerer unabhängiger Aufgaben oder Vorgänge durch ein System oder Programm innerhalb desselben Zeitraums. Im Computerbereich ist Parallelität ein Mechanismus zur gleichzeitigen Verarbeitung mehrerer Aufgaben, und die abwechselnde Ausführung von Aufgaben wird durch Aufgabenwechsel und -planung realisiert.

Das Hauptziel der Parallelität besteht darin, die Effizienz und Ressourcennutzung des Systems zu verbessern. Durch die gleichzeitige Verarbeitung mehrerer Aufgaben kann das System CPU, Speicher und andere Ressourcen besser nutzen, um besser auf Benutzeranforderungen zu reagieren und den Gesamtdurchsatz zu erhöhen.

Parallelität kann auf einer einzelnen Verarbeitungseinheit, beispielsweise einer Single-Core-CPU oder einem einzelnen Thread, oder zwischen mehreren Verarbeitungseinheiten, beispielsweise einer Multi-Core-CPU, einem Multi-Thread-System oder einem verteilten System, implementiert werden. Der spezifische Weg, Parallelität zu erreichen, umfasst Zeitscheiben-Round-Robin-Planung, Thread-Wechsel, Prozesswechsel usw.

Der Unterschied zwischen Parallelität und Parallelität

Parallelität ist gleichzeitig auf der Makroebene und seriell auf der Mikroebene.
Parallel ist gleichzeitig auf der Makroebene, aber gleichzeitig auf verschiedenen Kernen auf der Mikroebene

  1. Bedeutung:
  • Parallel (Parallel): Bezieht sich auf die gleichzeitige Ausführung mehrerer Aufgaben. Jede Aufgabe wird gleichzeitig auf mehreren Verarbeitungseinheiten ausgeführt, und jede Verarbeitungseinheit kann ein unabhängiger CPU-Kern oder ein Kern in einer Mehrkern-CPU sein.
  • Parallelität: bezieht sich auf die gleichzeitige Verarbeitung mehrerer Aufgaben, die abwechselnde Ausführung mehrerer Aufgaben und den Wechsel zwischen mehreren Aufgaben durch Zeitaufteilung oder Aufgabenplanung.
  1. Durchführungsmodalitäten:
  • Parallelität: Mehrere Aufgaben werden gleichzeitig ausgeführt, und jede Aufgabe wird parallel auf einer unabhängigen Verarbeitungseinheit ausgeführt.
  • Parallelität: Mehrere Aufgaben werden abwechselnd ausgeführt, und jede Aufgabe wird der Reihe nach auf derselben Verarbeitungseinheit ausgeführt. Zeitscheiben oder Aufgabenwechsel werden verwendet, um die gleichzeitige Ausführung von Aufgaben zu implementieren.
  1. Zweck:
  • Parallelität: Durch die gleichzeitige Ausführung mehrerer Aufgaben werden die Gesamtrechenleistung und die Ausführungsgeschwindigkeit verbessert und die Erledigung von Aufgaben beschleunigt.
  • Parallelität: Durch die abwechselnde Ausführung und Planung von Aufgaben wird eine gerechte Aufteilung der Ressourcen zwischen mehreren Aufgaben erreicht und die Effizienz und der Durchsatz des Systems verbessert.
  1. Methode zur Realisierung:
  • Parallelität: Durch Multi-Core-CPU, Multi-CPU oder Distributed Computing werden unterschiedliche Aufgaben unterschiedlichen Verarbeitungseinheiten zugewiesen und gleichzeitig bearbeitet.
  • Parallelität: Die abwechselnde Ausführung zwischen Aufgaben wird durch Aufgabenplanung, Thread- oder Prozesswechsel erreicht.
  1. Kontextwechsel:
  • Parallelität: Da jede Aufgabe auf einer unabhängigen Verarbeitungseinheit ausgeführt wird, gibt es keinen Aufwand für die Kontextumschaltung.
  • Parallelität: Aufgrund der Notwendigkeit, die Ausführung zwischen Aufgaben zu wechseln, entsteht ein Mehraufwand für den Kontextwechsel, einschließlich des Speicherns und Wiederherstellens der Ausführungskontextinformationen von Aufgaben.

Acho que você gosta

Origin blog.csdn.net/m0_73888323/article/details/132071826
Recomendado
Clasificación