Domanda

Sto leggendo il libro "moderno sistema operativo". E sto confuso circa il "Formato pagina".

Nel libro, l'autore dice,

  

L'indirizzo a 16 bit virtuale in ingresso è   suddiviso in un numero di pagina a 4 bit e   12-bit offset. Con 4 bit per il   numero di pagina, possiamo avere 16 pagine, e   con 12 bit per l'offset, possiamo   affrontare tutti 4096 bytes all'interno di un   pagina.

Perché 4096 byte? Con 12 bit, possiamo affrontare 4096 voci all'interno di una pagina, corretta. Ma, una voce è un indirizzo (in questo caso, formato indirizzo = 16 bit). Quindi penso che possiamo affrontare 4096 (la voce) * 16 (bit) = 4096 (la voce) * 2 (byte) = 8 KB, ma perché il libro dice che siamo in grado di affrontare 4096 (byte)?

Grazie in anticipo! :)

È stato utile?

Soluzione

Ciò presuppone byte indirizzato memoria (che quasi ogni macchina prodotto negli ultimi 30 anni usi), in modo che ogni indirizzo si riferisce ad un byte, non una voce o indirizzo o qualsiasi altro valore maggiore. Per contenere un valore a 16 bit, avrete bisogno di due indirizzi consecutivi (due byte).

Più di 30 anni fa, ci consente di essere macchine che erano parola rivolta, che ha lavorato come te supposizione. Ma tali macchine hanno avuto un momento difficile trattare con i dati di byte-oriented (come caratteri ASCII), e così sono caduti in disgrazia. Al giorno d'oggi, le cose come indirizzabilità di byte, 8-bit byte e interi gruppi di due-complemento sono praticamente appena assunto.

Altri suggerimenti

I 12 bit sono un offset all'interno di una pagina. Le è compensato in byte, non gli indirizzi. 2 ^ 12 è 4096.

Cosa si sta calcolando sia la dimensione della pagina, vale a dire la dimensione di una pagina nella tabella di pagina nella memoria. Come si usa 12 bit per l'offset, ciascun frame nella memoria fisica è 2 ^ 12 = 4096K. Tuttavia, ogni pagina nella tabella pagina occupa 2 ^ 12 iscrizioni x 2 byte = 8K nella memoria.

va bene in modo da avere 16 bit di indirizzamento virtuale Vediamo cosa significa .E significa che hai 2 ** 16 = 65536 byte.

numero di pagina 4 bit che significa che ci sono 16 pagine come 2 ^ 4 = 16 Ora è il nome le pagine come Pagina1, Pagina2 ... Pag.16.

ora ci ritroviamo con 12bits Vediamo quanti indirizzo possono rappresentare 12 bit 2 ** 12 = 4096 byte

65536 byte potrebbe anche essere ottenuto dividendolo in 16 pagine contenenti 4096 byte ciascuno come 4096 * 16 = 65536

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top