boot_alloc()
: what should it “allocate” & returnstruct PageInfo
: what’s allocating a page from the free listpgdir_walk()
: why to allocate “a new page table page”
inc/memlayout.h
struct proc
in proc.h
scheduler()
→ switchuvm(p)
→ lcr3(v2p(p->pgdir))
cat /proc/iomem
cat /proc/self/map
(or replace self
with a PID)obj->field
inc/memlayout.h
mmap()
: map files, read/write files like memoryread
/write
.so
/.dll
filesuvpt[n]
gives the PTE of page n