SNOW LEOPARD - ohne Carbon? Keine alten Apps mehr?

Status
Für weitere Antworten geschlossen.
Der Kernel von Snow Leopard wird weder rein 64 noch rein 32 bittig. Er hat wohl beide Varianten wie üblich in OS X.
Woher genau ist diese Info?

Die Links, die Du gepostet hast, haben alle nichts mit dem von mir beschriebenen Problem zu tun.
Du kannst auch im Userspace in eine 64 Bit App keine 32 Bit Erweiterungen laden. Das kannst Du auch schon unter Leopard mit einer beliebigen Library ausprobieren.

Beruflich für OS X oder Windows?
Allein die Frage ist eine Beleidigung :Pah:

Alex
 
Universal Binaries ;) OS X lädt die Variante (64, 32, PPC, Intel) des Codes, der gerade paßt. Die Treiber werden wohl wie bisher in 32 und zusätzlich in 64 Bit vorliegen in Snow Leo. Die Variante, die aktuell benötigt wird, wird geladen.
 
Universal Binaries ;) OS X lädt die Variante (64, 32, PPC, Intel) des Codes, der gerade paßt. Die Treiber werden wohl wie bisher in 32 und zusätzlich in 64 Bit vorliegen in Snow Leo. Die Variante, die aktuell benötigt wird, wird geladen.

:hamma:

Ja, natürlich!

Aber das bedeutet, dass es für den 64 Kern erstmal eine 64 Bit Variante geben muss! Im Moment sind alle Kerneltreiber für OS X 32 Bit.

Alex
 
… Im Moment sind alle Kerneltreiber für OS X 32 Bit. …

Tatsache? Dann schauen wir mal nach, was alles in den Kernel-Extensions von 10.5.4 als 64-Bit-Binary vorliegt:

