Chapter 5: Input/Output • Must have a familiarity with the issues associated with I/O. • For example, why is so much attention paid to the I/O sub-system by system designers? • What are the two basic categories of I/O devices? • How does the OS interface with the I/O devices? • And so forth. • Make sure you understand Memory-Mapped I/O very well. • Make sure you understand DMA very well.
Make sure you understand the more precise discussion on interrupts. • You need to understand very well Section 5.5 that discusses hardware and software related to clocks. • Make sure you understand the basics of the device drivers.
Sections From Chapter 5 for Which You are Responsible • All pages up to (but not including) Section 5.2. • Section 5.3 up to (but not including) Section 5.3.3. • All of Section 5.5.
File Systems • This is considered a very important issue and you need to understand it very well. • The only part of this chapter that will not be covered on the exam is the Section on Backups. • You need to be familiar with the discussion on file systems from a user perspective. This includes: • File naming • File Structure • File types • File Access • File Operations • How to use I/O calls in a program.
You need to have a firm grasp on: • Memory-Mapped Files • Directory structure • Path Names
File System Implementation • You must be very knowledgeable with the implementation issues. This includes (but is not limited to): • File system layout. • The three methods of keeping track of which blocks belong to which files. You should understand clearly the advantages and disadvantages of each approach (if such disadvantages exists). • If a File Allocation Table or set of i-nodes are given, you need to be able to find all of the blocks belonging to that file. • You must know how directories are implemented and any issues associated with such an implementation.
You need to understand links: • What are the two methods of creating a link? • What are the issues associated with each method? • Why are links useful? • You need to understand the trade-offs in the various approaches to disk space management. This includes: • Block size • Keeping track of free disk blocks • Disk quotas.
Skip the section on backups and resume at File System Consistency. • You need to understand the checks for consistency provided in the text. • You need to know the techniques for increasing file system importance. • Skip the section on Log-Structured files.
You must! Understand the example file systems discussed at the end of the chapter and how each approaches the various implementation issues. • You MUST be able to work through problems such as Figure 6-39. • You might want to look at and work through problems 11,12,17,22, 27,28, and 33-37 inclusive. The exam will also re-visit virtual memory (in light of all you have learned doing part 3 of the B-project.