->> Explain how you handle access to paged-out pages that occur during
->> system calls. Do you use page faults to bring in pages (as in user
->> programs), or do you have a mechanism for "locking" pages into
->> physical memory, or do you use some other design? How do you
+>> B5: Explain the basics of your VM synchronization design. In
+>> particular, explain how it prevents deadlock. (Refer to the
+>> textbook for an explanation of the necessary conditions for
+>> deadlock.)
+
+>> B6: A page fault in process P can cause another process Q's frame
+>> to be evicted. How do you ensure that Q cannot access or modify
+>> the page during the eviction process? How do you avoid a race
+>> between P evicting Q's frame and Q faulting the page back in?
+
+>> B7: Suppose a page fault in process P causes a page to be read from
+>> the file system or swap. How do you ensure that a second process Q
+>> cannot interfere by e.g. attempting to evict the frame while it is
+>> still being read in?
+
+>> B8: Explain how you handle access to paged-out pages that occur
+>> during system calls. Do you use page faults to bring in pages (as
+>> in user programs), or do you have a mechanism for "locking" frames
+>> into physical memory, or do you use some other design? How do you