1. Describe the two methods that are used to provide concurrent operations of multiple processes on a single CPU. What are the advantages of each method? If you were designing a I/O device to interface with a keyboard, which approach would you use and why?
2. One approach to operating system design is to provide as small a kernel as possible and to make all other modules optional. What are the minimum services that must be provided in such a miniature kernel?
3. Compare compilers and interpreters with respect to memory requirements for program execution and CPU requirements for program execution.
4. The use of a CLI (command line interface) provides flexibility and power for the user who knows how to use the CLI effectively. But, effective usage of a CLI requires learning and deeper understanding of the system than that possessed by the typical user. The average user will be more comfortable with the ease of use and consistency of a GUI (graphical user interface). Once learned, the GUI can be navigated and manipulated rapidly. However, there are several capabilities that are easy to achieve with a GUI, but much more difficult with a CLI. Describe at least two of these capabilities.
5. Nearly every operating system separates the file system from the I/O services. Clearly describe at least two advantages in doing so.