.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- domanda compitino (http://www.dsy.it/forum/showthread.php?threadid=43772)


Posted by susy on 26-06-2014 16:24:

domanda compitino

Ciao ragazzi, questa era una domanda del secondo compitino di sisop (che non ho passato, porca miseria se lo odio sto esame):
che cosa ritorna questa funzione:

return (pp - pages) << pgshift

sono andata a vedere nel file kern/pmaps.h ma non riesco a capire cosa fa!

Aiuti?


Posted by Cronovirus on 26-06-2014 16:47:

Restituisce l'indirizzo fisico corrispondente al frame pp!
pp - pages : aritmetica dei puntatori, ottieni il NUMERO del frame a cui corrisponde pp
<< pgshift : moltiplica il numero precedentemente trovato per la dimensione di una pagina, così da avere un indirizzo fisico!

In conclusione era la funzione page2pa(struct PageInfo *pp).
È chiaro o ci sono dei dubbi? :)


Posted by susy on 26-06-2014 17:15:

Gia è più chiaro, ma il frame di cosa? Perchè ricordo vagamente alcune delle risposte e riguardavano se non sbaglio la page directory e la page table o qualcosa del genere!


Posted by Cronovirus on 26-06-2014 17:31:

La memoria è suddivisa in frame (o pagine) da 4K ciascuna: l'array pages rappresenta tali pagine (infatti è di dimensione npages, ovvero il numero totale di pagine fisiche presenti nel sistema).
Quindi facendo pp - pages hai il numero (progressivo) di pagina fisica a cui corrisponde pp.
Devi entrare nell'ottica che la struttura pages rappresenta i frame fisici e che questa è una funzione che ti permette di passare dalla struttura che rappresenta il frame fisico, al frame fisico reale!

P.s qui le page directory e le page table non c'entrano nulla!!


All times are GMT. The time now is 14:51.
Show all 4 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.