|
|
|
![]() |
|
Strumenti |
![]() |
#401 |
Senior Member
Iscritto dal: Jun 2003
Messaggi: 447
|
infatti, hai perfettamente ragione. ma dato che in questo topic se ne parla (soprattutto nelle prime pagine) volevo testarlo e farvi vedere i risultati pratici di questa operazione!
__________________
[MO] Vendo Lotto Master System, giochi Atari/Mega Drive/GBA Ho concluso positivamente con: Sinclair63, Mo3bius Ultima modifica di rust5 : 23-02-2008 alle 10:42. |
![]() |
![]() |
![]() |
#402 | ||
Member
Iscritto dal: Mar 2003
Città: Narni
Messaggi: 110
|
Discussione moooooolto interessante, extra large (2 giorni per leggerla), pero' utilissima. Grazie gugoXX, luxor.reload, AMD64bit, sirius
A me è piaciuto sta roba: Quote:
Quote:
__________________
Donne e processori gioie e dolori. ASTA Ma ora qualcosa è cambiato ![]() ![]() |
||
![]() |
![]() |
![]() |
#403 |
Senior Member
Iscritto dal: Aug 2002
Città: Francavilla al Mare
Messaggi: 5770
|
Ho trovato questo, scritto da parte di chi afferma di vedere ed usare 4GB su XP 32bit. La novità è l'aggiunta di /3GB.
Comunque resto molto scettico. Qualcuno ha modo di provare? Nel file boot.ini alla stringa di avvio del sistema operativo windows xp aggiungere alla fine /3GB /PAE dove: /3GB obbligo il sistema operativo a utilizzare i primi 3gb per le applicazioni (infatti xp 32 bit non riesce ad indirizzare per le applicazioni più di 3 giga di memoria, il restante 1 giga lo usa il sistema per il suo kernel. /PAE obbliga xp ad attivare l’estensione fisica estesa, è vero che in xp 32 bit tale attivazione è di default ma a volte viene disabilitata da xp se verifica componenti non compatibili, capita spesso che se vengono installati driver particolare tale funzione venga disattivata (la spiegazione sarebbe più articolata). PS. mi raccomando i parametri maiuscoli Edit: Credo di essermi sbagliato, sono cose già provate e sembrano non funzionare. Ma allora come fanno certe persone a dichiarare di riuscire ad utilizzare i 4GB? Mah!
__________________
DMJ © Ventole più silenziose del mondo ★ Ultima modifica di DMJ : 27-02-2008 alle 12:16. |
![]() |
![]() |
![]() |
#404 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Non c'e' nulla che possa farti vedere 4GB o piu' su WinXP32bit, WinVista32bit e amici, se non ricompilare parte del kernel e inoltre dotarsi di driver che non schiantano la macchina quando provano a fare dei DMA transfer oltre i 4GB (cosa inevitabile se vuoi vedere esattamente 4GB di Ram o piu').
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 27-02-2008 alle 16:33. |
|
![]() |
![]() |
![]() |
#405 | |
Senior Member
Iscritto dal: Aug 2002
Città: Francavilla al Mare
Messaggi: 5770
|
Quote:
__________________
DMJ © Ventole più silenziose del mondo ★ |
|
![]() |
![]() |
![]() |
#406 | |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1087
|
Quote:
__________________
"La giustizia è come una tela di ragno: trattiene gli insetti piccoli, mentre i grandi trafiggono la tela e restano liberi". Solone |
|
![]() |
![]() |
![]() |
#407 |
Senior Member
Iscritto dal: Jun 2003
Messaggi: 447
|
se leggi i quote riassuntivi di mpacciaroni troverai la risposta!
__________________
[MO] Vendo Lotto Master System, giochi Atari/Mega Drive/GBA Ho concluso positivamente con: Sinclair63, Mo3bius |
![]() |
![]() |
![]() |
#408 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
No, quasi tutti i Windows32bit server possono superare 4GB.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#409 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1087
|
E invece su WinXP 32 con l'opzione /3GB sul boot.ini e file di swap disattivato, a livello di memoria allocata per singolo processo, equivale ad una sorta di "contraddizione" ?
__________________
"La giustizia è come una tela di ragno: trattiene gli insetti piccoli, mentre i grandi trafiggono la tela e restano liberi". Solone |
![]() |
![]() |
![]() |
#410 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Si parla di memoria virtuale, non memoria fisica, e si parla di processo, non programma. Ci sono programmi multiprocesso che della /3GB non se ne fanno nulla, pur allocando anche decine di GB sulle macchine Win32Server, come per esempio SqlServer (2GB massimo per processo in questo caso, ma chissenefrega). Ci sono anche casi in cui si hanno solo 2GB sulla macchina, ma dove /3GB e' utile. 2GB fisici + 3GB di file di scambio sono 5GB di memoria virtuale. /3GB in questo caso puo' essere utile per permettere ad un programma di usare 3GB invece che 2GB, se lo ritiene utile/necessario. Il tuo caso e' un caso limite, quando lo swap file e' disattivato la quantita' di memoria virtuale e la quantita' di memoria fisica coincidono. Non e' comunque una contraddizione perche' potresti avere 3.0GB di memoria fisica=virtuale libera a disposizione, e potresti volerla allocare tutta ad un unico processo. Sarebbe una contraddizione avere 2GB di memoria fisica, avere il file di scambio disabilitato e mettere /3GB come parametro. Allora li' non serve a nulla, ma non fa neppure male.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#411 | |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1087
|
Quote:
avevo frainteso questo tuo post http://www.hwupgrade.it/forum/showpo...&postcount=400 visto che di solito per memoria virtuale si intende quella fisica + quella swappata. Ma del resto, se lo spazio di swap è uguale a zero, come dici tu memoria fisica e memoria virtuale coincidono (ovvero è tutta memoria fisica), quindi è giusto quanto dici. Grazie per la spiegazione.
__________________
"La giustizia è come una tela di ragno: trattiene gli insetti piccoli, mentre i grandi trafiggono la tela e restano liberi". Solone |
|
![]() |
![]() |
![]() |
#412 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Si, ti confermo che per memoria virtuale ho inteso fisica+File di swap, sia in questi post che negli altri.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#413 | |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1087
|
Quote:
ma allora non capisco come mai sullo stesso sistema di test (cioè stessa piattafroma x86 con 4GB di ram) un s.o. Win 32 server veda tutti i 4 GB di ram. Il bios (che è del tutto indipendente dal s.o. installato) non alloca il suo spazio rubandolo alla ram di sistema? E la memoria utilizzata per il DMA delle periferiche, non viene "rubata" anch'essa dalla ram? Conosci la spiegazione del fatto che la stessa cosa non avviene sulle versioni server Win32, a differenza di WinXP 32 e WinVista 32 ?
__________________
"La giustizia è come una tela di ragno: trattiene gli insetti piccoli, mentre i grandi trafiggono la tela e restano liberi". Solone Ultima modifica di aquilante : 28-02-2008 alle 13:51. |
|
![]() |
![]() |
![]() |
#414 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Certo che la conosco la motivazione. Bisogna pero' sapere prima come funziona l'indirizzamento dei nostri microprocessori. Ci sono vari modalita' di lavoro: - Real mode, presente gia' dall'inizio (8086 e 8088). Vecchia, in uso sui sistemi 16bit come MS/Dos e Windows fino a 3.11. Ogni indirizzo viene generato mettendo insieme un registro a 16 bit chiamato segmento e un altro a 16 bit chiamato offest. Viene fatta una somma, ma sono leggermente spiazzati tra loro. in pratica il valore del registro segmento e' spiazzato di 4 bit. Il totale e' 20 bit di indirizzamento = 1MB, che era appunto il limite di indirizzamento dei sistemi opeartivi 16bit. 1MB meno un po' di roba per le schede, come oggi, si scendeva a 640KB disponibili per l'utente - SMM mode, presente dal Pentium. la memoria viene vista come un unico blocco flat a 32bit = 4GB. E' stato pensato nativamente per il supporto per la gestione durante lo spegnimento, quando si fanno le ibernazioni o gli standby. Viene usato ancora oggi durante queste fasi, ma solo dai sistemi operativi 32bit - Protected mode. E' la modalita' piu' complessa di lavoro, introdotta dal 286 (24bit=16MB) , ed estesa nel 386. Il 386 puo' gestire fino a 64TB di memoria virtuale, ma solo 4GB di memoria fisica, avendo solo 32 linee di indirizzo (qualcuna di meno, le ultime meno significative non esistono. In pratica puo' indirizzare non meno di 4Byte per volta) Dal pentium PRO e fino anche nei nostri core2, le linee di indirizzo sono pero' fino a 36, ovvero fino a 64GB di memoria fisica indirizzabile. Ora, come fare su un sistema a 32bit a gestire un indirizzo da 36? In un modo simile, ma decisamente piu complesso di quello che permetteva ai registri 16bit di indirizzarne 20. Nella gestione della memoria in protect mode, ci sono 2 tempi. Il primo e' la segmentazione, il secondo e' la paginazione. Quello che ci interessa e' la segmentazione. Ogni istruzione macchina che legge/scrive sulla memoria, deve indicare l'indirizzo che intende coinvolgere. Per fare cio' vengono utilizzati 2 registri. Il primo registro e' chiamato selettore di segmento, il secondo registro, a 32bit, e' chiamato offset. Il selettore di segmento e' un indice a 16 bit, che indica quale segmento vogliamo utilizzare, tra il segmento 0 a quello 16383 dentro il segmento c'e' scritto in un modo che non sto a specificare ora perche' dipende da altre cose (granularita' delle pagine essenzialmente) l'indirizzo fisico di base da cui partire, a cui sommare l'offset (che e' l'altro indirizzo a 32bit) per ottenere l'indirizzo fisico finale. Nella gestione dell'80386 la base di ciascun segmento poteva avere solo 32bit di dimensione finale. Sommando gli altri 32bit si otteneva un valore ancora a 32bit e quindi si indirizzavano solo 32bit=4GB di memoria. Nella gestione del Pentium PRO, abilitando sto cavolo di PAE, la base di ciascun segmento puo' raggiungere 36bit di indirizzo, al quale si aggiungono i 32bit bassi dell'offset e si indirizzando quindi fino a 36bit = 64GB di memoria. Ora, per forzature puramente SOFTWARE del sistema operativo, anche abilitando il PAE, sui sistema XP32bit e Vista32bit la base di tutti i segmenti e' FORZATA ad essere sempre a 0. C'e' scritto 0 dentro tutti i 16384 segmenti. Questo implica che qualunque selettore io usi, a contribuire nel calcolo dell'indirizzo fisico finale ci sara' solo il registro offset a 32bit, limitando ancora una volta il tutto a 4GB. Perche' e' stato fatto cio'? Perche' molti driver vecchi e scritti male per WindowsXP non sarebbero stati capaci di gestire la memoria oltre i 4GB. Essi ignorano i bit piu' alti, con la conseguenza che le periferiche interessate si sarebbero viste al loro giusto indirizzo, ma poi di nuovo 4GB dopo, e poi di nuovo 4GB dopo ancora, e cosi' via. Quindi la Microsoft, per rappezzare il tutto e non rendere instabili i sistemi, ha deciso di FORZARE tutti a stare sotto i 4GB, in questo modo molto semplice. Perche' questo non e' stato fatto per i sistemi server? Perche' i sistemi server devono essere dotati di driver scritti apposta senza questi bachi, e il tutto ha permesso alla Microsoft di superare questo problema, abilitando la base dei segmenti in modalita' PAE ad assumere qualunque valore ad essi permesso, con la possibilita' appunto di raggiungere 64GB. Il passo successivo per il calcolo dell'indirizzo fisico finale, ovvero la paginazione, esula da questo discorso. E' semplicemente il supporto hardware alla gestione della memoria virtuale e del file di scambio, ma non agisce sulla quantita' di memoria fisica indirizzabile. - C'e' poi ancora la modalita' 64bit, semplicissima. E' di nuovo una FLAT mode, senza alcun selettore o segmento, in cui per accedere alla locazione di memoria interessata si usa semplicemente un valore a 64bit, eventualmente ancora poi paginato dall'unita' di paginazione. Per poterlo utilizzare ovviamente occorre dotarsi di driver scritti apposta, con tutti i crismi del caso. - Ci sono modalita' miste come la Virtual86mode, che permette di avere piu' real mode sulla stessa macchina, penso non piu' in uso oggi. E' piu' chiaro? Booooh?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 28-02-2008 alle 14:50. |
|
![]() |
![]() |
![]() |
#415 | |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1087
|
Quote:
Grazie per le info, molte delle quali non conoscevo. Spero di aver capito fino in fondo quanto scrivi. Tuttavia non mi è ancora chiaro, se WinXP 32 ruba alcuni MB dalla RAM per gestire il DMA e per le periferiche (per la qual ragione il sistema vede i 4GB di partenza meno qualcosa, leggi 4096MB - n MB per un totale che varia da 2.8GB fino a 3.5GB), dove ruba da un sistema sempre dotato dei medesimi 4GB lo spazio win2003 server ? Perchè su Win 2003 server si vedono 4GB (di 4 disponibili in totale) e su WinXP no? Passi l'indirizzamento a 36bit della cpu x86 non "castrato" via software dal sistema operativo, ma non mi ancora chiaro dove prendono (i sistemi server) lo spazio per il DMA e soprattutto quello del bios/hardware, poichè non vengono sotratti dal totale della memoria disponibile (che coincide con quella installata). Molto probabilmente non mi sono spiegato in maniera chiara circa le mie perplessità. Sentiti libero di passare oltre e non rispondere, ovviamente, se la questione è diventata tediosa.
__________________
"La giustizia è come una tela di ragno: trattiene gli insetti piccoli, mentre i grandi trafiggono la tela e restano liberi". Solone |
|
![]() |
![]() |
![]() |
#416 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Lo spazio dedicato alle periferiche, nei sistemi server, viene spostato mediante l'opzione "Memory remapping" oppure "Memory hole" dei chipset, ad occupare l'ultimo Gigabyte di indirizzamento disponibile su ciascun sistema. Se il tuo sistema permettesse di avere 8GB di indirizzamento, allora le periferiche sarebbero spostate tra il 7GB e 8GB, che tu abbia o meno 8GB non importa. Se potessi avere fino a 64GB, che tu li abbia o meno, verranno spostati tra il 63GB e il 64GB. Qualche chipset sposta la memoria sottostante invece che le periferiche, ma il discorso non cambia piu' di tanto. Quindi da questo capisci che anche se tu avessi WinVista64bit, e mettessi 8GB su una scheda madre che dispone di soli 8GB, con chipset che indirizza solo 8GB, allora non potrai vedere tutti gli 8GB, ma qualcuno di meno perche' con o senza memory remapping potrai indirizzare solo 6.7GB-7.5GB di RAM.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#417 |
Member
Iscritto dal: Oct 2007
Messaggi: 153
|
Scusate, probabilmente è già stato detto ma...
Considerato che tutti i chipset moderni supportano 8gb di ram. Se io metto 4GB di ram su un sistema con XP PRO SP2 (a breve spero SP3) a 32 bit, tralasciando tutti i discorsi di quanta ram vedo, ecc. Ci sono problemi di instabilità del sistema, incompatibilità, perdita di prestazioni, ecc.? Cioè se uso 4GB di ram su un OS a 32bit può esserci un qualsivoglia problema riapetto ad usarne solo 2GB ad es.? Posso dormire sonno tranquilli anche usando programmi di grafica 2D/3D? ![]() ciao e grazie |
![]() |
![]() |
![]() |
#418 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Le prestazioni migliorano.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#419 |
Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 82
|
Windows Xp Professional arriva quindi fino a 3gb?
|
![]() |
![]() |
![]() |
#420 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Una media tra 2.7GB e 3.5GB, a seconda delle periferiche installate sulla macchina.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:47.