Module Quiz
Complete this quiz after finishing all concept and practice pages. Save your answers before opening separate quiz calibration.
Current Module Questions
Question 1: Inode vs Name
A file /tmp/a has inode number 5000 and link count 1. You run ln /tmp/a /tmp/b, then rm /tmp/a. Describe the state of inode 5000, its data, /tmp/b, and the link count.
Question 2: Open-File Table Semantics
Process P opens /tmp/a and gets fd=3. P forks into child C. P writes 10 bytes, then C writes 10 bytes. What does the file look like, and why? Contrast with P opening it twice independently.
Question 3: Path Resolution
Trace open("/home/alice/a.txt", O_RDONLY) down to inode reads. Assume cold dentry cache and ext-style FS.
Question 4: On-Disk Layout
In an ext-style FS with 4 KiB blocks and 256-byte inodes, how many inodes fit per block? Given inode table start LBA = 3 and inode 5000, compute the LBA that holds inode 5000.
Question 5: FS Archetype Choice
A message broker needs to persist millions of small records per second, mostly sequentially. Which archetype (FAT, ext, LFS) fits best, and why?
Question 6: Crash Scenario - Append
An append under data=ordered ext4 issues (1) data block write, (2) journal transaction write, (3) journal commit block, (4) checkpoint metadata to homes. For each crash point, describe the state on remount and what recovery does.
Question 7: Crash Scenario - Naive Append
Repeat question 6 for an FS with no journal, writes in the order (bitmap, inode, data). What is the worst case?
Question 8: Why COW Avoids fsck
In one paragraph, explain why Btrfs or ZFS do not need a traditional fsck and what they need instead.
Question 9: Page Cache and Memory
Why does free -h show most memory as "used" on a production server, and why is that fine?
Question 10: fsync Semantics
write(fd, buf, 4096) returns successfully. You pull the power cable. Is the data on disk? Justify.
Question 11: Sequential vs Random Gap
Given an HDD with 100 random IOPS at 4 KiB and 150 MiB/s sequential, compute wall time to read 1 GiB as (a) sequential, (b) 4 KiB random.
Question 12: epoll vs select Scaling
Why does select scale poorly as the number of watched FDs grows, even when few are ready? Why does epoll avoid this?
Question 13: Level vs Edge Triggered
In epoll, what is the difference between level-triggered and edge-triggered modes, and what does the application have to do differently under edge-triggered?
Question 14: io_uring vs epoll
Why can io_uring outperform epoll + non-blocking I/O on NVMe-saturating workloads, even though both avoid per-FD polling?
Question 15: DMA and Zero Copy
read(fd, buf, N) serves from the page cache. Describe the copies involved. How does sendfile(out, in, ...) or splice reduce them?
Interleaved Review Questions
Prior Module Question 1 (S5 Module 1: Processes & Scheduling)
What is a process's PCB, and why does every context switch touch it?
Prior Module Question 2 (S5 Module 2: Memory Management)
How does demand paging interact with the page cache? Is a memory-mapped file in the page cache?
Prior Module Question 3 (S5 Module 3: Concurrency)
Why is write not thread-safe for arbitrary offsets in all cases? What primitive would you reach for?
Prior Module Question 4 (S4 Systems Programming)
What is a syscall, and roughly what does it cost on modern Linux?
Prior Module Question 5 (S2 Module 5: Advanced Data Structures)
An LSM tree is popular for write-heavy workloads. How does it interact with the file system layer?
Self-Assessment and Remediation
Mastery Level (90-100% correct):
- Retrieval is strong; complete all module and semester evidence gates before advancing.
Proficient Level (75-89% correct):
- Review only the missed concept pages and redo one drill of each missed type.
Developing Level (60-74% correct):
- Rework Practice 1 (internals), Practice 2 (crash consistency), and the FUSE + journaling katas. Expect the crash scenarios and layout tracing to be the main gap.
Insufficient Level (<60% correct):
- Return to the concept sequence. Most likely issue: you are reading the material but not drawing the data structures. Restart with Cluster 1 and work paper-and-pencil traces.
Progression boundary
Quiz performance calibrates retrieval and reasoning. It does not replace runnable work, changed-case transfer, the module assessment or required semester evidence. Consult practice calibration for the additional independent cases.