CMSC412: exam 2 info
-
Questions will be from three areas
(below, approx means ±10%):
-
Paging as covered in class and in text (approx 30%)
-
Paging in GeekOS (project 4) (approx 30%)
-
Multi-threaded programs (approx 40%)
-
Regarding paging:
Here are some typical problems:
-
Given virtual address size, physical address size, page size,
protection information, referenced (accessed) information,
and a particular mapping of virtual pages to physical pages:
give the organization of the page map table and the TLB
and fill in whatever entries you can.
-
Given an allocation of physical pages,
a sequence of virtual memory references,
and a page replacement policy:
which references give rise to page faults,
how many pages are read/written to disk,
what would the optimal policy yield.
-
412-S12-Exam 2, problem 2 is an example.
-
Regarding GeekOS:
-
Get a "global" understanding of project 4 and the paging parts of GeekOS.
(including interaction with disk,
what is done in hardware,
what is done in software,
how it affects cpu scheduling, etc.).
-
Understand the discussion slides and the Piazza discussions
of project 4.
-
Of course, retain your "global" understanding of the GeekOS distribution
as covered in the GeekOS overview note:
subsystems, context switching, signal handling, kernel vs user modes, etc.
-
412-S12-Exam 2, problem 1 is an example.
-
Regarding multi-threading, understand the following:
-
All parts of the note on multi-threaded programs,
including all the problems and solutions covered there.
-
Meaning of locks, semaphores, awaits.
(In each case, know both weak and strong.)
-
Implementing (weak/strong) locks for various platforms:
-
Atomic reads/writes only
(Peterson, Bakery, N-process lock using 2-process locks).
-
Atomic reads/writes augmented with atomic test-and-set or atomic swap.
-
Disabling interrupts and access to PCBs.
-
Writing programs using awaits as the only synchronization
construct.
No busy waiting.
-
Writing programs using semaphores as the only synchronization
construct.
No busy waiting.
-
Converting a program using awaits to one using semaphores.
-
412-S12-Exam 1 problem 3 and 412-S12-Exam 2 problem 5 are examples.
-
Topics covered thus far.
-
412-S12 exam 1 and solution.
-
412-S12 exam 2 and solution.