Code:
find /System/Library/Extensions -type f -print0 | xargs -0 file | egrep 'ppc64|x86_64'
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleIntelGMA950GLDriver.bundle/Contents/MacOS/AppleIntelGMA950GLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleIntelGMAX3100GLDriver.bundle/Contents/MacOS/AppleIntelGMAX3100GLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleRAIDCard.kext/Contents/PlugIns/AppleRAIDCardLib.plugin/Contents/MacOS/AppleRAIDCardLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/AppleRAIDCard.kext/Contents/PlugIns/AppleRAIDCardLib.plugin/Contents/MacOS/AppleRAIDCardLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleUSBMultitouch.kext/Contents/PlugIns/MultitouchHID.plugin/Contents/MacOS/MultitouchHID (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/AppleUSBMultitouch.kext/Contents/PlugIns/MultitouchHID.plugin/Contents/MacOS/MultitouchHID (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AppleVADriver (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AppleVADriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AppleVADriverG5 (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AVA_HD_I5.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library ppc64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AVA_HD_P5.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library ppc64
/System/Library/Extensions/AppleVADriver.bundle/Contents/MacOS/AVA_HD_x86.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Extensions/ATIRadeon9700GLDriver.bundle/Contents/MacOS/ATIRadeon9700GLDriver (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/ATIRadeonX1000GLDriver.bundle/Contents/MacOS/ATIRadeonX1000GLDriver (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/ATIRadeonX1000GLDriver.bundle/Contents/MacOS/ATIRadeonX1000GLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/ATIRadeonX2000GLDriver.bundle/Contents/MacOS/ATIRadeonX2000GLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/GeForce7xxxGLDriver.bundle/Contents/MacOS/GeForce7xxxGLDriver (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/GeForce7xxxGLDriver.bundle/Contents/MacOS/GeForce7xxxGLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/GeForce8xxxGLDriver.bundle/Contents/MacOS/GeForce8xxxGLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/GeForceFXGLDriver.bundle/Contents/MacOS/GeForceFXGLDriver (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/GeForceFXGLDriver.bundle/Contents/MacOS/GeForceFXGLDriver (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOFireWireAVC.kext/Contents/PlugIns/IOFireWireAVCLib.plugin/Contents/MacOS/IOFireWireAVCLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOFireWireAVC.kext/Contents/PlugIns/IOFireWireAVCLib.plugin/Contents/MacOS/IOFireWireAVCLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns/IOFireWireLib.plugin/Contents/MacOS/IOFireWireLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns/IOFireWireLib.plugin/Contents/MacOS/IOFireWireLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOFireWireSBP2.kext/Contents/PlugIns/IOFireWireSBP2Lib.plugin/Contents/MacOS/IOFireWireSBP2Lib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOFireWireSBP2.kext/Contents/PlugIns/IOFireWireSBP2Lib.plugin/Contents/MacOS/IOFireWireSBP2Lib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext/Contents/PlugIns/SCSITaskUserClient.kext/Contents/PlugIns/SCSITaskLib.plugin/Contents/MacOS/SCSITaskLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext/Contents/PlugIns/SCSITaskUserClient.kext/Contents/PlugIns/SCSITaskLib.plugin/Contents/MacOS/SCSITaskLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle/Contents/MacOS/IOUSBLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
/System/Library/Extensions/SMARTLib.plugin/Contents/MacOS/SMARTLib (for architecture ppc64):	Mach-O 64-bit bundle ppc64
/System/Library/Extensions/SMARTLib.plugin/Contents/MacOS/SMARTLib (for architecture x86_64):	Mach-O 64-bit bundle x86_64
 
Welche kext eines Third Party Anbieters ist schon 64 Bit?

EDIT: Glaub mir, das werden sie nicht von Zauberhand

Alex
 
Da Du ja Kernelerweiterungen für OS X – laut Deiner Aussage – beruflich erstellst, kannst Du bestimmt erklären, warum der 32-Bit-Kernel von 10.5 (Leopard) mit den obigen 64-Bit-Kexts arbeiten kann, aber – laut Deiner Aussage – der 64-Bit-Kernel von 10.6 (Snow Leopard) mit 32-Bit-Kexts nicht.

PS: "Glaub mir" ist keine hinreichende Begründung.
 
Da Du ja Kernelerweiterungen für OS X – laut Deiner Aussage – beruflich erstellst, kannst Du bestimmt erklären, warum der 32-Bit-Kernel von 10.5 (Leopard) mit den obigen 64-Bit-Kexts arbeiten kann, aber – laut Deiner Aussage – der 64-Bit-Kernel von 10.6 (Snow Leopard) mit 32-Bit-Kexts nicht.

Wie kann der 32 Bit Kern mit 64 Bit Kexts arbeiten? :confused: Die kexts in 10.5 enthalten auch alle 32 Bit Code.

Mit 10.5 lassen sich die Apple Samples für kexts gar nicht ohne weiteres in 64 Bit bauen

Du kannst es aber gerne ausprobieren: Bau eine 64 Bit only kext in Leopard, oder strippe die 32 Bit Binaries raus, und kuck mal, ob sie lädt.

Alex

Und das mit "laut Deiner Aussage" finde ich einen ziemlich harten Angriff
 
Da habe ich noch ein paar Fragen:
a) Warum liegen Deiner Meinung nach die oben gelisteten 38 Kext-Binaries in 64 Bit vor in 10.5?
b) Offenbar war Apple in der Lage, die oben gelisteten 38 Kext-Binaries in 64 Bit mit 10.5 zu bauen. Warum kann man das "nicht ohne weiteres", wenn Apple es kann?
c) Wenn die oben gelisteten 38 Kext-Binaries in 64 Bit nie verwendet würden, warum gibt es sie dann?

PS: "Laut Deiner Aussage" ist kein Angriff, sondern daß das Einzige, was mir zur Verfügung steht.
 
Da habe ich noch ein paar Fragen:
a) Warum liegen Deiner Meinung nach die oben gelisteten 38 Kext-Binaries in 64 Bit vor in 10.5?
Diese Extensions werden nicht im Kernel Mode, sondern im UserLand geladen. Beispiel:
/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext/Contents/PlugIns/SCSITaskUserClient.kext/Contents/MacOS/SCSITaskUserClient

Auch die anderen den 38 angezeigten Erweiterungen laufen im Userland, im 10.5 Kern läuft nichts in 64 Bit. Diese Info habe ich mir gerade noch mal per Chat aus 2 Infinite Loop bestätigen lassen.

b) Offenbar war Apple in der Lage, die oben gelisteten 38 Kext-Binaries in 64 Bit mit 10.5 zu bauen. Warum kann man das "nicht ohne weiteres", wenn Apple es kann?
Siehe a), es sind keine Kernel Extensions
c) Wenn die oben gelisteten 38 Kext-Binaries in 64 Bit nie verwendet würden, warum gibt es sie dann?
Siehe a)

Alex
 
@MacMark & below

...könnt ihr solche "Dialoge" nicht per PN regeln?

...ich sehe nicht, das solche Halbinformationen irgend einen Informationswert haben.
 
Was unter /System/Library/Extensions liegt und auf .kext endet ist keine Kernel-Extension?

Welche Kernel-Extension hast Du denn beruflich erstellt? Kann ich die irgendwo sehen?
 
Zuletzt bearbeitet:
Die Datei "/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/scsi/SCSITaskLib.h" kommt in meiner Liste überhaupt nicht vor.

Natürlich ist alles, was unter /System/Library/Extensions liegt und auf .kext endet, eine Kernel-Extension!
 
Zuletzt bearbeitet:
Welche Kernel-Extension hast Du denn beruflich erstellt? Kann ich die irgendwo sehen?

Die Frage finde ich zwar ziemlich unverschämt, denn damit versuchst Du, auf einem persönlichen Level meine Kompetenz anzugreifen. Aber bitte:

http://www.ciprico.com/solutions-mediavault_5100.html
Das kleine Äpfelchen neben dem Windows und dem Linux Logo, das ist von mir.
http://www.ciprico.com/News/Releases/FY08/CipricoMV5116atMacWorld.pdf

Falls das noch nicht reicht: Ich kenne die Leute in Building 2, "CoreOS" (die schreiben den Darwin Kern) persönlich, und bezeichne manche davon als "gute Freunde". Sowas muss ich nicht raushängen lassen, aber da Du meine Kompetenz offenbar bezeifelst ... :rolleyes:

Alex
 
Die Datei "/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/scsi/SCSITaskLib.h" kommt in meiner Liste überhaupt nicht vor.
Ja, weil die Datei keine Extension ist, sondern eine Beschreibung des Programmier-Interfaces zu der SCSITaskLib-Extension.
Ehrlich, wenn du nicht mal weißt, was ein Header-File ist, zeigt das schon, dass du nicht ansatzweise die Kompetenz hast, hier ernsthaft über die Thematik zu diskutieren (das ist jetzt nicht böse gemeint). Und nebenbei wird dir jeder, der halbwegs in der Materie drinsteckt, bestätigen können, dass below recht hat.
 
Ja, weil die Datei keine Extension ist, sondern eine Beschreibung des Programmier-Interfaces zu der SCSITaskLib-Extension…

Ich habe von dieser Datei nie behauptet, sie wäre etwas anderes. Im Grunde habe _ich_ nie von dieser Datei gesprochen. Schau Dir oben meine Liste an.

Er kann so viele Freunde bei Apple haben, wie er möchte. Tatsache ist, daß alles, was unter /System/Library/Extensions liegt und auf ".kext" endet, Kernel-Extensions sind. "below" bestreitet das. Die Kompetenzfrage stellt sich mir da nicht mehr.
 
Erstens wäre es nur fair, wenn Du kurz einen Link zu Deinen Kernel Projekten postest. Quid pro Quo.

Zweitens: "Tatsache ist, daß alles, was unter /System/Library/Extensions liegt und auf ".kext" endet, Kernel-Extensions sind." Sagt wer?
Die Leute, die den Kern schreiben sagen: Im 10.5er Kern läuft nichts in 64 Bit. Ich halte das für eine ganz definitive Aussage.

Wenn Du etwas lernen, und Dich nicht sinnlos mit mir streiten willst, dann lies etwas über Kernel Extensions und User Clients. Diese User Client laufen im Userland, und müssen daher in Leopard auch in 64 Bit vorliegen, sonst könnten sie nicht von 64 Bit Apps verwendet werden.

Alex
 
MacMark schrieb:
Ich habe von dieser Datei nie behauptet, sie wäre etwas anderes. Im Grunde habe _ich_ nie von dieser Datei gesprochen. Schau Dir oben meine Liste an.
...

Diese Datei ist die *Dokumentation* zu einer der Dateien in deiner Liste. Und in dieser Dokumentation steht (wie von below zitiert) drin, dass besagte Datei ein *non-kernel Interface* ist, i.e. dass sie *nicht* im Kernel läuft. Ist das denn so schwer zu verstehen?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten