Skip to content

Exams phase 4a: Operating Systems question bank (67 questions) - #62

Open
A7med7x7 wants to merge 1 commit into
autopilot/exams-3-reviewfrom
autopilot/exams-4-os-bank
Open

A7med7x7 wants to merge 1 commit into
autopilot/exams-3-reviewfrom
autopilot/exams-4-os-bank

Conversation

@A7med7x7

@A7med7x7 A7med7x7 commented Nov 5, 2026

Copy link
Copy Markdown
Member

Exam phase 4a (docs/exams.md): an Operating Systems question bank.

Stacked on #59 → #58 → #53. This PR targets #59's branch, so the diff shows only this phase.

Why

Operating Systems (17 lessons) had no quizzes and no questions, so its exam page said "no questions yet" and none of its material could reach the review queue. It's one of the two biggest gaps the exam plan called out; Advanced Algorithms is next.

What's in it

src/content/operating-systems/questions.ts: 67 questions, about 4 per taught lesson and 2 per lab, covering all 5 modules. Unlike the 259 migrated questions, every one sets lesson and section, so "Re-read" links in exams and reviews go straight to the heading that teaches the idea.

  • Concepts: interrupts, DMA, dual mode, the timer, system calls and their parameters, policy vs mechanism, microkernels, process states, the PCB, fork(), IPC models, the bounded buffer's BUFFER_SIZE − 1, RPC stubs, race conditions, the three critical-section requirements, Peterson, spinlocks, semaphores, deadlock, dining philosophers, the convoy effect, aging, MLFQ, affinity, MMU, fragmentation, demand paging, copy-on-write, Belady, OPT, second chance, thrashing, working sets.
  • Calculations, with fresh numbers rather than the lessons' own examples: FCFS and SJF average waiting time, exponential averaging, a Round Robin trace, base and limit, best fit, address bits, address translation, internal fragmentation, TLB and demand-paging effective access time, FIFO vs LRU page faults.
  • Labs: >> vs >, pipes, start() vs run(), join(), synchronized methods, wait/notify.

How it was checked

  • Every calculation was worked again by script (FCFS 4.33, SJF 3.67, EAT 120 ns and ≈16.2 μs, fragmentation 2,288 B, translation 6,072, FIFO 4 vs LRU 5, and so on).
  • Claims were checked against the lesson text, e.g. BUFFER_SIZE − 1, the semaphore initial values, "smallest integer = highest priority", the hash table for inverted page tables. Wrong options are typical mistakes, and each explanation says why the tempting one is wrong.
  • New test in question-bank.test.ts: every section must be a real heading in its lesson. I broke one on purpose to confirm the test catches it.
  • exam-page.test.tsx: its "course with no questions yet" example moved from Operating Systems to Advanced Algorithms.
  • npm run lint (0 errors), tsc, npm run test (54 files, 2,453 tests), build.
  • In a browser: the OS course page links to the exam, which draws 20 questions from all 5 modules, scores them per module, and gives every miss a "Re-read" link. Six repeated exams answering the first option scored about 1 in 4, as shuffling should give.

Note

Operating Systems still has no module quiz lessons, so this bank feeds exams and review only. Adding quiz lessons that draw on it is noted in docs/exams.md as a possible follow-up.


Generated by Claude Code

Exam phase 4a (docs/exams.md). Operating Systems had no quizzes, so its
exam page said "no questions yet". It now has 67 questions across all
17 lessons, each tagged with the lesson and section that teaches it,
so "Re-read" links go to the exact heading.

Calculation questions (FCFS and SJF waiting times, exponential
averaging, Round Robin, base and limit, best fit, address bits and
translation, internal fragmentation, TLB and demand-paging effective
access time, FIFO vs LRU faults) use fresh numbers worked again by
script. A new bank test checks every section is a real heading in its
lesson.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EC6Zzt5akQu7TEHdGquZzp

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants