URL: https://www.overclockers.at/windows/64_bit_os_und_32_bit_anwendung_210502/page_1 - zur Vollversion wechseln!
Abend!
Wenn ich z.B. ein 64 Bit OS ala Vista oder Windows 7 habe, kann dann eine 32 Bit Anwendung mehr als die 2 GB Arbeitsspeicher bekommen.
iirc war doch das Limit OSseitig bei der 32 Bit Version oder?
Tia
mfg
Die 32bit Anwendung kann maximal bis zu 4GB bekommen, allerdings nur dann, wenn sie mit dem LARGE ADDRESS AWARE flag kompiliert wurde.
//edit: siehe dazu bspw. hier http://support.microsoft.com/kb/889654 (erste Tabelle, Virtual address space per 32-bit process)
Nein, wenn sie es vorher nicht konnte kann sie's nachher immer noch nicht, weils immer noch ein 32 Bit Binary ist das in einer 32 Bit Emulation läuft.
Zitat von SpikxDie 32bit Anwendung kann maximal bis zu 4GB bekommen, allerdings nur dann, wenn sie mit dem LARGE ADDRESS AWARE flag kompiliert wurde.
danke mal für die antworten
bin da eigentlich nicht so ein freund von herumtricksen
hoffe einfach dass matlab etc. entsprechend kompiliert wurden (denke bei diesen anwendungen macht es auch sinn)
4 GB sind ja auch nicht greade viel, schafft da linux eventuell mei afaik waren es ja da bei 32 bit schon 3 gb
Abgesehen davon kann Win7 u. Vista 32 bit 3GB verwalten u. nicht 2GB
Das hat aber nichts mit der Fragestellung hier zu tun.Zitat von APEXiAbgesehen davon kann Win7 u. Vista 32 bit 3GB verwalten u. nicht 2GB
Ist der Large Aware Address Space unter Windows nicht auch auf 3GB begrenzt, so wie unter Linux?
@t3mp: Emulation würde ich das aber nicht nennen, immerhin macht das die CPU nativ und verwendet dafür zu >99% die gleichen Transistoren wie für den 64bit-Modus.
http://www.overclockers.at/operatin...595#post2885595 -> http://support.microsoft.com/kb/889654 ;PZitat von RingdingIst der Large Aware Address Space unter Windows nicht auch auf 3GB begrenzt, so wie unter Linux?
Also nicht
Bei genauerem Nachdenken merke ich, dass ich gar nicht weiß, wie es unter 64bit-Linux ist...
Trotzdem muss das Betriebssystem die alte 32 bit Umgebung nachbilden damit (die meisten) Programme ohne Änderung laufen, WoW64 bezeichnet man aber besser als translation layer wie hier beschrieben: http://en.wikipedia.org/wiki/WOW64Zitat von Ringding@t3mp: Emulation würde ich das aber nicht nennen, immerhin macht das die CPU nativ und verwendet dafür zu >99% die gleichen Transistoren wie für den 64bit-Modus.
http://en.wikipedia.org/wiki/X86_64#LinuxZitat von RingdingBei genauerem Nachdenken merke ich, dass ich gar nicht weiß, wie es unter 64bit-Linux ist...
Zitat64-bit Linux allows up to 128 TB (140,737,488,355,328 bytes) of address space for individual processes, and can address approximately 64 TB (70,368,744,177,664 bytes) of physical memory, subject to processor and system limitations.
@Ringding:
die 3GB sind ein x86 Limit (MMU und so), da man bei 32-bit Adressraum auch was für den Kernelspace übrig lassen muß. Unter Linux kann man sich das mapping und die Aufteilung selbst aussuchen (1GB:3GB (meistens default für Desktop),2GB:2GB,3GB:1GB). Mit PAE (=page address extensions) sieht der Kernel 64GB Speicher gesamt, aber die Applikationen können aufgrund IC-Länge nicht mehr als 4GB sehen.
Ja, das weiß ich eh; ich habe mich nur gefragt, ob der 64bittige Linux-Kernel auch das eine GB im Adressraum seiner Prozesse braucht oder nicht. Nachdem es bei Win64 anscheinend nicht so ist? Auch wenn ich mir das jetzt nicht so ganz veranschaulichen kann; hab mich aber mit x86_64 auf der Systemebene noch nicht befasst.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025