linux user group brescia

immagine del castello

Archivio della mailing list

Quantita' massima di memoria per processo/SO ?

Luca Giuzzi giuzzi a lugbs.linux.it
Gio 25 Dic 2003 14:32:18 UTC
On Tue, Dec 23, 2003 at 07:46:15PM +0100, Vernia Damiano wrote:
> 
> On Tue, 23 Dec 2003, Luca Giuzzi wrote:
> > > 	Ahia. Non e' che tra un po' ci troveremo con un kernel fermo ai 32 
> > > bit e sistemi H/W molto piu' prestanti sacrificati per la compatibilita'? 
> > No... questo non succedera' in quanto il kernel e' gia' stato portato
> >  su architetture a 64 bit (alpha, mips) ... in particolare il kernel
> >  e' gia' stato portato pure su ia64 e su x86_64 (l'architettura di 
> >  AMD a 64 bits) e non ci sono problemi.
> 
> 	E gira con uno spazio indirizzi a 64 bit? Questa e' la questione.
> 
Si'... gira con uno spazio di indirizzi a 64 bits, anche perche' non 
e' possibile altrimenti [a meno di emulazioni a livello di microcodice,
etc.]

Guarda che non c'e' nulla di magico nel far girare il kernel su queste
architetture... basta solo che la cpu supporti quanto deve

> > > Gia' adesso cominciano ad uscire processori a 64 bit (solo dati, okay!).
> > Beh... l'EV4 risale al 1992 ed era un processore a 64 bits (supportato
> 
> 	Allora si potrebbe dire che il Cray 2 a 64 bit lo era nel '90. 
> Intendevo processori abbordabili.
> 

L'alpha era abbordabile anche se costava decisamente di piu' di un PC...
Una nota a margine: l'EV4 (e pure l'EV45) riuscivano a gestire solamente
192Mb di RAM (limitazioni del chipset), ma lo spazio indirizzi era a
64bits. La quantita' di RAM indirizzabile e le dimensioni di indirizzamento
sono due quantita' indipendenti, ma (in generale) e' bene che la seconda
sia almeno 2/4 volte pari alla prima.


Una nota: l'architettura alpha e' quasi identica a quella PC (sebbene
progettata con un po' piu' di cervello); i processori vettoriali come
il cray sono concettualmente diversi.

