PDA

View Full Version : Esperti di Sistemi operativi a me :)


xciaoatuttix
05-09-2008, 15:39
Salve a tutti dovrei fare una domanda sulle tabelle delle pagine gestite dai SO per ogni processo.

Ho realizzato un progetto per l'universita' dove ho supposto che gli elementi della tabella delle pagine comprendevano anche un campo per la pagina virtuale oltre che la pagine fisica.
secondo voi è sbagliato ?

per favore rispondete è importante e il progetto gia l ho consegnato :(

cdimauro
05-09-2008, 20:09
Potresti essere più chiaro? Non si capisce bene.

xciaoatuttix
05-09-2008, 20:13
si volevo sapere se le entry nelle tabelle delle pagine di un generico calcolatore possono contenere anche il campo 'numero pagina virtuale' oltre agli altri campi:

bit Riferita
bit Modificata
numero pagina fisica
bit protezione


lo chiedo perche sul libro di Sistemi Operativi ho letto che il numero di pagina virtuale è usato solo come indice per trovare l'entry nella tabella delle pagine e io nel mio progetto ho considerato che ci fosse anche un campo 'numero pagina virtuale' nell'entry stesso .
Quindi volevo sapere se è considerato un errore o no.
spero di essere stato chiaro :stordita:

cdimauro
05-09-2008, 22:14
Ha ragione il libro: non è conservato il numero della pagina, perché è sostanzialmente inutile.

La entry nella page table conserva soltanto i bit che hai riportato (più altri, di cui almeno uno in genere utilizzabile liberamente dal s.o. per essere usato come "tag") e l'indirizzo della prossima page table (se esistono altri livelli di annidamento), oppure l'indirizzo fisico (se siamo arrivati all'ultimo livello di annidamento).

xciaoatuttix
06-09-2008, 08:49
per la precisione ho fatto il progetto per un generico sistema operativo per calcolatori e ho considerato che l'entry comprendesse il numero pagina virtuale.

quindi è considerato un'errore oppure si potrebbe anche fare in un ipotetico Sistema operativo una tabella con gli entry cosi?
in effetti l'indice della pagina virtuale deve pur stare da qualche parte per poter accedere all'entry giusto.

amedeoviscido
06-09-2008, 09:35
Il problema è che "una pagina virtuale" è troppo restrittivo e/o generico.
restrittivo perché un programma molto esoso in termini di memoria può richiedere più pagine (ecco la necessità del riferimento alla -lista- delle pagine)
generico perché non scrivi quanto è grossa una pagina!

xciaoatuttix
06-09-2008, 09:53
la pagina è 16KB e lo spazio di indirizzamento virtuale è 16GB
quindi la tabella ha 2^20 righe :fagiano:

The3DProgrammer
06-09-2008, 12:51
ma per "numero di pagina virtuale" intendi il virtual address?

xciaoatuttix
06-09-2008, 17:13
si si :)

cdimauro
06-09-2008, 21:28
Il virtual address serve esclusivamente lato codice eseguibile / applicativo, come "punto di partenza" per arrivare all'indirizzo fisico.

Non è, quindi, utile conservarne frammenti all'interno delle entry delle page table.

Intendiamoci: per puro esercizio in una entry puoi infilarci quello che vuoi, ma l'utilità è tutt'altra cosa, e poi... occuperebbe spazio, quando nelle entry lo spazio è tiranno (è limitatissimo).

Tra l'altro, mi dici un solo motivo per cui sarebbe utile?

xciaoatuttix
06-09-2008, 22:38
eh gia in effetti non è utile...
spero solo non mi boccino il progetto per questa stupidata :)

cdimauro
06-09-2008, 23:18
Devi sperare che il tuo prof. non sia ben preparato sull'argomento, oppure, in alternativa... che non legga questo forum. :p

xciaoatuttix
07-09-2008, 11:27
sono piu preoccupato per la seconda :sofico: