Perché Mac OS X a 32 bit può accedere a tutti i 4 GB di memoria, mentre Windows a 32 bit no?

6

Non capisco perché il kernel Mac OS X a 32 bit possa accedere a tutti i 4 GB di memoria (e anche di più) mentre Windows a 32 bit può funzionare solo con ~ 3,3 GB e per utilizzare più di 4 GB è necessario Windows a 64 bit. Anche quando Windows a 32 bit viene eseguito su hardware Mac con > Mem 4GB, ancora non usa tutto. Mi dispiace per aver parlato di Windows su questo sito :-), vorrei solo capire la differenza.

    
posta Peter Štibraný 22.09.2010 - 16:03
fonte

3 risposte

16

Lettura consigliata: Road to Mac OS X Snow Leopard: 64-bit, Santa Rosa, e altro (e il resto della serie Road to Snow Leopard ) di Prince McLean. Se non vuoi leggere così tanto, ti riassumo:

In primo luogo, devi capire che OS X non ha un singolo switch in modalità 32/64-bit come Windows; Gestirà felicemente applicazioni a 64 bit con un kernel a 32 bit, o viceversa, ed entrambi sono indipendenti da ciò che il sottosistema di memoria fisica può supportare. Intendiamoci, il testimone di app e kernel impongono limiti di memoria: un'app in esecuzione in modalità a 32 bit può indirizzare solo 4 GB di memoria virtuale indipendentemente dalla quantità installata / supportata nella macchina (anche se è possibile eseguire un Mac con molta RAM diversi processi da 4 GB completamente residenti contemporaneamente); e se il kernel è in modalità a 32 bit, può allocare solo fino a 4 GB per le sue varie strutture di dati (tabella delle pagine, tabella dei processi, tabella dei file aperti, ecc.). Questo è già un po 'diverso dal modo in cui lo fa Windows, poiché condivide lo spazio degli indirizzi tra il kernel e il processo in esecuzione, in modo che ognuno di essi ottenga solo 2 GB. Il vantaggio del metodo Windows è che non richiede un flush della cache per entrare e uscire dal kernel, rendendolo più veloce. Ma OS X ha solo bisogno di svuotare la cache se sia il programma che il kernel sono in modalità a 32-bit; se entrambi sono a 64 bit, condividono lo spazio ed evitano la penalità di velocità.

Ora, alla domanda che stai chiedendo: limiti di RAM fisica. Molti dei primi Mac Intel hanno effettivamente lo stesso limite di memoria di 3 GB che Windows a 32 bit ha, per lo stesso motivo: parte dello spazio degli indirizzi fisico di 4 GB è occupato dall'I / O mappato in memoria, in particolare dalla scheda video. Alcuni Mac successivi utilizzavano il chipset di supporto Santa Rosa, che consentiva loro di mettere l'I / O in uno spazio indirizzo separato e di utilizzare fino a 4 GB di RAM fisica. I Mac di fascia più alta (o anche più recenti) hanno PAE, che consente una quantità di RAM fisica molto maggiore. Si dice che Windows non supporta PAE nella maggior parte dei loro sistemi operativi a 32 bit a causa di problemi di compatibilità del driver. Apple controlla comunque la maggior parte dei driver pertinenti, quindi l'hanno fatto funzionare; se l'hardware lo supporta, il sistema operativo lo usa.

    
risposta data 23.09.2010 - 07:52
fonte
7

tramite link

To use PAE, operating system support is required. Intel versions of Mac OS X support PAE. The Linux kernel supports PAE as a build option and most major distributions provide a PAE kernel either as the default or as an option. FreeBSD and NetBSD also support PAE as a kernel build option.

Microsoft Windows implements PAE if booted with the appropriate option, but current 32-bit desktop editions enforce the physical address space within 4GB even in PAE mode. According to Geoff Chappell, Microsoft limits 32-bit versions of Windows to 4GB due to a licensing restriction, and Microsoft Technical Fellow Mark Russinovich says that some drivers were found to be unstable when encountering physical addresses above 4GB.

    
risposta data 22.09.2010 - 22:54
fonte
4

Da qui: link

"Windows XP Professional a 32 bit è limitato a 4 GB di spazio indirizzo. Se hai 4 GB di RAM installati, non mostrerà 4 GB in Windows. Ciò che probabilmente otterrai è la dimensione del file di paging sottratto dai 4 GB .

Alcuni di questo spazio indirizzo sono riservati per l'hardware e il sistema operativo ... quindi non avrai mai accesso ai 4GB completi. Se vuoi accedere a 4GB + di RAM ... la soluzione migliore è prendere XP Pro 64-bit ... ma funzionerà solo se la CPU P4 ha EMT64. "

Una risposta più dettagliata può essere trovata su: link

    
risposta data 22.09.2010 - 16:21
fonte

Leggi altre domande sui tag