13.2 I/O Hardware
- Explain the following concepts
- bus
- port
- controller
- device driver
- memory-mapped I/O
- polling
- interrupt
- What are the key differences between polling and interrupt?
- Sometimes the terms interrupt, trap, and exception are used interchangeably. In our textbook context, do they have any difference(s)? If so what are they?
- An I/O port typically consists of four registers. What are they? What are their functions?
- How does DMA work? Explain Figure 13.5
- What does cycle stealing mean in the context of DMA?
13.3 Application I/O Interface
- Explain the following concepts regarding the characteristics of a device
- Character device
- Block device
- Sequential access device
- Random access device
- Synchronous device
- Asynchronous device
- Sharable device
- Dedicated device
- Why character devices sometimes are also referred to as stream devices?
- Why do we say a network device is an input and output device?
- Explain Figure 13.6.
13.4 Kernel I/O Subsystem
- What does I/O scheduling do?
- Explain Figure 13.9
- What are the basic kernel data structures needed to support I/O? Explain Figure 13.12.
13.4 Kernel I/O Subsystem
- Explain the life cycle of a typical I/O request (Figure 13.13)
Miscellaneous
- Explain the general concept behind the select system call.
- Explain the general concept behind the ioctl system call, in particular for setting the terminal
characteristics such as canonical mode and echo mode.