View Single Post
Old 05-07-2003, 08:00   #1
ezio
Senior Member
 
L'Avatar di ezio
 
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26487
Windows 32bit 64bit (x86 x64), quale scegliere, differenze prestazioni e trick

- Thread generico sulle architetture a 32/64bit: click

- Influenza della RAM video sul quantitativo di RAM di sistema disponibile: click



--------


In sintesi

- Ho Vista/7 a 32bit?
  • Memory Remapping attivato nel bios: verranno riconosciuti i 4GB ma parte di essi verranno utilizzati per l'indirizzamento della memoria video e altre periferiche, quindi il sistema operativo avrà effettivamente a disposizione per processi e programmi al massimo i soliti 3GB circa. QUI ulteriori dettagli.
  • Memory Remapping disattivato nel bios: riconosciuti e utilizzati 3GB circa

- Ho Vista/7 a 64bit?
Va attivato il Memory Remapping nel bios e verranno riconosciuti e utilizzati dal sistema operativo i 4GB di ram (o più).

Nota su alcune versioni dei sistemi operativi:
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Windows2003 Server 32bit
oppure
Window 2008 Server 32bit
oppure anche quasi tutte le versioni 2000 server 32bit (la advanced almeno, mi sembra)
permettono di avere piu' di 4GB, alcune fino a 64GB
Chissa' che sia la volta buona di smettere di pensare che 32bit=4GB massimo.
E' una battaglia persa. Il nome 32bit ha poco a che fare con l'indirizzamento. E' la dimensione del dato trattato.
E' consigliata un'attenta lettura di questo thread per informazioni tecniche e dettagliate: Click


--------

Note e risoluzione problemi riconoscimento intero quantitativo ram


- Se il sistema operativo continua a riconoscere una quantità di memoria inferiore a quella fisicamente installata, assicurarsi che siano disattivate feature specifiche per la condivisione di ram di sistema e memoria video quali TurboCache e HyperMemory.

- Verificare che non sia attiva l'opzione di compatibilità Memoria Max (Max Memory) in msconfig come da indicazioni seguenti:
Quote:
Originariamente inviato da davide66 Guarda i messaggi
Prova così:
Start/msconfig/opzioni di avvio/opzioni avanzate e guarda se c'è la spunta su Memoria max. Se c'è levala e riavvia.
NB: Se si incontrano problemi di installazione del sistema operativo con 4Gb di ram in dual channel (indipendentemente dall'architettura dello stesso, x86 o x64), provare a disconnettere uno dei moduli ram e reinserirlo solo a setup concluso.


--------


Come verificare se la CPU supporta l'architettura a 64bit


E' disponibile un tool gratuito, Securable, che oltre a rilevare il supporto alla virtualizzazione in hardware e al DEP (Protezione Esecuzione Programmi), è in grado di indicare se la cpu può processare istruzioni a 64bit e gestire i relativi sistemi operativi.
- Home Page e download: SecurAble



--------

Differenze di prestazioni tra architetture 32bit e 64bit

Sul layer di emulazione Wow64 si è ampiamente discusso:
- Wow64 su Wikipedia
- Wow64 - Microsoft MSDN

WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows.
The system isolates 32-bit applications from 64-bit applications, which includes preventing file and registry collisions. Console, GUI, and service applications are supported. The system provides interoperability across the 32/64 boundary for scenarios such as cut and paste and COM. However, 32-bit processes cannot load 64-bit DLLs, and 64-bit processes cannot load 32-bit DLLs.


Tra i vari link forniti, trovate anche:
Wow64 Performance and Memory Consumption
Performance and memory consumption are determined by the following factors:
Processor hardware (instruction emulation is performed on the chip). On the x64 processor, instructions are executed natively by the micro-architecture. Therefore, execution speed under WOW64 on x64 is similar to its speed under 32-bit Windows. On the Intel Itanium processor, more software is involved in the emulation, and performance suffers as a result.
API thunk overhead. This overhead is small compared to the NT kernel call itself. NT kernel functions are intended to be called infrequently.
Virtual memory size. On the Intel Itanium processor, WOW64 adds significant overhead if two or more instances of the same 32-bit application are running concurrently, due to the native 8 KB pages on the Intel Itanium complicating the emulation of the native 4 KB pages on the x86 architecture (more pages are marked as writable; all writable pages are private to the process). This can adversely affect the scalability of Terminal Services on certain processors. This is not the case for the x64 processor.
Working set. WOW64 increases the size of the application's working set.
WOW64 enables 32-bit applications to take advantage of the 64-bit kernel. Therefore, 32-bit applications can use a larger number of kernel handles and window handles. However, 32-bit applications may not be able to create as many threads under WOW64 as they can on x86. On some processors, there is less virtual address space available, and each thread contains a 64-bit stack (usually 512K). On the x64 processor, each 32-bit application receives 4 GB virtual address space in the WOW64 environment, if the application has the IMAGE_FILE_LARGE_ADDRESS_AWARE flag set in the image header. If this flag is not set, the 32-bit application receives 2 GB virtual address space.



Si può facilmente dedurre come, salvo casi particolari, le prestazioni non cambiano (o il calo è irrisorio e non visibile) utilizzando applicazioni a 32bit su Vista/7 x64.


Vi invito a scaricare e leggere anche il seguente documento (formato .docx):
Wow64 Best Practices - Download diretto Microsoft Win Hardware Developer Central

Note personali sui vantaggi principali dell'architettura x64:
Quote:
Sfrutteresti completamente "n" GB (e se utilizzi applicazioni pesanti, vedi rendering o gestione di file molto grandi, servono eccome), i driver di terze parti sono ormai sufficientemente ottimizzati e se si dispone di hardware recente è semplice trovarli, avresti la garanzia di un sistema un po' più sicuro (il sistema obbliga all'uso di driver certificati, quindi eventuali rootkit incontrano un'ostacolo difficilmente superabile)
--------

Memoria allocabile per singolo processo

http://msdn.microsoft.com/en-us/libr...78(VS.85).aspx
Le applicazioni (o meglio, i singoli processi ad esse relativi), sui sistemi a 32bit, dispongono di una memoria virtuale allocabile di 2GB, non di più.
Se si supera questa soglia, è normale che il programma avvisi che la memoria virtuale è esaurita.
Aggiungendo nel file boot.ini il parametro /3GB, cioè avendo una stringa simile:
Codice:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn /3GB
con PAE (Click) abilitato è possibile allocare ai singoli processi 3GB, uno in più rispetto allo standard.
Però si tratta di un'operazione che la stessa Microsoft sconsigliava, e in rete è facile trovare esperienze negative e problemi derivanti dall'utilizzo di questo parametro (personalmente non ho mai fatto prove).

Utilizzando un sistema operativo a 64bit e un applicativo a 64bit sarebbero allocabili, come da tabella linkata sopra, 8TB per processo (4GB usando un applicativo a 32bit).

Ultima modifica di ezio : 21-02-2010 alle 16:16. Motivo: inserita nota securable e allocazione memoria singoli processi
ezio è offline   Rispondi citando il messaggio o parte di esso