------------------------------------
When : Wednesday, Dec 4th
Time: 4:30-6pm
Where: Kent 107
Exam prep. office hours: See my Ed post (pinned at the top left panel on Ed). I will not do any review, so please just bring all the questions you have.
Materials:
See schedule
Lectures: L 8 - L 15
Tags: mm3 - mm4, io1 - io3, st1 - st3
Closed book, no cheat sheet
The final exam style is very similar to the midterm.
Mandatory understandings:
TLB miss/hit, the "3-in-1" flow (TLB, paging, virtual memory combined).
Page eviction policies (perfect LRU, clock, clean/dirty, LRU2Q, etc.), pros and cons, and their algorithms.
Disk positioning, seek, rotation, etc.
IO scheduling policies (SSTF, SCAN, LOOK, C-LOOK, etc.), jumps, seek cost, pros and cons.
SSD garbage collection, write amplification, random vs. sequential writes.
FS data management (linked allocation, FAT table, multi-linked, etc.), how they work, and pros and cons.
Journaling, write ordering, file system data/metadata inconsistencies.
RAID schemes, pros and cons, performance/capacity/reliability quantifiable tradeoffs.
VM system call and TLB miss control flows.
(and general understandings of what we covered in class).
# ======================================
When : Wednesday, October 30
Time : discussion time, 4:30-6pm
Where : Kent 107
Exam prep. office hours: See my Ed post (pinned at the top left panel on Ed). I will not do any review, so please just bring all the questions you have.
Materials:
See the schedule page
Lectures: 0 - 7
Tags: pc0 - pc5, mm1 - mm2
Closed book, no cheat sheet
Time conflict: If you cannot make it to the midterm (due to family/medical emergencies, etc.), please email me as soon as possible, not in the last minute. We don't give exceptions for interview travels.
Likely around 120 T/F question worth around 40 points. Think fast, e.g. not more than 15 seconds per question, so total 15 * 120 = 30 minutes. These are exactly the same T/F questions we did in class, with maybe 5-10 new T/F questions. Because there are no surprises for the T/F questions, there is a higher penalty for a wrong answer (-1 point for every wrong T/F answer, out of the total 100 point for the entire exam). So, make sure you really master all the T/F questions and answers.
Short essays and fill in the blank questions worth 60 points. The questions will revolve around things that we discussed in the lecture slides (especially the "..." parts!). Bottom line, if you understand 100% *every* slide that I covered and you know how to fill the "..." parts, then you will do fine (hopefully). You can skip slides that I don't cover in the lecture videos.
I will not ask questions about definitions (e.g., what is a process? What is a heap? What is a virtual memory? What is a semaphore?). This type of questions will not appear.
Instead, I will ask about the general concepts (you must memorize how semaphore works, how page table works, pros/cons of an approach compared to other approaches). Bottom line you need to memorize how every mechanism, every policy, every algorithm works.
I will not ask you to write a lot of code (you have written a lot of code in your projects), therefore you don't have to memorize all the code in the lecture slides. But you do need to understand what the code is all about, what every line does. Thus, I will test your understanding of some code (e.g. what lock is missing? is deadlock possible? why? what's the lock performance? etc.)
Below are the mandatory materials that you need to understand:
Locks: the purpose of every line in the final implementation of lock()/unlock() routines
Semaphores: the semaphore initial values and the purpose of every line in the final implementation of the NP-NB-NC solution.
Readers/writers: the purpose of ever sema_down/sema_up in the final R/W solution (including how sema_down and sema_up works).
CPU scheduling: the advantages and disadvantages of every basic CPU scheduling policy (FIFO, SJF, STCF, RR). General pros/cons of MLFQ (but you don't need to memorize what every version of MLFQ is doing, you just need to understand the pros/cons of a certain policy). When all kinds of interrupts happen. Meanings of Ready/Blocked/Run states.
Memory management: the advantages and disadvantages of every memory management schemes (BB, Segmentation, Paging, Seg+Paging, 2-level Paging).
Addressing: translation from virtual to physical address in all management schemes (as well as the reverse concept -- the creation of pointer values). You must know how to chop the virtual address depending on the specification provided.
Memory management math: e.g., given the setup of the virtual address, what are the maximum sizes of pages/segments, how many segments/pages can be supported, how to translate virtual to physical addresses, etc.?
Memory sharing: between two processes, specifically lecture mm1, slide 53, fine-grained sharing -- given the figure, where a frame is being shared by two processes P1 (*p) and P2 (*q), how their page table entries are being setup?
# =========================================