Study Materials
These are materials to help you prepare for exams. You may also want to review the slides and other materials in the Files tab of the General channel in Teams.
Final Exam
This exam will be on Moodle during finals week. It will open at the start of the first final exam period (Wednesday, December 2 at 8 AM) and close at the end of our designated final exam period (Friday, December 4 at 2:30 PM). Once you begin the exam you will have 2.5 hours to finish (the standard final exam period length).
Worksheets
Topics
The final exam will focus more on topics covered since the midterm exam, but there will be questions that ask you to tie together concepts from before and after the midterm.
Topics since the midterm:
- Concurrency
- Threads
- Race conditions
- Critical sections
- Locks
- Mutexes
- Spin locks
- The need for OS and hardware support
- Condition variables
- Semaphores
- Virtual files in Linux
- I/O Devices
- File systems
- Files and directories
- On-disk data structures
- Superblock
- inodes
- Data
- Free block tracking
- Journaling
Midterm Exam
This exam will be on Moodle. It will open on Saturday, October 3 at noon and close on Monday, October 5 at 11:59 PM Wooster time. Once you begin your attempt you will have 2 hours to complete the exam.
Worksheets
Topics
- General roles of an OS
- Limited direct execution
- User mode vs kernel mode
- System calls
- Processes
- Program vs process
- Registers
- Creation (fork and exec, shells)
- States - running, ready, blocking
- Scheduling
- Context switching
- Traps and interrupts
- Metrics
- Turnaround time, responsiveness, overhead
- Preemptive scheduling
- FIFO, SJF, round-robin, MLFQ
- Fragmentation
- Managing heap space
- Keeping track of free and allocated regions
- Coalescing free regions
- Virtual memory
- Why is it necessary?
- Virtual addresses vs physical addresses
- Paging
- Virtual to physical page mapping
- Tradeoffs between smaller and larger page sizes
- Page number and offset components of addresses, and how that relates to page size
- Page tables
- TLBs
- Swapping
- Page faults
- Page replacement
- C