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
|