SGG 13 (01)

13.1 Overview

  • Understand the role of device drivers in the structure of the operating system.

13.2 I/O Hardware

  • Working with the diagram in figure 13.1, describe the components in the typical structure of a personal computer’s bus.
  • “How can the processor give commands and data to a controller to accomplish an I/O transfer?” Think of how special I/O instructions compare to memory mapped I/O. What are the advantages and disadvantages of each method?
  • One can discover that an I/O operation has been complete by two different methods: polling and interrupts. Contrast the two methods and identify scenarios where one is more appropriate than other (of course more appropriate depends on the criteria you use for this analysis; consider at least performance and usability).
  • Data transfer can happen with or without the involvement of the CPU. The direct memory access (DMA) method is appealing in the sense that is uses a special purpose controller to take care of the transfer, leaving the CPU free to work on other tasks. You need to be able to explain how DMA works and to discuss how the use of this method improves the performance of the system.

13.3 Application I/O Interface

  • The big point to focus on, in this section, is the general architecture of the kernel I/O. Study figure 13.6 and try to understand the impact that this structure has on the design of the operating system from the perspectives of modularity and adaptability to different hardware components. 
  • Do you really understand the role of the device driver yet? You need to be able to explain how it bridges the gap between different hardware implementations and the operating system.
  • There are several design dimensions for the I/O devices. Think of how each one impacts the operation of the I/O subsystem and of the trade off between their various option: character-stream vs. block, sequential vs. random access, synchronous vs. asynchronous, blocking vs. non-blocking, sharable or dedicated, speed of operation, read-write/read-only/write-only.

13.5 Transforming I/O Requests to Hardware Operations

  • Work through the details of figure 13.13 and make sure that you can explain the complete life-cycle of an I/O request.
Print Friendly