Newsgroup: it.comp.os.win.win9x
Titolo: S.O. a 32 bit.

Microsoft Windows 98 è un sistema operativo a 32 bit.
Ma cosa significa S. O. a 32 bit? Un "amico" mi ha detto
che a 32 bit vuol dire che windows divide il byte in 32 bit,
per aumentare lo spazio ed una maggiore risoluzione grafica.
ma io credo che questa risposta non abbia senso.
Quindi mi rivolgo a questo Newsgroup per avere una
possibile risposta, Grazie.
Salvatore31
http://digilander.iol.it/salvatore31/index.htm

 per aumentare lo spazio ed una maggiore risoluzione grafica.
Se davvero fosse cosi', si spiegherebbero penso la maggior parte dei
crash di windows....
Ma purtroppo [o per fortuna, dipende dai punti di vista] non e'
cosi'...
Vediamo di fare chiarezza...
Un byte sono sempre e solo 8 bit.
Una volta, per rappresentare i numeri interi [quelli senza la
virgola], i computer usavano 16 bit...
Un sistema operativo a 32 bit e' un SO che per rappresentare gli
interi usa 32 bit [ovvero 4 byte]
Insomma, il massimo intero rappresentabile senza ricorrere ad altri
"tipi" e' molto piu' alto di prima...
[l'ultima frase per semplificare...]
- --
- --
Don't let your Fears stand in the way of your Dreams
- --
Elena *DElyMyth* Franco
Revanche IRC Network
irc.revanche.net
 - Nick: DElyMyth
ICQ# 8761263 - 
dely...@lamah.net
 - 
dely...@revanche.net
http://www.delymyth.it/
 - 
http://www.lamah.net/
 -
http://www.revanche.net/
- --
-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.3
iQA/AwUBOQc4STrVvGrSrespEQIQ5QCdG5Bo/vyVWioz7X+qQKqzd7+OphYAnRDA
fUlV4Vu3lC/cBJ8ncjgCXWhK
=+UXE
-----END PGP SIGNATURE-----

"S.O. a 32 bit" significa che il sistema operativo fa uso (e quindi mette a
disposizione delle applicazioni delle API che fanno uso) delle istruzioni
del microprocessore che prevedono la gestione dei dati con parallelismo a 32
bit (vengono trasferiti da/verso la memoria 4 byte per ogni operazione, i
registri contengono 4 byte, ecc.)
Ciao, Sandro

ma io credo che questa risposta non abbia senso.
Infatti non ne ha.
Un byte e' di 8 bits, divisi in due "nibble" di 4 bits ciascuno (ogni
nibble e' rappresentabile con un numero da 0 a 15, e si indica con un
simbolo da 0 a 9 e da A a F; A=10, F=15).
La memoria del sistema, e' composta da un certo numero di bytes; ogni
byte ha un proprio indirizzo unico.
Questo indirizzo, essendo un numero, e' anch'esso rappresentabile con
una sequenza di cifre binarie.
Se il sistema operativo supporta "indirizzamenti" e operazioni con un
numero N di bits, quel sistema e' a N bits.
Per esempio, dato che il massimo numero indirizzabile con 16 bits e',
ovviamente, 2^16, un sistema operativo a 16 bits:
	a) O si limita a 65536 bytes di RAM (64K)
	b) Oppure deve usare _due_ operazioni successive per indicare
	   a quale byte vuole riferirsi.
Gli Intel supportano la modalita' segmentata: prima invii 16 bits con
il numero di "pagina", poi 16 bits con il numero del carattere dentro
la pagina. Ovviamente ci metti piu' tempo = il sistema e' piu' lento.
Dal 386 in poi, i registri del processore 386 hanno 32 bits. E quindi
e' possibile spedire 32 bits in una sola "botta", aumentando cosi' la
velocita' del tutto.
Per compatibilita' pero' i PC hanno la ROM BIOS a 16 bits, percio' un
sistema operativo adesso:
	a) O si "degrada" a 16 bits ogni volta che parla con il BIOS,
	b) O SOSTITUISCE le routines per I/O hardware BIOS con altre,
	   interne, che devono fare le stesse cose.
