1. Why might an OS programmer want to disable interrupts? (Hint: Think about what you might have to do if you were writing code that drove the Mars rover (a device with real time constraints)).
  2. How does direct memory access (DMA) work? Why is DMA so useful in modern computer hardware?
  3. Compare and contrast programmed I/O and memory-mapped I/O.
  4. Explain how synchrous I/O is different from asynchrous I/O. What are the advantages of each approach?
  5. What are the differences between a LAN and a WAN?
  6. Systems buses, which connect the CPU to memory and to other peripheral devices, are a type of an interconnect. Networks, which connect computers together, are another type of interconnect. Outline how the technology used to network computers together differs from the technology used to connect computer parts internally, and give a reason for the difference.
  7. True or False: System libraries operate in privileged mode.
  8. Name three events that could take place in a user process and that would switch the mode of operation from user to privileged.
  9. Which of the following instructions must be privileged?
  10. Describe, step by step, what happens in the system when a user executes a system call, such as open(...) on UNIX?