Concentriamoci sui sistemi informatici uniprocessore. Quando viene creato un processo, per quanto ne so, viene impostata la tabella delle pagine che mappa gli indirizzi virtuali nello spazio degli indirizzi di memoria fisica. Ogni processo ottiene la propria tabella di pagine, memorizzata nello spazio degli indirizzi del kernel. Ma come fa la MMU a scegliere la giusta tabella di pagine per il processo poiché non c'è solo un processo in esecuzione e ci saranno molti switch di contesto in corso?In che modo il sistema sceglie il corretto Page Table?
Qualsiasi aiuto è apprezzato!
migliore, Simon
Grazie per la rapida risposta. Quindi dici che il sistema operativo esegue il flush e ripristina la tabella delle pagine su ogni switch di contesto? – saimn
@ user1435023 In sostanza. Il sistema operativo dice alla MMU dove la tabella si trova nella memoria fisica come un puntatore, quindi la MMU gestisce lo svuotamento del TTL e altre attività hardware. A seconda della MMU, il sistema operativo può avere un controllo più dettagliato dei dettagli di basso livello, ma questo non è strettamente necessario. Al livello più semplice, tutto ciò che interessa il sistema operativo è comunicare alla MMU quale tabella di pagina utilizzare. – Dougvj
@ user1435023 Correzione: significa TLB sopra, * non * TTL. Nathan Binkert ha risposto di più sull'aspetto TLB delle cose – Dougvj