paged memory
- processes each see translated memory addresses (can't see physical
memory addresses directly)
- only kernel can see untranslated memory addresses directly
- thus in kernelspace we can see specific addresses but in
userspace we can't
- kernel "sees" reality
- kernel "sees" itself at beginning of memory space (and thus is at
beginning in reality)
- each process "sees" itself as starting at beginning of memory space
and "sees" the kernel as being at the end of memory space
- each process may "see" more memory than there actually is, for the
following reasons:
- swap facilitates more space than actually present
- each process "sees" itself as the only process on the system
- NOTE THAT KERNELSPACE RUNS IN PRIVILEGED MODE
example
kernel
bash
gcc
ema...
emacs