in main.c and don't make it disk specific; the icache is shared. This
doesn't matter since we have only one disk, but conceptually cleaner
and maybe helpful to students for mount lab.
locking plan, which is a difficult to understand because ptable lock
protects many invariants. This implementation has a bug: once in a
while xv6 unlocks a proc lock that is locked by another core.