Multikernel

Multikernel
QS-Informatik

Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)
Begründung: Wikifizierung --Crazy1880 18:46, 16. Feb. 2010 (CET)

Ein Multikernel-Betriebssystem behandelt einen Mehrkernprozessor als ein Netzwerk aus einzelnen Kernen, in etwa als wäre der Prozessor ein Verteiltes System. Ein solches System benutzt Message-Passing an Stelle von Shared Memory.

Das Prinzip, jeden Rechenkern als ein eigenes System zu betrachten und nur Message-Passing zu benutzen, ermöglicht es auf Systemen mit vielen Kernen, besser zu skalieren als auf den klassischen Systemen (zum Beispiel beim Mikrokernel), so kann die Rechenlast günstiger verteilt werden.

Weiterhin geht der Trend in der Entwicklung von Mehrkernsystemen immer mehr zu „großen“ Kernen, die die Arbeit auf viel mehr „kleine“ Kerne verteilen. Klassische homogene Systeme haben das Problem des Verlustes von potenziellem Leistungsgewinn durch mehr Rechenlogik durch Steuerlogik, wordurch das Konzept bei gut parallelisierbaren Aufgaben suboptimal wird (große Kerne können linearen Code schnell ausführen, aber sie sind relativ ungeeignet für parallele Aufgaben, weil man auf der Die-Fläche relativ wenige große Kerne unterbringen kann, aber man könnte viele kleine Kerne auf derselben Fläche unterbringen, die somit besser parallelen Code ausführen können).

Ein Beispiel für diesen Trend sieht man, wenn man sich das Funktionsprinzip der Lastenverteilung auf einem handelsüblichen Mehrkernprozessor mit dem Funktionsprinzip der Lastenaufteilung zwischen den einzelnen Prozessoren einer modernen Grafikkarte anschaut.

Dieser Unterschied zeigt, dass man auf der CPU besser Code ausführen kann, der viele Sprünge ausführt und relativ wenig Bandbreite braucht und mit wenigen Threads läuft, aber auf der Grafikkarte kann man besser sehr rechenlastigen Code ausführen, der viel Bandbreite nutzen kann, aber der auch wenig Sprünge ausführt.

Man kann auch mit dem Konzept des Multikernels x86- und ARM- (und SPARC- usw.) Prozessoren miteinander kooperieren lassen, wodurch man eine bessere Performance erreichen kann.

Das Multikernel-Konzept beschränkt sich nur auf eine Maschine mit ein oder mehreren Prozessorsockeln, aber die Realisierung mit mehreren Maschinen auf denen ein Multikernel läuft ist auch möglich und bringt weitere Vorteile, zum Beispiel eine gute Lastenverteilung und erhöhte Ausfallsicherheit.

Ein Beispiel für ein Multikernel-Betriebssystem ist Barrelfish,[1][2] das ein kooperatives Forschungsprojekt der ETH Zürich und Microsoft Research Cambridge ist.

Siehe auch

Einzelnachweise

  1. Das Barrelfish-Betriebssystem (englisch)
  2. Baumann et. al: The Multikernel: a new OS architecture for scalable multicore systems, erschienen im 22. Treffen über die Prinzipien der Operationssysteme (2009) (PDF, englisch)

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Multikernel — A multikernel operating system treats a multicore machine as a network of independent cores in other words, as if it were a distributed system. It does not assume shared memory but rather implements inter process communications as message passing …   Wikipedia

  • Distributed operating system — A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and spatially disseminated computational nodes.[1] Individual system nodes each hold a discrete… …   Wikipedia

  • Barrelfish — Barrelfish  экспериментальная операционная система, созданная в Высшей технической школе Цюриха совместно с компанией Microsoft Research из Кембриджа.[1][2][3] Эта экспериментальная операционная система разработана с нуля для эффективной… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”