Mindmap-Galerie Prozesse und Threads
Dies ist eine Mindmap über Prozesse und Threads. Die Hauptinhalte umfassen: Thread-Status und -Übergänge, Threads, Prozesskommunikation, Prozesssteuerung, Prozessstatus und -übergänge sowie Prozesse.
Bearbeitet um 2024-10-24 16:49:36Dies ist eine Mindmap über die Analyse der Charakterbeziehungen in „Jane Eyre“, die Ihnen helfen soll, dieses Buch zu verstehen und zu lesen. Die Beziehungen in dieser Karte sind sehr praktisch und es lohnt sich, sie zu sammeln.
Dies ist eine Mindmap zum Umgang mit der Zeit als Freund. „Treating Time as a Friend“ ist ein praktischer Leitfaden für Zeitmanagement und persönliches Wachstum. Der Autor Li Xiaolai vermittelt den Lesern anhand ausführlicher Geschichten und anschaulicher Beispiele praktische Fähigkeiten, wie man Prokrastination überwinden, die Effizienz verbessern und für die Zukunft planen kann. Dieses Buch eignet sich nicht nur für junge Menschen, die um ihre Zukunft kämpfen, sondern auch für alle, die ihre Zeit besser verwalten und sich persönlich weiterentwickeln möchten.
Wie kommuniziert man effizient, vermeidet Kommunikationsschwierigkeiten im Arbeitsalltag und verbessert die Konversationsfähigkeiten? „Crucial Conversations“ ist ein Buch, das 2012 von Mechanical Industry Press veröffentlicht wurde. Die Autoren sind (US) Corey Patterson, Joseph Graney, Ron McMillan und Al Switzler. Das Buch analysiert auch viele Sprech-, Zuhör- und Handlungsfähigkeiten über Menschen häufige blinde Flecken in der Kommunikation, ergänzt durch Dialogsituationen und Kurzgeschichten, um den Lesern zu helfen, diese Fähigkeiten schnellstmöglich zu erlernen. Hoffe das hilft!
Dies ist eine Mindmap über die Analyse der Charakterbeziehungen in „Jane Eyre“, die Ihnen helfen soll, dieses Buch zu verstehen und zu lesen. Die Beziehungen in dieser Karte sind sehr praktisch und es lohnt sich, sie zu sammeln.
Dies ist eine Mindmap zum Umgang mit der Zeit als Freund. „Treating Time as a Friend“ ist ein praktischer Leitfaden für Zeitmanagement und persönliches Wachstum. Der Autor Li Xiaolai vermittelt den Lesern anhand ausführlicher Geschichten und anschaulicher Beispiele praktische Fähigkeiten, wie man Prokrastination überwinden, die Effizienz verbessern und für die Zukunft planen kann. Dieses Buch eignet sich nicht nur für junge Menschen, die um ihre Zukunft kämpfen, sondern auch für alle, die ihre Zeit besser verwalten und sich persönlich weiterentwickeln möchten.
Wie kommuniziert man effizient, vermeidet Kommunikationsschwierigkeiten im Arbeitsalltag und verbessert die Konversationsfähigkeiten? „Crucial Conversations“ ist ein Buch, das 2012 von Mechanical Industry Press veröffentlicht wurde. Die Autoren sind (US) Corey Patterson, Joseph Graney, Ron McMillan und Al Switzler. Das Buch analysiert auch viele Sprech-, Zuhör- und Handlungsfähigkeiten über Menschen häufige blinde Flecken in der Kommunikation, ergänzt durch Dialogsituationen und Kurzgeschichten, um den Lesern zu helfen, diese Fähigkeiten schnellstmöglich zu erlernen. Hoffe das hilft!
Prozesse und Threads
Verfahren
Konzept
Programm: statisch, eine Reihe von Anweisungen
Prozess: dynamisch, der laufende Prozess von Prozessentitäten
Wenn ein Prozess erstellt wird, wird ihm eine eindeutige PID zugewiesen
Es handelt sich um eine unabhängige Einheit zur Ressourcenzuteilung im System.
Prozessentität: statisch, spiegelt den Zustand des Prozesses zu einem bestimmten Zeitpunkt wider
Zusammensetzung der Prozessentität (Prozessbild).
Leiterplatte
Dienstbetriebssystem
Die Informationen, die das Betriebssystem zur Verwaltung des Prozesses benötigt, befinden sich auf der Leiterplatte
Das einzige Zeichen dafür, dass ein Prozess existiert
Programmteil
Enthält Programmanweisungen
Datensegment
Enthält verschiedene während des Betriebs generierte Daten
Merkmale des Prozesses
Dynamisch
Die grundlegendsten Merkmale des Prozesses
Parallelität
Im Speicher befinden sich mehrere Prozesseinheiten, die gleichzeitig ausgeführt werden
Unabhängigkeit
Ein Prozess ist eine Grundeinheit, die unabhängig ausgeführt werden kann, unabhängig Ressourcen erhält und unabhängig geplant werden kann.
Asynchronität
Jeder Prozess schreitet in einem unabhängigen und unvorhersehbaren Tempo voran
Das Betriebssystem muss einen Prozesssynchronisationsmechanismus bereitstellen, um asynchrone Probleme zu lösen
strukturell
Jeder Prozess wird mit einer Leiterplatte konfiguriert und die Struktur der Prozesszusammensetzung ist dieselbe
Prozessstatus und Übergänge
Prozessstatus
Erstellter Zustand
Weisen Sie Systemressourcen zu und initialisieren Sie die Leiterplatte
Bereitschaftszustand
Es liegen bereits Betriebsbedingungen vor, die CPU ist ausgelastet und wartet
Ausführungsstatus
Auf CPU ausführen
In einigen Fällen wechselt der Prozess nach Ablauf der dem Prozess zugewiesenen Zeitscheibe vom laufenden Zustand zurück in den Bereitschaftszustand.
Auf einer einzelnen CPU läuft jeweils nur ein Prozess
Sperrzustand
Der Prozess wartet auf das Eintreten eines Ereignisses und kann nicht weiter ausgeführt werden. Er wendet sich aktiv an die CPU unter Systemaufrufen.
Initiative
Wenn das Warteereignis eintritt, kehrt der Blockierungszustand in den Bereitschaftszustand zurück.
passiv
drei Grundzustände
Endzustand
Wenn der Prozess beendet ist, führen Sie den Exit-Systemaufruf an die CPU aus, und das System beansprucht den Speicherplatz und die Leiterplatte zurück.
Wie der Prozess organisiert ist
Kettenmethode
Der Zeiger zeigt auf die kompilierte Warteschlange
Ausführungszeiger – zeigt auf den laufenden Prozess
Zeiger der Bereitschaftswarteschlange – zeigt auf den Bereitschaftsprozess
Blockierender Warteschlangenzeiger – zeigt auf den blockierten Prozess (verschiedene Warteschlangen aus unterschiedlichen Blockierungsgründen)
Indexmodus
Erstellen Sie Indextabellen für Prozesse in unterschiedlichen Zuständen
Indextabelle zeigt auf PCB
Prozesskontrolle
Grundlegende Konzepte
Die Prozesssteuerung besteht darin, die Umwandlung des Prozesszustands zu realisieren
Die Prozesssteuerung wird mithilfe von Grundelementen implementiert
Mit Ein/Aus-Interrupts implementierte Primitive
Ein Primitiv ist eine besondere Art von Programm
Die Ausführung von Grundelementen kann nicht unterbrochen werden
Verwandte Grundelemente
Erstellen Sie Grundelemente
Beendigungsprimitiv
blockierendes Grundelement
Wake-Primitiv
Blockieren und Aufwecken kommen paarweise vor
Grundelement wechseln
Thread-Status und Übergänge
Zustände und Übergänge
Ausführen->Blockieren
Warten Sie, bis etwas passiert
Blockiert->Bereit
Die Veranstaltung ist beendet
Bereit -> Ausführen
vom Planer ausgewählt
Ausführen->Bereit
Die Zeitscheibe ist abgelaufen
Organisation und Kontrolle
Mehrere TCBs sind in Thread-Tabellen organisiert
Faden
Thread ist die grundlegende CPU-Ausführungseinheit und die kleinste Einheit des Programmausführungsflusses.
Herkömmliche Prozesse können eine Reihe von Programmen nur seriell ausführen. Zu diesem Zweck werden Threads eingeführt, um die Parallelität zu erhöhen und die gleichzeitige Ausführung von Programmen innerhalb des Prozesses zu ermöglichen.
Prozesse dienen jetzt nur noch als Zuordnungseinheiten für andere Systemressourcen als die CPU
Nach der Einführung von Prozessen wird der durch Parallelität verursachte Systemaufwand reduziert
Thread-Eigenschaften
Thread ist die Einheit der Prozessorplanung
In einer Multi-Core-CPU kann jeder Thread unterschiedliche CPUs belegen
Jeder Thread hat eine Thread-ID, den Thread-Kontrollblock TCB
drei Grundzustände
bereit
Block
laufen
Threads besitzen grundsätzlich keine Systemressourcen
Verschiedene Threads im selben Prozess teilen sich Systemressourcen
Wie Threads implementiert werden
Thread auf Benutzerebene
Wird in frühen Betriebssystemen verwendet, als „Threads“ durch Thread-Bibliotheken implementiert wurden
Zum Beispiel drei Teile gleichzeitigen Codes in der while-Schleife
Threads auf Kernelebene
Threads werden vom Betriebssystem implementiert
Multithread-Modell
Eins zu eins
Ein Thread auf Benutzerebene wird einem Thread auf Kernelebene zugeordnet
Vorteil
Jeder Thread kann einem Mehrkernprozessor zur parallelen Ausführung mit einem hohen Grad an Parallelität zugewiesen werden.
Mangel
Thread-Management erfordert Betriebssystemunterstützung und ist teuer
viele zu eins
Mehrere Threads auf Benutzerebene werden einem Thread auf Kernelebene zugeordnet, und einem Prozess wird nur ein Thread auf Kernelebene zugewiesen.
Vorteil
Der Aufwand für die Thread-Verwaltung ist gering und effizient
Mangel
Das Blockieren eines Threads auf Benutzerebene führt zu einer Prozessblockierung und einer geringen Parallelität.
viele zu viele
Kompromissmethode
Prozesskommunikation
Gemeinsamer Speicher
Richten Sie einen gemeinsam genutzten Speicherbereich ein und ordnen Sie ihn dem virtuellen Adressraum des Prozesses zu
Jeder Prozess greift gegenseitig auf den gemeinsamen Bereich zu (der kommunizierende Prozess selbst ist für die Umsetzung des gegenseitigen Ausschlusses verantwortlich).
zwei Möglichkeiten
Basierend auf Datenstrukturen (Low-Level)
Bucket-basiertes Teilen (erweitert)
Nachrichtenübermittlung
Übermitteln Sie strukturierte Nachrichten (Nachrichtenkopf und Nachrichtentext).
Das System stellt Sendeprimitive und Empfangsprimitive bereit
zwei Möglichkeiten
direkte Kommunikation
Die Nachricht wird direkt in die Nachrichtenwarteschlange des empfangenden Prozesses gestellt.
Mailbox-Kommunikationsmethode
Die Nachricht wird im Zwischenspeicher gespeichert
Rohrkommunikation
Richten Sie eine spezielle „Pipeline“ für gemeinsam genutzte Dateien (Speicherpuffer) ein.
Pipes können nur Halbduplex-Kommunikation erreichen
Um eine bidirektionale gleichzeitige Kommunikation zu erreichen, sind zwei Pipes erforderlich
Jeder Prozess greift gegenseitig auf die Pipe zu (das Betriebssystem implementiert den gegenseitigen Ausschluss).
Der Schreibvorgang blockiert, wenn der Schreibvorgang voll ist, und der Lesevorgang blockiert, wenn der Lesevorgang leer ist.