Modern Operating Systems by Tanenbaum is widely used;
one of its claims to fame is that Linux was developed from the Minix
OS developed in an earlier version of this book.

  1. What is a system call?
  2. How is a system call different from a library call?
  3. What is a device driver?
  4. What is livelock? What is deadlock? Give examples of each.
  5. What is a race? What can you do to prevent races?
  6. What is a mutex? What are semaphores? How are they implemented?
  7. Give examples of system calls that are not related to input-output.
  8. Give examples of library functions that call a system function all the time, none of the time, and some of the time.
  9. What is the time lag between the system call on the client side and the receipt of the packet on the server on a LAN?
  10. How fast can you write a gigabyte of data from RAM to disk?
  11. How does TCP/IP work?
  12. What is DNS?