2012-04-08 9 views
7

Wie kommunizieren Programme mit dem Mikrokern/monolithischen Kernel/Exo Kernel?Wie kommunizieren Programme - Mikrokern monolithischer Kernel Exo Kernel

enter image description here

Ich habe viele Bücher lesen, die, wie im Bild zeigen, der monolithische Kern steht in Verbindung mit dem Programm durch die Systemaufruf-Tabelle/Dateisystemebene.

Aber wie kommunizieren Micro Kernel und Exo Kernel mit dem Programm?

kommuniziert die Basis des Mikrokerns direkt mit dem Programm und dann kommuniziert der Mikrokernel mit den Servern?

Update: Das fand ich es beantwortet ganz

schön

Client-Server oder Microkernel-Betriebssystem Das Aufkommen neuer Konzepte in Betriebssystem-Design, Mikro-Kernel, bei der Migration traditionalservices eines Betriebssystems aus dem monolithischen richtet Kernel in den Prozess auf Benutzerebene. Die Idee besteht darin, das Betriebssystem in mehrere Prozesse zu unterteilen, von denen jeder einen einzelnen Satz von Diensten implementiert - beispielsweise I/O-Server, Speicherserver, Prozessserver, Thread-Schnittstellensystem. Jeder Server wird im Benutzermodus ausgeführt und stellt dem angeforderten Client Dienste bereit. Der Client, der entweder eine andere Betriebssystemkomponente oder ein Anwendungsprogramm sein kann, fordert einen Dienst an, indem er eine Nachricht an den Server sendet. Ein im Kernel-Modus laufender AnOS-Kernel (oder Microkernel) liefert die Nachricht an den entsprechenden Server; der Server führt die Operation aus; und Microkernel liefert die Ergebnisse an den Client in einer anderen Nachricht

+0

Erwähnen diese Bücher nicht die Systemaufrufschnittstelle? In gewissem Sinne ist dies bei on * nix-Systemen der einzige Weg, auf dem die meisten Prozesse mit dem Kernel kommunizieren. –

+0

@AdamMihalcin so was Sie sagen, das Programm kommuniziert mit dem Basiskernel über die Systemanrufschnittstelle und nicht über die Server? – zeitue

+0

Auch hier in diesen Dokumenten https://docs.google.com/viewer?a=v&q=cache:P8U0Y9-4UPkJ:community.qnx.com/sf/sfmain/do/downloadAttachment/projects.core_os/wiki/Oct27_Microkernel_Innovation% 3Fid% 3Datch1222 + & hl = en & gl = us & pid = bl & SRCID = ADGEESgXFLBn6HJD6f9RndRAJJikgttpH7VoD8MW-YVTg7X2AsucCnhr6m2Jj9ivbSS7DjXnqll7Z8WDyvd2Gb7cBGMWCkjb3sLcqSJinAemmdSHuA0nOJPkXw1KGO05uSJPzpSXAgXn & sig = AHIEtbSwaYInyP7NR98kM2hMJw5tsX5OrQ es zeigt, dass es ein Nachrichten-Bus ist, dass alle, was die Kommunikation durch. aber ich weiß immer noch nicht, wo sich die Systemaufruftabelle bei diesen Mikrokernen befindet. – zeitue

Antwort

2

Systemaufrufe sind die Hauptmethode für die Kommunikation mit sowohl monolithischen und Mikro-Kernel. Unter Verwendung von Systemaufrufen kann der Schnittstellenkern zahlreiche IPC-Methoden bereitstellen (wie z. B. Signale, gemeinsam genutzten Speicher, Nachrichtenübermittlung). Aufgrund der Natur von Mikrokernen ist IPC normalerweise der wichtigste Teil eines solchen Kernels und wird verwendet, um Programmen zu ermöglichen, mit den Servern zu kommunizieren.

Mit anderen Worten, es gibt Systemaufrufe, die es Programmen ermöglichen, Anforderungen an den Kernel zu stellen. Kernel stellt einige IPC-Methoden bereit, mit denen Programme miteinander kommunizieren können, einschließlich Servern in Microkernel-basierten Betriebssystemen.

+0

so Programm mit dem Kernel wie so kommunizieren Programm -> Bibliothek -> Server -> Kernel dann <-, ja? – zeitue