Bin total erstaunt!!!

@ Thorongil
Über BSD lesen hilft in dem Falle nicht viel, der Mach-Kernel verwaltet den Speicher komplett anders, als der BSD-Kernel.


Ich habe hier einen alte Dokumetation zu NeXTStep, bei der genau das (große Mengen Daten ohne Zeitverlust durch die Zwischenablage kopieren) als Beispiel für das Kernel-Features Copy-on-write gebracht wird.
 
Du weißt aber schon, wie alt das ist, und dass das kein "Alleinstellungsmerkmal" mehr ist? Solche Mechanismen sind "akzeptierte Lehrbuchmeinung" und in jedem modernen OS zu finden...
 
Ich unterbreche euren kleinen Disput nur ungern. Ich wollte nur mal kurz darauf hinweisen, dass Mach nicht der Kernel von OSX ist. Das ist XNU. XNU basiert zwar auf Mach, ist aber kein Microkernel.

Ich dachte hier kennt jeder hier kennt http://www.kernelthread.com/mac/osx/arch_xnu.html bereits auswenidig... ;)
 
Zuletzt bearbeitet von einem Moderator:
... was hier fehlt, ist eindeutig der :ugly: Smily.

Wer hätte noch bei OS 9 - wo die komplizierteste Operation "am offenen Herzen" noch das Verschieben von Systemerweiterungen war - je gedacht, daß mal /.-taugliche Uber-Nerd Diskussionen unter dem Zeichen des Apfels stattfinden würden. :D
 
@ KAMiKAZOW
Ist in dem Falle aber egal, weil es sich um eine Feature des Mach-Teils von XNU handelt.

@ Thorongil
Einmappen von Speicherbereichen eines externen Prozesses in den Speicherbereich einer Anwendung und dann einfach Zeiger darauf weiterzugeben, ist auf Applikations-Ebene natürlich möglich. (Auch unter Mac OS Classic, nicht umsonst gibt es einen Teil des Systems mit dem Namen Code Fragment Manager).
Bei BSD und bei Linux beispielsweise scheint es das aber auf Kernel-Ebene so nicht zu geben. (Bei BSD habe ich es letztens noch nachgelesen.)
Beim Mach ist es aber so, dass z.B., wenn eine zweite Instanz eines Programms gestartet wird (z.B. eine Shell und eine Kind-Shell) diese zweite Instanz gar nicht mehr geladen wird, sondern einfach nur auf die Pages der schon geladenen Instanz verwiesen wird. Bei BSD wird für die zweite Instanz im Speicher eine komplette Kopie erzeugt, bei Mach einfach nur eine Page mit einem Pointer erzeugt.
 
Zuletzt bearbeitet von einem Moderator:
KAMiKAZOW schrieb:
Ich unterbreche euren kleinen Disput nur ungern. Ich wollte nur mal kurz darauf hinweisen, dass Mach nicht der Kernel von OSX ist. Das ist XNU. XNU basiert zwar auf Mach, ist aber kein Microkernel.

Ich dachte hier kennt jeder hier kennt http://www.kernelthread.com/mac/osx/arch_xnu.html bereits auswenidig... ;)

Das ist genau das was ich meinte, mit der Kombination aus monolitischen und Client-Server-System, sprich BSD und Mach.

Und das die Zwischenablage keine Kernel-Funktion ist, ist selbst mir klar. Aber durch Unterstützung von Kernel-Funktionen wie copy-to-write kann die Performance von Prozessen in der Anwendungsschicht stark verbessert werden, was unter OS X ja der Fall zu sein scheint.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten