All MicroEvals
Building an OS from scratch
Create MicroEval

Building an OS from scratch

Evaluate AI models on their ability to design, implement, debug, and explain an operating system from scratch. The evaluation covers boot processes, kernel architecture, C and assembly programming, memory management, interrupts, scheduling, system calls, device drivers, and debugging low-level code. Models should demonstrate technical correctness, sound engineering judgment, coherent implementation plans, and the ability to produce buildable, testable code. Reward explicit assumptions, incremental development, reproducible testing, security-conscious design, and honest acknowledgment of limitations. Penalize hallucinated APIs, incompatible code, unverified claims, and unnecessarily complex implementations. The goal is to determine which model can act as a reliable systems-programming mentor and engineering partner throughout the development of a small operating system.

Prompt

You are a senior operating-systems engineer. Design a realistic, technically rigorous roadmap for building a small operating system from scratch, starting with a bootable kernel and progressing toward a usable command-line environment. Assume a beginner-to-intermediate systems programmer who knows basic C and Python, has a Linux development environment, and can use QEMU for emulation. Specify the target architecture, boot protocol, toolchain, repository structure, kernel architecture, and implementation milestones. For every milestone, provide its objective, required concepts, concrete deliverables, dependencies, and tests that prove it works. Explain critical design decisions and alternatives. Identify common failure points, distinguish essential features from optional ones, and avoid promising advanced functionality prematurely. The roadmap must be internally consistent and actionable. Do not provide vague advice such as "implement memory management"; break major subsystems into verifiable steps. State assumptions explicitly.

Drag to resize

Response not available

Drag to resize
Drag to resize
Drag to resize