32 oder 64 Bit?!

leibnizkeks

Querina
Registriert
13.04.06
Beiträge
182
Hallo allerseits,

ich habe heute ein neuen Macbook (standard 2 Ghz) bekommen mit Tiger drauf und einer Leopard Update DVD. Nach dem "Upgrade" auf Leopard (nicht "Löschen und Neu-Installation") frage ich mich nun, ob Leopard inzwischen 64 Bit ist? Gibt es eine Möglichkeit heraus zu finden, welche Version (32 oder 64 Bit) aktuell läuft?!

Danke & Gruß
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Theretisch kann die CPU 64 Bit, also hast du ein 64 Bit OS installiert.. sollte ja soweit Universal sein..
Nur wieviel RAM hast du in der Kiste das es was nutzt? ;)
 

leibnizkeks

Querina
Registriert
13.04.06
Beiträge
182
Erstmal danke für die schnelle Antwort.

Aber "sollte" ist so eine Sache :). Gibt es denn eine Möglichkeit heraus zu finden, ob ich wirklich ein 64 Bit OS drauf habe? Oder meinst du mit "Universal", dass Leopard 64 Bit einsetzt, sobald eine 64 Bit fähihe CPU vorhanden ist? Und zum Thema Ram: spielt das eine große Rolle bei 32 vs 64 Bit? Im übrigen werde ich mir in den nächsten Tagen ein Upgrade auf 2 GB gönnen.

Danke & Gruß
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Es müssten soweit Universal Applikationen sein das PowerPC 32/64 Bit und Intel 32/64 Bit drinnenstecken müssen. Wie man das explizit rausfinden kann weiß ich jetzt gerade nicht.
Naja der große Vorteil von 64 Bit wären jetzt das du mehr als 4 GB Ram benutzen kannst ;) Der andere Vorteil wäre das man riesige Ganzzahlen schneller miteinander verrechnen kann.
 

leibnizkeks

Querina
Registriert
13.04.06
Beiträge
182
Hmmm okay. So viel zu Vorteilen von 64 Bit. Ich war immer der Meinung dass 64 Bit fähige Prozessoren auch im Allgemeinen "schneller" wären. Danke für die Belehrung.

Dennoch: weiß sonst niemand, wo ich weiterführende Informationen des aktuellen OSX (zb wie viel Bit) herbekomme?

Danke & Gruß
 

jensche

Korbinians Apfel
Registriert
27.10.04
Beiträge
6.948
also leo läuft mit meinem Dual Core G5 (64Bit) und 10.5 GB RAM wie sau....

Dafür benutzt das System sage und Schreibe 2.5 GB RAM... wenn schon genug hat zum versauen warum nicht...
 

Mr_Blonde

Uelzener Rambour
Registriert
09.02.05
Beiträge
373
Eine einfache Möglichkeit wäre, sich schnell ein kleines C Programm zu schreiben. Da Integervariablen je nach 32 oder 64Bit Systemen eine unterschiedliche Größe haben, könnte man so herausfinden, auf wieviel Bit das System läuft.

Hier wäre der Code:
Code:
#include <stdio.h>

int main() {
  printf("Integergröße: %d\n",sizeof(int));
  return 0;
}

Auf einem 32Bit System sollte die Größe 4 Byte und auf einem 64Bit System 8 Byte sein.
Ich weiß jetzt allerdings nicht, ob man dem GCC explizit sagen muss, ob er für 32 oder 64Bit compilieren soll.

Noch eine kleine Anmerkung zu 32 vs. 64 Bit:
Beides hat so seine Vor- und Nachteile. Wie bereits schon richtig erwähnt wurde, kann mit 64Bit (> größere Zahl) mehr Speicher adressiert werden. Zudem sind Berechnungen mit großen Zahlen floter, etc. Auf der anderen Seite ist es für den Prozessor aufwändiger, mit 64it Zahlen umzugehen. Alle Register, Pfade, etc. müssen natürlich 64Bit breit sein, was einen erheblichen Mehraufwand bedeutet.
Welches nun besser ist, kommt ganz auf die Anwendung drauf an. Allgemein lässt sich sagen, dass Multimediaanwendungen besser auf 64Bit Systemen laufen. So war z.B. die Altivec Einheit des PowerPC schon lange 128Bit breit. Wenn mich nicht alles täuscht ist das bei SSE von Intel ähnlich. Wer sich näher dafür interessiert kann bei Wikipedia oder Google mal nach dem Stichwort VLIW (very long instruction word) oder eben Altivec, SSE suchen.
 
Zuletzt bearbeitet:

leibnizkeks

Querina
Registriert
13.04.06
Beiträge
182
Auch mal interessant zu wissen...

Eine letzte Frage jedoch noch. Windows (nicht schlagen bitte) bietet ja mehrere Versionen - Home, Enterprise etc blabla - aber eben differenziert in 32 und 64 Bit. Gehe ich nun richtig in der Annahme, wenn ich sage, dass Leopard quasi beides parallel ist/kann und je nach Fähigkeit des Prozesssors (PPC 32 Bit, Intel C2D 64 Bit) 32 bzw 64 Bit automatisch einsetzt/nutzt?!

Danke & Gruß
 
Registriert
01.02.07
Beiträge
2.097
Auf einem 32Bit System sollte die Größe 4 Byte und auf einem 64Bit System 8 Byte sein.
Ich weiß jetzt allerdings nicht, ob man dem GCC explizit sagen muss, ob er für 32 oder 64Bit compilieren soll.

Unter OSX kann man die Architektur, für die gcc kompilieren soll, mit -arch steuern. Mit gcc -arch x86_64 -arch ppc64 test.c würde man also für Intel/64 und PPC/64 bauen. Wenn man dein Testprogramm so übersetzt, kommt aber bei mir trotzdem 4 raus. Aber wenn man das Programm ausführen kann, hat man auf jeden Fall ne 64bit-CPU.
 
Registriert
01.02.07
Beiträge
2.097
Ups, mein Fehler. Der Datentyp 'long' ändert sich von 4 auf 8 Byte. Anstelle von

Code:
printf("%d \n",sizeof(int));

muss es

Code:
printf("%d \n",sizeof(long));

heißen.

Achso, deswegen auch LP64: 64bit longs and pointers

Jetzt stimmts jedenfalls:

Code:
$ gcc -arch x86_64 -arch i386 -o test test.c && ./test
Integergröße: 8