> > da linux, btw) ...  cosa intendi per "solo dati" ?? 
> 
> 	Forse ho detto una stupidata (ne sarei contento). I nuovi 
> processori per PC a 64 bit hanno bus dati ed indirizzi a 64 bit o solo il 
> bus dati (e quello indirizzi resta a 32)?
> 
Attento... stai confondendo due quantita' diverse: la lunghezza di
parola (dati) e le dimensioni del bus indirizzi.
Al solito, ha poco senso avere un bus indirizzi a 64 bits e una
lunghezza di registri di 32 (devi poter fare dei conti sugli indirizzi).
In generale, quando si parla di processori a 64 bits si dovrebbe 
indendere che il bus indirizzi e' a 64 bits (anche se NON e' detto che
tutta quella memoria sia installabile o che alcune linee non siano
"hardwired to 0" ... ); altrimenti qualche commerciale ti potrebbe
spacciare pure il pentiumIV come "processore a 128bits" grazie
alle istruzioni SSE2 (che sono `vettoriali' e lavorano su registri 
per l'appunto di 128 bits) ... aspetta... qualche commerciale HA DETTO
che il pentiumIV e' a 128 bits (e pure "uno e bino") :((



> > > Ho sempre pensato di poter cambiare il sistema piu' o meno quando mi 
> > > paresse, se avessi usato Linux (gira su non so quanti tipi di processore 
> > > diversi!), e di avere prestazioni senza "emulazioni" di mezzo. Sigh.
> > Questo non lo capisco!!
> 
> 	Se uso losezozz 98 sono costretto ad usare un processore della 
> serie i386 e non sfrutto le "cose nuove" di "quelli nuovi". Se uso XP 
> forse le cose migliorano, ma se uso Linux so che posso usare praticamente 
> qualunque processore in commercio ed _inoltre_ sfruttarlo appieno.
> 
Beh... si' e no... nel senso che se tu utilizzi il kernel 2.0 su di un 
pentiumIV non puoi sperare di trarre giovamento dalla tecnologia
hyperthreading (l'uno e bino di cui sopra) e nemmeno dalle istruzioni
SSE. L'interfaccia utente e' stabile, ma le funzionalita' nuove devono
essere supportate a livello di kernel
[come dicevo sopra: supportare architetture a 64 bits non e' nulla
di magico, ma DEVE ESSERE FATTO (ed e' stato fatto)]

La cosa positiva e bella di linux e' che se viene rilasciato un nuovo
processore, di solito c'e' gente che si prende la briga di supportare
in tempi brevi le nuove funzionalita'.

[fra parentesi: x86_64 e' una architettura diversa rispetto ia32 anche
se compatibile: se installi una debian per ia32 su x86_64, allora
il tuo codice e' eseguito "a 32bits"; se installi la versione di
debian per x86_64 e ricompili il tuo programma, allora puoi
giovarti delle nuove funzionalita']

> > Un processore con uno spazio indirizzi a 32 bits non puo' vedere piu'
> > di 4Gb di spazio indirizzi. Fine. Non c'e' modo per fare altrimenti,
> 
> 	Daccordo. La mia paura era/e' che Linux, progettato a 32 bit, usi 
> comunque uno spazio indirizzi a 32 bit anche su processori con uno spazio 
> indirizzi a 64. Io non sono cosi' addentro al kernel per sapere se questo 

No... di questo non preoccuparti... anzi, su un processore a 64 bits
non devi nemmeno preoccuparti della fine del mondo (ops.. fine dell'epoca)
:))

> > a meno di non riprogettare la CPU ex novo.
> 
> 	Quello che intendevo con la frase di sopra e':
> "Se uso Linux posso usare praticamente _qualunque_ architettura e lui 
> funziona _e bene_. Se uso il concorrente questa cosa non vale proprio."
> 	Non appena mi serve, ho i soldi e l'opportunita', abbandono 
> l'architettura "PC" e passo a qualcosa di meglio.
> 

Beh.. linux funziona bene sulle architetture su cui e' stato portato...
chiaramente non puo' fare miracoli e se un processore e' completamente
nuovo, e' possibile ci voglia un po' di tempo perche' vi sia una
dirstibuzione stabile che lo supporta... d'altro canto c'e' sempre
gente interessata a questo.

> > ia64 (merced) e x86_64 (athlon64) sono dei progetti nuovi di Intel e
> > AMD che supportano uno spazio indirizzi di 64 bits, fra le altre cose.
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 	Cioe' non si devono fare arzigogoli come quelli descritti in 
> precedenza o ce li dovremo comunque portare dietro?
> 
Esatto: non si devono fare arzigogoli come quelli di cui sopra
(cosi' come gia' oggi non li si devono fare per alpha o sparc64)


> > La tecnologia non e' nuova, ma si tratta di usare PROCESSORI DIVERSI.
> > 
> > Il supporto PAE sulla linea ia32 (di intel e di amd) e' un accrocchio
> > per consentire "in qualche modo" di vedere piu' ram che non 4Gb
> 
> 	Anche i buoni vecchi registri di segmento sull'8086 erano in fondo 
> degli accrocchi. Non credo che alcuno vorrebbe piu' usarli. Questo "nuovo 
> accrocchio" per passare (non da 64kB ad 1MB ma) da 4GB a 64GB ce lo 
> porteremo dietro o tra un po' (o su un altra architettura) "ciao ciao"?
> 
Ce lo porteremo dietro per un po' sulle architetture "derivate da ia32"
per motivi di compatibilita', ma se ne puo' fare tranquillamente a meno
[cosi' come si puo' fare a meno della modalita' reale]


> "Se passo a cippirimerlo-64 (64 bit con tutti i crismi) il pinguino puo' 
> dare ad un processo 6TB di RAM senza scazzi o deve arzigogolare?"
> 

Si', puo' farlo, anche se
probabilmente sarai limitato ad una quantita' un po' piu' ridotta
a causa di "fenomeni contingenti" (tipo quello, non banale, del
DOVE mettere fisicamente la RAM... quando parliamo di queste quantita'
 di memoria,
non tutti i banchi si trovano alla medesima distanza dalla cpu e 
sorgono dei problemi di "tempi di accesso differenziati", etc. etc.)

ciao,
 lg



Maggiori informazioni sulla lista Lug