![]() |
Zitat:
Aber Jörg glaub mir - Mac OS X ist vom Betriebssystem her deutlich moderner als Linux. Linux hat eine monolithische Kernel Architektur (zumidest die üblichen Distributionen) , während Mac OS X den aus NextStep übernommenen Mach Kernel besitzt. Das ist ein sog. Micro-Kernel. Dazu gibt es eine berühmte Debatte im Usenett, zwischen Torvalds und Tannenbaum (Betriebsystempabst) die praktisch jeder kennt, der sich mit Betriebsystemen beschäftigt. Das war 1992 und der Titel ist "Linux is obsolet". Dabei ging es um Micro-Kernel vs. monolithischer Kernel. Soweit ich weiß, ist es aktuell so, dass auch Mac OS X keinen reinrassigen Microkern hat. Das gleiche gilt für NT. Soweit ich weiß ist der aktuelle Stand, dass sowohl Gerätetreiber als auch Interprozesskommunikation im Kern sitzen, nur der Rest draussen ist. Bei NT war es zumindest zeitweise so, dass auch GDI (also das Grafik Zeugs) im Kern war. Ob das immer noch so ist, weiß ich nicht. Diese Mischformen nennt man übrigens "Hybridkernel". Für den Anwender hat das vor allem die Folge, dass z.B. schlecht programmierte Gerätetreiber die Stabilität des Systems beeinflussen können. Und das "vereinfacht gesagt" viel mehr Code als eigentlich nötig in einem Bereich ausgeführt wird, der nicht "unterbrechbar" ist, es leidet also eine gewisse "Gelichzeitigkeit und Reaktionsfreudigkeit darunter. Möglicherweise war das jetzt etwas off-topic :Lachanfall: , ich bin da nur etwas "empfindlich", weil es Gruppen gibt, die einem alten Wein in alten Schläuchen gerne als neu verkaufen aber hinten und vorne keine Ahnung haben von was sie da eigentlich reden - damit meine ich nicht dich :Blumen: |
Zitat:
|
Zitat:
Der Unterschied zwischen MicroKernel und monolithischem Kernel ist mir bekannt, in Linux hat man versucht, die Nachteile des m.K. durch eine Auslagerung der Treiber aus dem eigentlichen Kernel (Module) zu umgehen. Ich bin mir aber nicht sicher, ob OS-X nicht auf BSD beruht. |
Zitat:
EDIT: http://www.bsd.org/ |
Zitat:
|
Das hier
Zitat:
Versteh mich nicht falsch: Das ist saubere Arbeit und absolut UNIX Standard. Nur ist es halt nach wie vor monolithisch. Monolithisch bedeutet im Kern des Konzeptes auch auch nicht, dass man den Kern neu linken muss wenn man nen neuen Treiber einbinden will. Bei vielen Unixen hat man das früher so gemacht bevor es BTLD (boottime loadable drivers) gab aber das ist nicht der Grund für monolithisch oder nicht. BTLD ist ein anderes Konzept. Wobei ich bzgl. spin_lock() nicht mal sicher bin wie gut oder schlecht spin_lock() implementiert ist. Ich erinnere mich noch gut als ich mir das Threading im Linux Kernel mal vor zich Jahren angesehen habe, da war dann pthread_create() mit nem fork() implementiert .... jetzt ist das wohl (hoffentlich) anders. :Huhu: Helmut |
So schnell kan man sich weiterbilden...ich habe aus der Vorlesung "Betriebsysteme", die komplett Linux/Unix abgedeckt hat, nicht so viel mitgenommen, wie aus deinen Beiträgen :)
|
http://de.wikipedia.org/wiki/Richard_Stevens
Zitat:
Wenn Du ein Feeling für Unix kriegen möchtest arbeite mal mit diesem Buch: http://www.amazon.de/Programming-Env.../dp/0201563177 Das ist zwar ein uralt Schinken aber eines der besten Bücher in diesem Umfeld das ich kenne. Das was da bei Amazon als Author steht ist allerdings falsch. Der gute hieß Richard W. Stevens und nicht umgekehrt ;) Rich war ein Guru. Ich hatte zu meiner "wilden" Programmierer Zeit ab und an Kontakt mit Ihm - ein feiner Kerl. Leider ist er schon lange tot. Er war für mich die Nummer 1. RIP. P.S. Das ist auch nicht schlecht http://www.amazon.de/Magic-Garden-Ex...0819526&sr=1-1 als Basic und auch der Bach http://www.amazon.de/UNIX-Wie-funkti...0819568&sr=8-4 Alle schon recht alt aber halt Basic und die Konzepte leben immer noch. Da es jetzt ja Linux gibt, kann man sogar im Kernel Code schauen was passiert .... Aber das ist jetzt wirklich OT ... wobei. Wenn man es verstanden hat, versteht man auch warum man besser 4GB nimmt als 2 ... |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 21:25 Uhr. |
Powered by vBulletin Version 3.6.1 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.