CS3431 - Final Examination

The final for CS3431, Winter 1998 will be on Monday, March 16 at 8:00AM until 10:50AM. The exam will be CLOSED BOOK, CLOSED NOTES. All material covered in any of the assigned readings from chapters 1 through 12 in the textbook, or anything we discussed in class is potential material. However, you don't need to memorize any algorithms. Several exam questions refer to particular algorithms that we have discussed, but I will always give the actual algorithm to you in the text of the question. I hope the exam will quiz your understanding of the material rather than memorizing it.

Chapter 1, Introduction. This is just background material, so don't expect any explicit questions on this material, but the background may be useful in formulating answers for some questions.

Chapter 2, Computer System Structures. Again this is more background material, so again there are no explicit questions on this, but understanding of this material is useful.

Chapter 3, Operating System Structures. We covered this material in some detail on the midterm, so there are no explicit questions on this, although one question requires some pretty good knowledge on this material. You did manage to keep your job at Monoposoft as a system designer, and are again faced with "suggestions" from an ill-informed manager about how to design a particular aspect of an O/S.

Chapter 4, Processes. We hardly had a single lecture all year where we did not mention processes in some way or another. We discussed at length what a process is, how the OS manages it, what resources are associated with processes, how we context switch between processes, how we manage/schedule the various resources used by processes, and how processes communicate. Expect at least one question on some of these things.

Chapter 5, CPU Scheduling. We pretty much beat this one to death on the midterm, so I didn't include any final exam questions on scheduling.

Chapter 6, Process Synchronization. We spent more time on this chapter than any other, so this should be a clue. We studied in excruciating detail most (all?) of the algorithms presented so you can expect one or more questions on these algorithms. As I previously mentioned, you don't need to memorize algorithms, I will give them to you. We did not study section 6.9, so there will be no questions on that section.

Chapter 7, Deadlocks. We spent quite a bit of time on this as well, so expect at least one question on this. We dissected the Banker's algorithm in great detail, so this should be a clue.

Chapter 8/9, Memory Management and Virtual Memory. We spent a lot of time on this, so again this should be a clue. We went over various memory management techniques, discussing advantages and disadvantages of each. We said that virtual memory is almost universally used in modern systems, so expect some detailed questions on virtual memory, page tables, TLB's, page replacement algorithms, etc.

Chapter 10, File System Interface. We went over this one fairly quickly, and I'm confident that program 2 sufficiently tests your knowledge of this. Enough said.

Chapter 11, File System Implementation. All that time we spent going over what program 2 should do, and how it should do it, is essentially the stuff in this chapter. I said several times in class that there will be final exam questions on this, since we are working in teams on the project. If you were not the "lead" implementor on program 2 for your team, you are still responsible for knowing in some detail what you did to implement the program. Expect at least one question on this.

Chapter 12, I/O Systems. We went over this quickly, so there will be no question on this on the exam.

In general, if you have attended class regularly, read the textbook, understood our in-class discussions, and did your fair share of the work on program 2, you can expect to do reasonably well.

Contact Information:

riley@cc.gatech.edu
College of Computing
Georgia Institute of Technology
Atlanta, GA 30332-0280

Last Modified: Feb. 4, 1998