(Se pensi quante marche di motherboards e modelli di BIOS esistono, a
questo punto capisci come mai i sistemi operativi a 32 bit incontrano
tanti casini 8-) )
(e perche' ad es. il Macintosh funziona meglio: l'hardware lo fa SOLO
UNA CASA, la Apple, che vedi caso scrive anche il S.O.)
Un sistema operativo a 32 bits deve avere sotto una CPU con larghezza
di parola di 32 bits o superiore.
Leonardo confuso & arruffato
".signature": bad command or file name

Leonardo confuso & arruffato
Bye Krmel

 wrote in message
8e8cps$ha8$1...@fe1.cs.interbusiness.it...

Cioč un sistema operativo a 32 bit deve usare
una CPU con architettura a 32 bit?
Quindi Windows98 puň utilizzare solo CPU a 32bit?
Dove vengono trasferiti da/verso la memoria 4 byte
per ogni ciclo del clock.
In altre parole correggimi se sbaglio i S.O. a 32 bit
eseguono 4 byte di operazioni alla volta in parallelo
con il processore?
Ciao, Salvatore31
http://digilander.iol.it/salvatore31


 Vediamo se ho capito,
puo rappresentare numeri da 0000 a 9999 alla volta
cioè per ogni ciclo del clock?
Ciao, Salvatore31
http://digilander.iol.it/salvatore31

 con il processore?
non e' esatto. I sistemi operativi a 32 bit "pilotano" il microprocessore in
modo che questi comunichi con l'esterno (memoria, bus, ecc.) con istruzioni
che fanno "viaggiare" 4 byte alla volta.
Ciao, Sandro


http://digilander.iol.it/salvatore31
Bye Krmel

cioč per ogni ciclo del clock?
sarebbe giusto se parlassimo di aritmetica decimale, ma i processori
ragionano con numeri binari, e li semplificano in esadecimale.
32 bit: da 00000000 a ffffffff (da 0 a 4294967295)
16 bit: da 0000 a ffff (da 0 a 65535)
se pensi che solitamente buona parte del tempo il processore lo passa a
calcolare indirizzi di memoria tra cui compiere operazioni, il vantaggio
e' innegabile, nel primo caso con un ciclo solo puo' spaziare in un'area
di memoria nettamente superiore, nel secondo deve avvicinarsi per gradi,
prima selezionare un blocco di indirizzi, poi all'interno di quello
muoversi nella posizione corretta.
Ciao.roberto
-- 
Save our planet!
Save wildlife;
For your E-MAIL use only recycled Bytes !!
roberto poggi  
rpo...@softhome.net

 processori a 'mezzo servizio' ...
Hai ragione, ma e' sempre stato cosi': sviluppare un chip e' molto meno complesso che sviluppare del
software.
La prima ad avere questi problemi e' stata IBM, che negli anni '60 si trovo' per le mani delle
macchine (architettura 360) senza un sistema operativo funzionante. E se ne invento' uno in tutta
fretta commissionandolo ai laboratori tedeschi. Anche lui si chiamava DOS.
Poi e' ri-successo con i primi PC: l'hardware era pronto, ma il software no. Cosi' ancora una volta
il gigante IBM fu costretto ad affidarsi ad una piccola societa', la Microsoft.
Per arrivare ai giorni nostri. Ma secondo te, il potenziale dei Pentium III e' sfruttato in pieno ?
--
Beppe
Firenze
g.sa...@flashnet.it

Un sistema operativo a 32 bits deve avere sotto una CPU con larghezza
di parola di 32 bits o superiore.
Per poter lavorare in parallelo con la CPU?
Se fosse S.O. a 32 e CPU a 16?
si rallenterebbe tutto il sistema, o si disporrà
di una risorsa che non potrà mai essere usata?
Grazie, Ciao
Salvatore31
http://digilander.iol.it/salvatore31

 ma io credo che questa risposta non abbia senso.


