Zu einem sehr hohen Niveau , führen Computern drei Aufgaben : Eingabe, Verarbeitung und Ausgabe. Eingebettet in der Hardware des jeweiligen Computers ist eine kleine Reihe von Anweisungen als das Basic Input /Output System oder BIOS . BIOS bietet Low- Level-Funktionen für einen Computer zur Eingabe akzeptieren und Ausgang . Ein Programm , wie einen Gerätetreiber stellt das Zwischenprodukt Verarbeitungsschritt , um die Eingabe in ein Format, das von dem Zielgerät zu verstehen ist konvertieren. Viele dieser Programme koordinieren die verschiedenen Aufgaben, die unter Verwendung einer Mailbox oder MBX . MBX Mailbox
Input /Output-Operationen häufig in Themen oder Aufgaben , die gleichzeitig ausgeführt werden aufgeteilt. Zum Beispiel könnte eine Audiodatei abgespielt drei Threads zum Lesen , Verarbeiten und zum Schreiben der Audiodaten aufweisen. Gleichzeitige Aufgaben müssen häufig miteinander kommunizieren und manchmal müssen Daten von einer Aufgabe zur nächsten zu gelangen . Neben der Bereitstellung von Eingabe /Ausgabe- Dienste bietet das BIOS eine MBX oder Mailbox , die durch Gewinde in das gleiche Verfahren verwendet werden können , um miteinander zu kommunizieren und Daten zu übergeben . Zum Beispiel könnte ein Elternteil Thread laichen mehrere Kinder , von denen jeder eine Fahne in MBX aktualisieren, wenn ihnen zugewiesenen Aufgabe abgeschlossen ist . Die Muttergesellschaft überwacht die Mailbox und Maßnahmen zu ergreifen , wenn entweder alle Aufgaben abgeschlossen sind oder wenn eine Aufgabe nicht innerhalb eines bestimmten Zeitraums abgeschlossen .
Mailbox Bit Flags
Mailbox bit-Flags werden häufig verwendet, um den Status der verschiedenen Aufgaben gleichzeitig darzustellen. Zum Beispiel sollte eine Aufgabe, die Audiodaten verarbeitet nur aktiviert, wenn sich Daten in dem Eingangspuffer und den freien Speicherplatz in dem Ausgangspuffer . Um diese Aktivitäten zu koordinieren , wird MBX zunächst auf drei oder 11 in binär eingestellt . Der Eingang Task verwendet das erste Bit , um eine vollständige Eingangspuffer anzeigen und das Ausgangssignal Task verwendet das zweite Bit , um einen leeren Ausgangspuffer anzuzeigen. Wenn MBX Null ist , geht die Verarbeitung Thread aktiviert ist, verarbeitet die Daten und setzt die MBX -Bits.
Kopieren von Daten auf ein Postfach
simultaner Threads sind nicht begrenzt mit Mailbox Bitflags miteinander kommunizieren . Alle Daten können in einer Mailbox gespeichert , einschließlich Rohdaten , Zeiger auf den Speicher -Puffer, die Daten und Befehle enthalten , auch . Wenn Daten an ein Postfach gesendet wird, wird es an das Postfach kopiert.
Andere Communication Methoden
Postfächer sind eine von mehreren Methoden, die Datenkommunikation für Themen verwendet werden könnten während einer Vorrichtung Eingabe /Ausgabe- Betriebsart zu kommunizieren . Andere Methoden umfassen Daten Rohre oder PIP ; Datenströme oder SIO und Datenwarteschlangen oder QUE . Daten Rohre und Datenströme sind ähnlich wie Postfächer , da die Daten kopiert und ist uneingeschränkt . Datenwarteschlangen eine Kommunikationsmethode ohne sie zu kopieren , indem Sie einen Doppelklick verketteten Liste , die als First-In -First-Out -Warteschlange .