Computer systems
CS-202
Express study guide
Page content
This page concerns only the lectures and pen-and-paper exercises. It does not concern C. You need to study for C separately (even if you are keeping your project grade from last year). The final will include a C question that is not covered by this study guide.
The
ideal way to study for the final is to review all the lectures (or watch them if you have not done
so already) and do all the pen-and-paper exercises.
If you don't have the time to do all this, here is what I would prioritize. (When I say "do exercises..." I mean do them without looking at the solutions and without asking an LLM. I cannot stress enough the importance of thinking an answer through to the end on your own. Looking at a proposed answer and agreeing with it does not prepare you for the exam.)
- Try final exam 2021, Problem 2. If you have trouble with it:
- Review Lecture 10 (web) and the DNS part from Lecture 11.
- Do Exercises 1 and 2 from the L10-L11 problem set.
- Review Lectures 15 and 16 (network layer).
- Do Exercises 3 and 4 from the L15-L16 problem set.
- If you have time, do Exercises 5 and 6 from the L15-L16 problem set.
- Review Lecture 17 (link layer).
- Do Exercises 1 and 2 from the L17 problem set.
- Retry the problem.
- If you have time: Try final exam 2020, Problem 2, Questions 1, 2, and 3.
- Try final exam 2021, Problem 3, Question 1. If you have trouble with it:
- Review Lecture 14 (TCP).
- Do Exercises 1A, 1B, and 4 from the L14 problem set.
- Retry the question.
- If you have time: Try final exam 2020, Problem 3, Question 1.
- Try midterm exam 2018, Problem 4, Questions 1 and 3. Ignore the sentence that Alice and Bob are "communicating over a Go-back-N transport-layer protocol." Assume that they are communicating over UDP. We did part of this problem in class. That's OK. See if you can reproduce the answers without looking at the slides. If you have trouble with it:
- Review Lecture L13 (Internet performance).
- Do Exercises 3, 4, and 5 from the L12-L13 problem set.
- Retry the problem.
- Review Lecture 18 AKA Special Topic I (Parallelism & concurrency).
- First make sure you get Slides 15-27.
- If you have time and you are going for a good grade, review the rest of the lecture.
- Do Exercise 1 from the L18 problem set.
- Try again this year's midterm without looking at the solution. If you have trouble with it:
- Skim through Lectures 02, 03, and 04. Make sure you get:
- The difference between programs, processes, and threads.
- The concept of the memory image and its segments.
- What each segment contains at each point in time during execution.
- The fork, exec, and wait syscalls.
- The concept of memory virtualization.
- The difference between virtual and physical addresses.
- What the MMU does.
- Do Exercise 7 from the L02-L03 problem set.
- Review Lecture 05. Make sure you get:
- Slides 5 to 23.
- Each process has its own page table.
- What is a linear page table, what it contains.
- What is a page table entry (PTE), what it contains.
- If you have time: What is swapping to disk, when does it happen.
- Do Exercises 1, 2 and 4 from the L04-L05 problem set.
- Review Lectures 06 and 07 with the same focus as for the midterm:
- Recognize the basic syscalls related to file systems: open, lseek, read, write, close.
- What are pathnames, file descriptors and inodes. Convince yourself you perfectly understand the difference between "file descriptor" and "inode."
- The
concept of an "inode walk." What happens when a process accesses a
file, e.g., does an open, then a read or write, then a close. Which
inodes and which data blocks are accessed.
- If you have time: Single-level vs. multi-level indexing. Convince yourself you perfectly understand Slide 13 from Lecture 07.
- If you have time: What is the block cache or FS cache and what it does.
- Do Exercises 4, 5, 6, and 7 from the L06-L07 problem set.
- Review Lecture 09 with the same focus as for the midterm:
- How we define/compute turnaround time and response time.
- The FIFO, SJF, STCF, RR, and MLFQ policies.
- If
you are given the arrival times of different threads, you should be
able to determine which thread is scheduled at each time tick, depending
on the scheduling policy.
- Do Exercises 4, 6, and 7 from the L09 problem set.
- Retry the midterm.
- Skim through Lectures 02, 03, and 04. Make sure you get:
- If you have time and you are going for a good grade:
- Try final exam 2021, Problem 3, Questions 2, 3, and 4.
- Try final exam 2022, Problems 2 and 3.
- Try midterm exam 2018, Problem 4, Questions 4 and 5.
- Do the remaining exercises from our problem sets. Start with the ones from the L18 problem set.
- Try last year's exam from beginning to end, except for Question 5.
If you have the time and interest to look at other past networking exams, skip problems on P2P, Go-back-N, Selective Repeat, poisoned reverse in routing, and security (e.g., SSL) as we didn't cover them this year.