Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Umfragen Hier kannst Du zu Umfragen Deine Stimme abgeben, diskutieren und die Ergebnisse einsehen.

Microkernel vs monolithischer Kernel

Diskussion: Microkernel vs monolithischer Kernel im Forum Umfragen, in der Kategorie Sonstiges; Anzeige Hallo an alle (vor Allem an die Unix-Nutzer) , ich wollte mal eine Diskussion zu einem beliebten Streitpunkt der ...

Umfrageergebnis anzeigen: Microkernel vs Monolithischer Kernel
Microkernel ist besser 23 71,88%
Monolithischer Kernel 4 12,50%
Was sind`n das für Dinger? Kann man das essen :-)? 5 15,63%
Teilnehmer: 32. Sie dürfen bei dieser Umfrage nicht abstimmen

Antwort
Alt 08.03.11, 11:47   #1 (permalink)
 
Benutzerbild von Open_Geek
 
Registriert seit: 19.02.11
Open_Geek Leistung: Facit NTK
Likes: 1
Standard Microkernel vs monolithischer Kernel

Anzeige

Hallo an alle (vor Allem an die Unix-Nutzer),
ich wollte mal eine Diskussion zu einem beliebten Streitpunkt der Betreibssystementwicklung starten.
Was findet ihr besser: Microkernel oder monolithischer Kernel?
Ich bin schon gespannt auf das Ergebnis

Open_Geek ist offline   Mit Zitat antworten
Alt 08.03.11, 12:13   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Dass monolithische Kernel ab einer gewissen Größe kaum noch überschaubar sind, beweist Linux in letzter Zeit zur Genüge. Es schleichen sich mehr und mehr Sicherheitslücken ein, weil Module auf die auf interne Funktionen des Kernels zugreifen können, anstatt über klar definierte Schnittstellen mit diesem zu kommunizieren. Die Wartbarkeit des Codes leidet darunter, wenn uralte Schnittstellen existieren, die kaum noch genutzt und noch seltener bei Code-Reviews in Augenschein genommen werden. Monolithische Kernel machen daher nur Sinn, wenn eh nur eine begrenzte Menge an Hardware, Protokollen, Dateisystemen etc. unterstützt werden müssen, der Code also im Wachstum begrenzt ist.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 08.03.11, 12:35   #3 (permalink)
Themenstarter
 
Benutzerbild von Open_Geek
 
Registriert seit: 19.02.11
Open_Geek Leistung: Facit NTK
Likes: 1
Standard

Genau das habe ich kürzlich beim Durchsehen des Linux-Sourcecodes auch bemrkt. Ich habe ein Projekt von GNU gefunden, das zwar schon ewig existiert und das ja auch der Anfang von GNU war: den GNU Mach(der Microkernel für das GNU-Operating-System) und die Serversammlung dafür, den GNU Hurd. Es gibt auch schon ein Debian/GNU Hurd.
Ich habe diese Umfrage gestartet, weil ich wissen wollte, ob es sich lohnt, bei dem GNU/Hurd mitzuarbeiten, da sich das Projekt noch in der Entwicklungsphase befindet. Der Sourcecode ist jedenfalls sehr viel übersichtlicher(und daher auch leichter verbesserbar)als bei Linux, das merkt man schon beim ersten Lesen. Ich hoffe, es kommen weiter Meinungen dazu!
Open_Geek ist offline   Mit Zitat antworten
Alt 08.03.11, 12:54   #4 (permalink)
 
Registriert seit: 06.05.04
RedEagle Leistung: Facit NTK
RedEagle eine Nachricht über ICQ schicken
Likes: 0
Standard

Bei einem PC ist ein Microkernel auf jeden Fall sehr empfehlenswert. Er ist leichter zu plege, komponengten lassen sich leichter vollständig austauschen und die sind deutlich flexibler. Es gibt so viel verschiedene Hardware-komponenten für PCs, aber wer hat die schon alle bei sich zu Hause. Warum sollte man dann für alles Treiber an Bord haben. Das verursacht nur instabilität, unsicherheit und geschwindigkeits-einbußen.

Außerhalb von Computern halte ich monolithische Kernel aber für durchaus sinnvoll. Vor allem bei kleingeräten wie mp3-playern, Navigationsgerätzen o.ä. Hier Läuft das System auf immer gleichen Geräten, oder welchen die sich nur minimal unterscheiden. Auch ist die Anzahl der nötigen Treiber deutlich geringer.

Naja, ich habe meine Stimme jedenfalls für den Microkernel abgegeben Für den PC ist das Konzept auf jedenfall deutlich besser geeignet als ein monolithischer
RedEagle ist offline   Mit Zitat antworten
Alt 08.03.11, 14:25   #5 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Zitat:
Zitat von Open_Geek Beitrag anzeigen
Ich habe diese Umfrage gestartet, weil ich wissen wollte, ob es sich lohnt, bei dem GNU/Hurd mitzuarbeiten, da sich das Projekt noch in der Entwicklungsphase befindet.
*dafür*
beavisbee ist gerade online   Mit Zitat antworten
Alt 08.03.11, 16:14   #6 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Also mir stellt sich bei der Mitarbeit bei einem Projekt eher selten die Frage ob es sich lohnt. Viel wichtiger ist doch: Würde es dir Spass machen? Siehst du deine Interessen in dem Projekt vertreten (also hälst du einen Microkernel für eine gute Sache)?
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 08.03.11, 16:59   #7 (permalink)
Themenstarter
 
Benutzerbild von Open_Geek
 
Registriert seit: 19.02.11
Open_Geek Leistung: Facit NTK
Likes: 1
Standard

Klar würde es mir Spass machen, sonst hätte ich wahrscheinlich gar nicht nach eurer Meinung gefragt
Ich habe auch geglaubt, dass ein Microkernel ein hohes Potenzial hat, aber ich wollte mich trotzdem mal erkundigen, falls ich (mal wieder) falsch liegen sollte.
Open_Geek ist offline   Mit Zitat antworten
Alt 08.03.11, 20:13   #8 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Imho wurde(und wird immer noch) den Microkerneln zu wenig Aufmerksamkeit geschenkt. Zu den Nachteilen des monolytischen Kernels wurde schon zur genüge gesagt - und das wurde afaik vom Tanenbaum seit Jahrzehnten gepredigt[0]
Nur weil mono-Kernel mal bei <100 Mhz CPUs schneller lief, muss man sich nicht ewig daran festhalten . Sein Vorzeigesystem Minix wird zwar immernoch "kritisiert" - aber mal ehrlich, bei der Entwicklermenge Minix vs. Entwicklermenge *Nix machen die meisten "Praxistauglichkeitsvergleiche" keinen Sinn.

Das (theoretisch) beste an Microkerneln: für den Kernel selbst lässt sich die Fehlerfreiheit relativ einfach nachweisen:
Zitat:
Zitat von wikipedia
Im Jahre 2009 wurde am Forschungsinstitut NICTA in Zusammenarbeit mit der UNSW mit seL4 erstmals ein für allgemeine Anwendungen tauglicher Betriebssystemkern formal verifiziert, d.h. es wurde mathematisch bewiesen, dass die Implementierung die Spezifikation des Kerns erfüllt und somit funktional korrekt ist. Dies bedeutet unter anderem, dass der Kern nachweislich keinen der bisher verbreiteten Entwurfsfehler (Speicherüberläufe (Buffer Overflow), Zeigerfehler und Speicherlecks) enthält.
Ich wäre eigentlich auch dafür, bei Kerneln&Co endlich mal von C abzukehren (es wird sowieso Zeit für eine modernere Low-Level-Sprache), aber das wäre wohl zu viel verlangt

[0]http://groups.google.com/group/comp....47530d082cd95d
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 08.03.11, 21:01   #9 (permalink)
Member of Honour
 
Benutzerbild von xrayn
 
Registriert seit: 05.03.08
xrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteron
Likes: 246
Standard

Formal bewiesene Systeme bringt keine zusätzliche Sicherheit. Zum einen weil nur Dinge bewiesen wurden, die vorher spezifiziert wurden, zum anderen weil man eine Reihe von Annahmen trifft, wie: Compiler arbeitet korrekt oder das die Hardware korrekt funktioniert. Das beide Annahmen falsch sind, hat die Vergangenheit gezeigt und da macht es nichts, wenn formal bewiesen wurde, dass der Kernel keine Integeroverflows besitzt, diese aber durch einen Hardwarefehler produziert werden können. Wenn ein solcher Kernel benutzt werden soll, wird man nicht umhinkommen, dass Software von Dritten erlaubt, welche dann wieder ein erhebliches Sicherheitsrisiko mit sich bringen.

Außerdem wurden nur 7500/8700 Zeilen bewiesen
xrayn ist offline   Mit Zitat antworten
Alt 08.03.11, 21:45   #10 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Zitat:
Zitat von xrayn Beitrag anzeigen
Außerdem wurden nur 7500/8700 Zeilen bewiesen
Kommentare, Präprozessoren etc. können in den 8700 Zeilen noch drin sein, steht da ja nicht
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 08.03.11, 23:18   #11 (permalink)
Member of Honour
 
Benutzerbild von xrayn
 
Registriert seit: 05.03.08
xrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteron
Likes: 246
Standard

Nein, es ging wirklich um die Zeilen an Code. Es wurde gesagt, dass diese Zeilen lediglich dafür zuständig seien, dass das System überhaupt bootet. Da dieser Code nur einmalig ausgeführt wird, wahr er es nicht wert bewiesen zu werden. Und genau solche Annahmen führen früher oder später dann doch zu Bugs
xrayn ist offline   Mit Zitat antworten
Alt 09.03.11, 00:11   #12 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Zitat:
Zitat von xrayn Beitrag anzeigen
Formal bewiesene Systeme bringt keine zusätzliche Sicherheit.
Naja, das wäre schon mal ein guter Start, wenn man zumindest teilweise Entwurfsfehler/Implementierungen ausschließen kann . Allgmein hält sich der Kernelcode doch sehr in Grenzen, was das auditen ziemlich erleichtern sollte.

Zitat:
Compiler arbeitet korrekt oder das die Hardware korrekt funktioniert.
Bei Hardware lässt sich eher nichts machen, aber ein Stichwort zum Compiler wäre Ada & Compilervalidierung (*denkt gerade an "gcc -O3" * )

Und allgemein denke ich bei Micorkerneln nicht nur an "anit-rooting" Sicherheit, sondern auch an ganz normale Systemstabilität
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 09.03.11, 00:19   #13 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Zitat:
Zitat von CDW Beitrag anzeigen
Allgmein hält sich der Kernelcode doch sehr in Grenzen, was das auditen ziemlich erleichtern sollte.
Genau das sprichst du den springenden Punkt an. Ein kleiner Kernel beinhaltet schon aufgrund der Menge des Codes weniger potentielle Fehlerquellen und weniger Angriffspunkte. Das kommt sowohl der Systemsicherheit als auch der Systemstabilität sehr zugute. Unter monolithischen Systemen wie Linux kann jeder x-beliebige Treiber einen Kernel-Crash verursachen, Rechte umgehen etc., was bei einem Microkernel nicht mehr so einfach zu machen ist, da alles, was darauf aufsetzt, klar definierte Schnittstellen nutzen muss. Sind diese sauber definiert, kann ein Treiber kaum noch Schaden verursachen. Um das zu verstehen braucht man auch keine großartigen mathematischen Beweise. Da reicht etwas gesunder Menschenverstand und technisches Verständnis.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 09.03.11, 09:41   #14 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

auch nicht zu verachten ist die tatsache dass das nachladen von modulen selbst zum sicherheitsproblem werden kann, wenn ein solches modul jemandem "untergejubelt" wird ...

microkernel habe unstrittig den architekturvorteil, dass man über die schnittstellen das ganze recht sauber halten kann, und der kern selbst besser überwacht werden kann ... wenn man nun noch eine digitale signatur für module verbindlich fordert und nach dem signieren der module den signaturschlüssel vernichtet, oder zumindest physikalisch aus der zugriffsreichweite entfernt (datenträger im tresor, etc.) hat man schon eine menge getan um es einem angreifer zu erschweren code mit kernel rechten auszuführen
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Alt 09.03.11, 22:16   #15 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Eins vorweg: Ja ich weiss, dass der NT-Kernel monolithisch ist (mehr oder weniger), ...


... aber dé facto haben wir bei der aktuellen Revision (NT 6.1) schon einige der hier angesprochenen Punkte teilweise umgesetzt:
-Signaturzwang für Treiber, momentan noch deaktivierbar, aber ich gehe davon aus, dass bei spätestens der übenächsten Windowsversion man den Kernel cracken muss um den Signaturzwang zu umgehen
-Zumindest einige Treiber (bspw. Grafikkartentreiber) können unter NT 6.1 das System beim Ableben am Leben lassen. Funktioniert noch nicht ganz excellénte, aber schon recht ordentlich.

Definierte Schnittstellen hat man zumindest bei Win ja schon, afaik kann ich auch als Treiber nicht einfach Interne Funktionen aufrufen - auch oder gerade weil die Parameter unbekannt sein dürften...
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Antwort

Stichworte
microkernel, monolithischer kernel
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Sonstiges » Umfragen » Microkernel vs monolithischer Kernel
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61