Silvio
Bye Krmel

Per poter lavorare in parallelo con la CPU?
No, per poter _lavorare_, punto. Un SO a 32 bits non puo' usare una CPU
a 16. Avrebbe bisogno di un emulatore di CPU a 32 bits che giri a 16, e
cio' sarebbe (a) difficile da implementare, (b) costoso, (c) lento.
Un SO a 16 bits puo' girare su una CPU a 32: non usa meta' del bus, ma,
a parte questo...
Leonardo


Affascinante,
grazie a voi ho capito S. O. a 32 bit
nel "Flat Mode".
Paged memory? memoria virtuale paginata?
chiedo troppo se domando cosa sia?
--
Salvatore31
http://digilander.iol.it/salvatore31


chiedo troppo se domando cosa sia?
Molto alla buona e con qualche imprecisione: se indirizzi un indirizzo
;-) di memoria, e quell'indirizzo non c'e', il processore "emette" una
particolare istruzione.
Inoltre, un memory manager puo' "riallocare" un blocco di memoria, una
cosiddetta "pagina", a qualsiasi indirizzo.
Cioe' tu hai, diciamo, 32K di RAM, divisa in 8 pagine di 4K. Non devi,
per forza, avere le pagine agli indirizzi 0, 4, 8, 12, 16, 20 ecc., ma
potresti averle agli indirizzi 0, 100, 104, 108, 112, 240, 244 ecc..
Dov'e' il vantaggio?
Che se un programma alloca la memoria fra 0 e 64K, tu gli puoi dire di
avercela (ne hai solo 32). Poi lui referenzia un byte all'indirizzo 48
K; il processore informa te sistema operativo del fatto ("Page Fault")
e tu puoi rimappare una pagina delle 8 REALI che hai all'indirizzo che
vuoi, in questo caso 48.
Il programma, ogni volta che scrive in RAM, trova sempre una RAM vera,
reale, che gli risponde; percio' PER QUANTO NE SA IL PROGRAMMA, il tuo
PC ha 128K di RAM, perche' 128K lui richiede e su 128 puo' scrivere.
Quando tiri fuori una pagina di RAM, se e' libera la dai a chi te l'ha
richiesta, e la metti dove gli serve; se e' occupata da qualcun altro,
devi in qualche modo salvarla ("page out"), e questo lo fai su un file
("swap file"). Poi quel qualcun altro magari te la richiede, sicche' a
te tocca liberare un'altra pagina di RAM, mapparne l'indirizzo giusto,
e metterci il contenuto giusto ("page in") prendendolo dallo swap.
Piu' il rapporto memoria fisica / memoria virtuale e' basso, piu' a te
tocca fare un gran lavoro :-).
+++
In pratica, la tua memoria fisica e' IL DISCO FISSO, e la RAM reale la
usi come cache di quella memoria. La legge di Amdahl garantisce che le
prestazioni saranno ABBASTANZA simili a quelle della memoria reale, se
l'applicazione onora i 3 principi aristotelici (unita' di tempo, luogo
ed azione <grin>).



Credevo che fosse il contrario :-)  la memoria fisica la RAM,
il disco fisso, cioè lo spazio libero del disco fisso usato come
memoria virtuale (file swap).
ciao :-)
--
Salvatore31
http://digilander.iol.it/salvatore31

memoria virtuale (file swap).
Be', considera come funziona la cache L2: il processore esegue delle
istruzioni prendendole dalla cache, alla velocita' della cache. Alla
fine dei salmi, il processore con cache si comporta "come se" avesse
una memoria grande quanto la RAM, e veloce quasi quanto la cache.
In altre parole, si comporta in pratica come se avesse una cache che
e' grande quanto la RAM.
Con la memoria virtuale, si comporta come se avesse una *RAM* grande
quanto il disco fisso, ma veloce quasi quanto la RAM normale.
