Ho una domanda abbastanza incasinata: se la page table si riferisce a un processo, e in memoria ho più processi caricati, come fa la MMU a capire a quale processo si riferisce un indirizzo virtuale generato dalla CPU se la VPN è l'indice della page table(e non un campo della tabella)? Mi spiego meglio: facciamo finta che un processo sia diviso in 4 pagine, quindi gli indici della PT sono 00, 01, 10, 11. La entry però è composta dai flag e dall'indice del frame nella quale sono allocate le pagine. Se in memoria ci fosse un altro processo, quindi un altro blocco PCB contentente un'altra page table, e questo processo avesse anch'esso 4 pagine, l'indicizzazione virtuale sarebbe la stessa, poiché entrambe avrebbero 00, 01, 10, 11 come VPN ed eventualmente frame numbers relativi diversi(?). Non capisco, una volta generato l'indirizzo virtuale, cosa venga effettivamente fatto.
Mi scuso perché ho notato solo ora questo commento, rispondo per chi può avere il medesimo dubbio. La MMU si occupa di tradurre gli indirizzi virtuali in fisici e a suo supporto ci saranno dei registri di base e bound, dove il primo indica l’offset che deve applicare per arrivare nella memoria fisica, il secondo è l’indirizzo limite virtuale o fisico (dipende dalle implementazioni) oltre il quale il processo non deve andare. Quindi si, come hai detto nel tuo esempio, potrei avere processi diversi che utilizzano indirizzi virtuali uguali, ma una volta tradotti ciascun processo userà indirizzi fisici diversi (fatta eccezione per eventuali risorse comuni).
Mi state dando un'enorme mano per l'esame di Architettura degli Elaboratori, grazie mille, ottimo lavoro :)
Spiegazione rapida, impeccabile e semplice per spiegare un argomento abbastanza ostico
Ciao é un canale fantastico, contenuti interessanti e spiegati bene complimenti 🤩
Video spettacolare, complimenti !
Più video su architettura degli elaboratori. Molto bravi.
Pov: stai dando sistemi operativi nella sessione estiva T_T
Comunque ottimo video, mi ha chiarito alcune cose :)
In bocca al lupo per l'esame!
numero uno! se domani passo architetture e sistemi operativi è merito tuo ;)
In bocca al lupo :)
Ciao ragazzi, avete in programma di fare un video sull'argomento Monitor in Java?
Sicuramente non è un qualcosa che tratteremo nell'immediato, non escludo che magari in futuro potremmo fare qualche video su Java
Ho una domanda abbastanza incasinata: se la page table si riferisce a un processo, e in memoria ho più processi caricati, come fa la MMU a capire a quale processo si riferisce un indirizzo virtuale generato dalla CPU se la VPN è l'indice della page table(e non un campo della tabella)? Mi spiego meglio: facciamo finta che un processo sia diviso in 4 pagine, quindi gli indici della PT sono 00, 01, 10, 11. La entry però è composta dai flag e dall'indice del frame nella quale sono allocate le pagine. Se in memoria ci fosse un altro processo, quindi un altro blocco PCB contentente un'altra page table, e questo processo avesse anch'esso 4 pagine, l'indicizzazione virtuale sarebbe la stessa, poiché entrambe avrebbero 00, 01, 10, 11 come VPN ed eventualmente frame numbers relativi diversi(?). Non capisco, una volta generato l'indirizzo virtuale, cosa venga effettivamente fatto.
Mi scuso perché ho notato solo ora questo commento, rispondo per chi può avere il medesimo dubbio. La MMU si occupa di tradurre gli indirizzi virtuali in fisici e a suo supporto ci saranno dei registri di base e bound, dove il primo indica l’offset che deve applicare per arrivare nella memoria fisica, il secondo è l’indirizzo limite virtuale o fisico (dipende dalle implementazioni) oltre il quale il processo non deve andare.
Quindi si, come hai detto nel tuo esempio, potrei avere processi diversi che utilizzano indirizzi virtuali uguali, ma una volta tradotti ciascun processo userà indirizzi fisici diversi (fatta eccezione per eventuali risorse comuni).
Potete fare un video dove spiegate l'uso dei thread in c e il passaggio di parametri, strutture al thread?
Le tazze sono in vendita?? Le adoro 😍
Attualmente no, ma magari in futuro...
La page table si trova nella memoria principale o nella memoria secondaria?
Direi memoria principale, facendo parte del PCB.
Infatti questo si trova nella sezione di memoria principale occupata dal S.O.