9.5 Exercises
-
1.
Modify xv6’s pipe implementation to allow a read and a write to the same pipe to proceed in parallel on different CPUs.
-
2.
Modify xv6’s scheduler() to reduce lock contention when different CPUs are looking for runnable processes at the same time.
-
3.
Eliminate some of the serialization in xv6’s fork().