triathlon-szene.de |  Europas aktivstes Triathlon  Forum

triathlon-szene.de | Europas aktivstes Triathlon Forum (https://www.triathlon-szene.de/forum/index.php)
-   Politik, Religion & Gesellschaft (https://www.triathlon-szene.de/forum/forumdisplay.php?f=30)
-   -   Apple-User bitte meldet euch (https://www.triathlon-szene.de/forum/showthread.php?t=13367)

Helmut S 09.04.2010 10:17

Zitat:

Zitat von Joerg aus Hattingen (Beitrag 373394)
Bin überzeugter Linuxer und seitdem ich mehrmals an dem MB einer Bekannten gearbeitet habe, finde ich persönlich, dass Linux das bessere System ist Obwohl beide OS UNIX Derivate sind.

Du sprichst wohl von der graphischen Benutzeroberfläche und nicht vom Betriebssystem, was zugegebenermaßen für einen Anwender nicht wirklich a) zu unterscheiden und b) relevant ist (also der Unterschied zw. System und GUI). Dazu meine ich: Mei, wie man's halt gelernt hat. ;) Ich bin da recht ergebnisoffen und eigentlich ist's mir Wurscht. ;)

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:

cabby 09.04.2010 11:39

Zitat:

Zitat von Joerg aus Hattingen (Beitrag 373394)
Bin überzeugter Linuxer und seitdem ich mehrmals an dem MB einer Bekannten gearbeitet habe, finde ich persönlich, dass Linux das bessere System ist Obwohl beide OS UNIX Derivate sind.

Und auch noch so günstig...fg*

Joerg aus Hattingen 09.04.2010 12:13

Zitat:

Zitat von Helmut S (Beitrag 373438)
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.

Der Unterschied zwischen GUI und OS ist m.E. eigentlich nur noch bei Linux erkennbar, bei weiteren OS schmelzen beide mehr oder weniger zusammen.
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.

Helmut S 09.04.2010 13:42

Zitat:

Zitat von Joerg aus Hattingen (Beitrag 373513)
Ich bin mir aber nicht sicher, ob OS-X nicht auf BSD beruht.

Ja, tut es ursprünglich. Es gab dann mal Urheberrechtsgeschichten worauf angeblich jede original Berkley-Zeile raus gekommen ist. Als SJ dann wieder zu Apple zurück kam und die dann auch Next gekauft haben wurde da "irgendwie verschmolzen" - was und wie auch immer ;)

EDIT: http://www.bsd.org/

Helmut S 09.04.2010 13:51

Zitat:

Zitat von Joerg aus Hattingen (Beitrag 373513)
in Linux hat man versucht, die Nachteile des m.K. durch eine Auslagerung der Treiber aus dem eigentlichen Kernel (Module) zu umgehen.

Das Streams Konzept ist seit den 70ern klassisch Unix. Auch die Möglichkeit Treibermodule (auch mehrere davon) auf nen Stream zu pushen oder davon weg zu pullen. Protokollstacks werden typsicherweise so umgesetzt. Das hat aber nix mit monolithisch oder nicht zu tun. Das Zeug läuft deshalb immer noch in Kernelmode. Das ist der Punkt und hier ist Linux wie jedes andere "normale" Unix auch.

Helmut S 09.04.2010 14:12

Das hier

Zitat:

/* List of modules, protected by module_mutex or preempt_disable
* (delete uses stop_machine/add uses RCU list operations). */
ist ein Kommentar aus dem aktuellen Linux Kernel 2.6.34 rc4 (module.c). Dieses Beispiel sagt schlicht alles: preempt_disable - das ist das Kernproblem. Das ganze Modul Handling wimmelt von preempt_disable(). Und die Treiber selber wimmeln von spin_lock() Primitiven.

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

bort 09.04.2010 15:06

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 :)

Helmut S 09.04.2010 16:27

http://de.wikipedia.org/wiki/Richard_Stevens
Zitat:

Zitat von bort (Beitrag 373598)
die komplett Linux/Unix abgedeckt hat,

Naja ... "komplett" ist ein weites Feld ;)

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.