CS 350 FINAL EXAM COVERAGE ... NMG (Fall 2003)

Posted 12/8/03

Final exam will be given on DEC 16, 2003, TUE 02:00 PM-04:00 PM LH007

Weight of exam is 25% of final grade.

Exam will be closed book except that you may bring in the two “cheat sheets” you used for the first two exams (or a re-make of these cheat sheets), plus one additional “cheat sheet” (8½ x11) for the material after these exams. All cheat sheets will be subject to same restrictions and guidelines as described in the coverage documents for the first two exams – please review these restrictions.

NOTE: “Smokescreens” or unsolicited information will not be a substitute for the correct answer and could cost you points since they may mask out useful information. Be as concise and clear as possible. Points will be taken off for illegible, very small, or un-comprehendible writing. I place a high priority on clear writing - it will be expected in the work force along with technical ability.

The exam will be comprehensive covering Silberschatz, 6th ed., chapters 1 through 14 (see special comments below on chapter 13). Only sections 1-4 will be covered in chapter 14. In general, the material covered in the lectures should be the guide on what will be covered in the final exam, ie., if it was not covered in the lectures it would not be covered in the exam except for “independent reading sections of the book” or any items specifically mentioned below or on the website. There will be additional focus on material not covered after the two midterms. The coverage for chapters 1 through 10 will be the same as for the two midterms. See the coverage handouts for exams 1 and exam 2 for material from chapters 1 through 10. The new material: chapters 11, 12, 13, and 14 will have the following coverage:

Chapter 11: File-system Interface: This is a chapter dealing with very basic file-system concepts which you should already have some familiarity from a general computer science background: The concept of a file and directory and operations that can be done on these structures. Understand access methods, sect 11.2. You are probably already familiar with the directory structures (11.3), except, perhaps, for a “acyclic-graph” directories. Understand these and how they (acylic directories) are related to shared files, and symbolic links in UNIX. Understand “protection and access control” of file systems (11.6 through 11.6.2). You may omit section 11.3.5, General Graph Directory. In addition you may omit sections 11.5. and 11.6.3. Read the short section 11.6.4 on your own. All other sections are required, and if the not explicitly omitted, should be considered as independent reading. The posted annotated lecture notes on the web-site for this chapter are required reading. Note that the instructors notes, “Comments on File System Implementation” are associated with chapter 12 rather than chapter 11.

Chapter 12: File-System Implementation (12.1-): File system organization - the “layered

approach” - a very general concept. What it means to open and close a file and what an open file table is. Know what allocation is, and the problems associated with various allocation methods: contiguous, linked, and indexed. Know the tradeoffs among these access methods. (fragmentation, performance, and random access ability, etc). Know how a directory works in accessing file blocks. Understand the FAT (table) and what problems it solves. Understand the basic idea of the UNIX INODE. Know how all these methods affect performance and efficiency. Know what free-space management is and various methods for doing it. (Bit vector, linked lists with grouping and counting variations). Understand the implementation of directories (linear lists and hash tables). Understand the performance and efficiency, and integrity issues discussed in this chapter. Section 12.7 (briefly mentioned in the lectures) is considered independent reading. A good summary for this chapter is my notes: “Comments on File System Implementation” (required reading), posted on the “Class Notes” link of the CS350 website (chapter 12 material). These notes contain a good description of the FAT allocation method used for PCs’. Read section 12.2.2 independently, it was covered lightly in class (see slide 12.5).
You may omit following sections: 12.2.3, 12.8, and 12.9 (except for slide12.25, NFS: overview). All other sections are required, and if the not explicitly omitted, should be considered as independent reading.

Chapter 13: I/O Systems: For all practical purposes, much of the material from chapter 13 has already been covered in Chapter 2 early in the semester, and from my own related notes, “Notes by Guydosh on interrupt schemes and DMA” (posted also for chapter 13). These notes should be a key guide to material for this chapter, and is considered required reading. You should understand the hardware architecture concepts of I/O devices (memory mapping, direct I/O, (PIO), polling vs. Interrupt schemes, and PIO vs DMA). Understand the role of a device driver. Know about block and character devices. Compare blocking, nonblocking, and asynchronous I/O. You may omit sections: 13.3.2, and 13.6. All other sections are required, and if the not explicitly omitted, should be considered as independent reading.

Chapter 14: Mass-Storage Structure (Sections 14.1- 14.4): Understand how a hard disk is organized (cylinders, tracks, sectors, etc.) Know the various disk-scheduling algorithms, their pros, cons, and tradeoffs. Be able to work out specific disk scheduling problems (quantitatively) as given in the chapter. Understand what formatting means, and the role of the disk in the boot-up process (independent reading). Read the section on bad blocks as “independent reading” (if not covered in he lectures). Understand the purpose, use, and implementation of swap space on a disk.

Projects: As in the midterms, there may be questions related to the projects. Thus, you should review the theory and ideas behind the projects.

Finally: There will be some questions on ethics and social issues as it applies to the computer industry. These will be based on lecture discussions, posted notes and links.

The general format of the exam: The final exam format will be similar to that of the midterms.

Final Note: There is a reasonable chance that there will be a problem on process synchronization, and

Memory management/virtual memory, since these were a very significant part of this course. You should know how to do addressing and manipulate addresses using hexadecimal … think in hex/binary!

In general pay special attention to the lecture notes PPT annotated slides and supplementary posted notes. The lecture notes/slides give a good “road map” what you should know for this test.

Also conceptual questions could be asked related to the projects.