Logistics

The exam will be just like the other two (possibly a little longer, with extra time given) and in the same classroom as our lecture, but at the final time listed here:

LMU Final Exam Schedule

The exam is CLOSED note and CLOSED computer.

You are allowed to bring ONE 8.5" x 11" (double sided, printed is fine) cheat sheet with any information you'd like with you for consultation into the exam.

The exam may feel long, but that's OK! Take your time, a deep breath or two, and don't worry if you don't finish everything -- it will be likely that your classmates do not either, which will likely be by design.



Topics

Exam III will cover conceptual topics since the last exam. These include:

  • Synchronization: bounded buffer problem, race conditions, critical sections (including components: entry, critical, exit, and remainder sections), qualities of solutions to critical section problem, locks, semaphores and their implementations, POSIX semaphores and their use.

  • Deadlock: characterization, prevention, avoidance, system resource model, resource allocation graphs (RAGs), RAG deadlock avoidance algorithm.

  • Contiguous Memory Allocation: process memory organization in multiprogramming environment, protection, backing-stores, swapping, address binding, physical vs. logical perspectives of memory, contiguous memory allocation (semantics, holes, fragmentation, fit algorithms, and shortcomings).

  • Paging: semantics, page table, page table logical to physical address translation, paging protection and sharing, virtual memory, demand paging, pages and page faults, page-table record keeping (valid-invalid and dirty bits), demand paging optimization (copy-on-write), page replacement, page replacement algorithms: FIFO, OPT, LRU.



Question Types

The examination format may include:

  • Definitions and short answer questions

  • Multiple choice

  • Problems similar to the past classworks

  • Some code analysis in C + POSIX libraries


Be prepared to answer some questions similar to those on the assignments and in-class exercises.

Furthermore, although I won't ask you anything about mechanics we haven't covered in class, you might be expected to apply the mechanics we've learned about in a way that we didn't see in class. If you thoroughly understand the material, there should be no surprises, but still challenges.



Preparation

Here is my general suggestion for preparation order:

  1. Re-read my course notes, re-doing the exercises if you aren't clear on any of them. Importantly: try to answer each "question" box yourself before revealing its answer.

  2. Read the relevant textbook chapters outlined in the Syllabus.

  3. Study any available classwork and homework solutions.

  4. Run / tinker with sample code from lectures.



  PDF / Print