Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |
Un sistema operatiu convencional sol separar la memòria virtual en l'espai del nucli i l'espai d'usuari. L'espai del nucli està estrictament reservat per al funcionament del nucli, extensions del nucli i alguns controladors de dispositius. En canvi, l'espai d'usuari és l'àrea de memòria on treballen totes les aplicacions de l'usuari i aquesta memòria que pot es pot intercanviar quan és necessari. El terme anglès userland s'utilitza sovint per referir-se a programari del sistema operatiu que s'executa en l'espai d'usuari.
Cada procés de l'espai d'usuari normalment s'executa en el seu propi espai de memòria virtual, i, llevat que ho demani expressament, no pot accedir a la memòria d'altres processos. Aquesta és la base per a la protecció de memòria en els sistemes operatius comuns d'avui en dia, i una peça clau per a la separació de privilegis. Depenent dels privilegis, els processos poden demanar al nucli que se'ls assigni part d'un altre espai de memòria de procés, com és el cas dels depuradors. Els programes també poden demanar regions de memòria compartida amb altres processos.
Un altre enfocament adoptat en els sistemes operatius experimentals, és disposar d'un espai d'adreçament únic per a tot el programari, i es basen en la màquina virtual del llenguatge de programació per assegurar-se que la memòria arbitrària no es pot accedir - les aplicacions simplement no pot adquirir totes les referències als objectes als quals no es permet l'accés. [1] Aquest enfocament s'ha aplicat en JXOS, Unununium així com al projecte d'investigació Singularity de Microsoft.