CSCI 4320 (Principles of Operating Systems):
Review for Final Exam
Format of the exam
The exam will be during the regularly scheduled exam periods
(8:30am--11:30am December 11 and 8:30--11:30am December 13).
You may attend either time. It should take you about 75 minutes,
but you may use the full 3 hours if you choose.
You may use your textbook and any notes or papers you care to bring,
but you may not use other books, or of course each other's papers.
You may bring a calculator if you choose, although any calculations
on the exam should be doable with pencil and paper only.
The exam will be comprehensive, but will focus on material covered
since Exam 2.
Lecture topics to review
You are responsible for all material presented during lecture,
but the following is a list of topics I consider most important.
- Material from Exam 1:
- What an operating system is and why we want one.
- History/evolution of operating systems.
- Functions we would like an operating system to provide.
- Operating system structure and characteristics.
- Abstract "processes" as a way of modeling "things happening
at the same time".
- Coordinating the actions of processes using semaphores.
- Concurrent algorithms (mutual exclusion, bounded buffer,
etc.).
- What functionality we need (and/or can expect)
from hardware in order to write a reasonable operating
system.
- Designing an "only on paper" operating system, step 1:
representation of processes,
first-level interrupt handler, dispatcher,
implementation of semaphores.
- Coordinating the actions of processes using shared
variables.
- Material from Exam 2:
- Memory management.
- Review of process management (from chapter 4).
- CPU scheduling.
- New material:
- File and file system abstractions.
- Implementing file systems.
- I/O subsystems.
Reading to review
You should have read (or at least skimmed) all of chapters
1, 2, 3, 4, 5, 6, 8, 9, 10, 11, and 12.
The following is a list of sections to read more carefully and/or
review.
- Material from Exam 1:
- Chapter 1 (sections 1.1, 1.2, 1.3, 1.4, 1.5, and 1.9).
- Chapter 2 (sections 2.1, 2.5, 2.6, and 2.7).
- Chapter 3 (sections 3.1.1, 3.2, 3.5, and 3.9).
- Chapter 4 (sections 4.1, 4.2, 4.3, 4.4, 4.5, and 4.7).
- Chapter 6 (sections 6.1, 6.2, 6.3, 6.4, 6.5, and 6.10).
- Material from Exam 2:
- Chapter 8 (all sections except 8.7).
- Chapter 9 (all sections, but can skip/skim details in
sections 9.5, 9.6, 9.7, 9.8, and 9.9).
- Chapter 4 (sections 4.2 and 4.3).
- Chapter 5 (sections 5.1, 5.2, 5.3, 5.6, and 5.7).
- New material:
- Chapter 10 (all sections except 10.5).
- Chapter 11 (all sections except 11.5).
- Chapter 12 (all sections).
You may also find it helpful to review the following sections
from earlier in the course, which at the time we
skimmed/skipped:
- Chapter 2 (sections 2.2, 2.3, and 2.4).
- Chapter 3 (sections 3.1, 3.3, 3.4, 3.6, and 3.7).
You may also find it helpful to read the half-page between-chapters
introductions on pages 1, 87, 237, and 395.
Additional hints
You may find it helpful to review homeworks and previous exams,
and their solutions.