You should be able to build and run xv6 using make qemu or
make qemu-nox, using the same tools for JOS.
Let’s do a quick exercise to get familiar with xv6.
Recall that last week we used strace to observe the arguments
and return values of Linux system calls.
Modify xv6 to print out similar information (hint: syscall() in syscall.c).
For example, you should see the following after booting:
This is init forking and execing sh, sh making sure only
two file descriptors are open, and sh writing the $ prompt.
Questions
how’s lab 1? start lab 2 now!
why JOS maps two 4-MB ranges during booting
will move kernel to high memory and leave low memory for user space
make sure you understand exercise 8, lab 1
writes to [0, 4M) will cause a page fault; writes to the other won’t - why
why not just a 4K single-level page table
save space: on-demand allocation of the 2nd-level (page table pages)