Skip to content

Coverage Map

Imported from _research/manual-study-linux/coverage-map.md.

Linux Coverage Map

This map defines the first exhaustive review surface. It is intentionally selective: Linux is too large to review line-by-line in one pass, so each track starts from architectural entrypoints and expands outward only when evidence requires it.

Boot, Init, And Process Model

  • Primary source: init/main.c, kernel/fork.c, kernel/exit.c, kernel/pid.c, include/linux/sched.h.
  • Documentation: Documentation/admin-guide/kernel-parameters.rst, Documentation/process/*.
  • Questions: how kernel initialization stages compose, how tasks are created, how lifecycle ownership is tracked, and which pieces translate cleanly to Rust.

Scheduler And Task Lifecycle

  • Primary source: kernel/sched/core.c, kernel/sched/fair.c, kernel/sched/rt.c, kernel/sched/deadline.c, kernel/sched/sched.h.
  • Documentation: Documentation/scheduler/**.
  • Questions: runqueue ownership, wakeups, preemption, scheduling classes, latency tradeoffs, and AI-aware scheduling hooks.

Memory Management

  • Primary source: mm/memory.c, mm/mmap.c, mm/page_alloc.c, mm/slab_common.c, include/linux/mm.h.
  • Documentation: Documentation/mm/**, Documentation/core-api/mm-api.rst.
  • Questions: page ownership, faults, mapping lifetimes, allocation strategy, and Rust-safe memory APIs.

VFS And Filesystems

  • Primary source: fs/open.c, fs/read_write.c, fs/namei.c, fs/inode.c, fs/super.c, include/linux/fs.h.
  • Documentation: Documentation/filesystems/**.
  • Questions: file descriptor flow, inode/dentry models, operations tables, namespace boundaries, and trait-based Rust equivalents.

Networking

  • Primary source: net/socket.c, net/core/dev.c, net/ipv4/*, include/linux/netdevice.h.
  • Documentation: Documentation/networking/**.
  • Questions: syscall entry, socket layers, packet flow, protocol registration, and async/event-driven Rust translation.

Drivers And Device Model

  • Primary source: drivers/base/core.c, drivers/base/bus.c, drivers/base/driver.c, include/linux/device.h.
  • Documentation: Documentation/driver-api/**.
  • Questions: device lifecycle, bus/driver binding, sysfs exposure, and safe Rust driver interfaces.

Synchronization, RCU, Locking, Atomics

  • Primary source: kernel/locking/**, kernel/rcu/**, include/linux/spinlock.h, include/linux/mutex.h.
  • Documentation: Documentation/RCU/**, Documentation/locking/**, Documentation/memory-barriers.txt.
  • Questions: concurrency contracts, lock ordering, lifetime safety, and Rust ownership models.

Timers, Interrupts, Workqueues

  • Primary source: kernel/time/**, kernel/irq/**, kernel/workqueue.c.
  • Documentation: Documentation/timers/**, Documentation/core-api/irq/**.
  • Questions: deferred work, interrupt boundaries, timer ownership, and deterministic testing models.

Observability: Trace, Perf, BPF

  • Primary source: kernel/trace/**, kernel/events/**, kernel/bpf/**, tools/perf/**, tools/testing/selftests/bpf/**.
  • Documentation: Documentation/trace/**, Documentation/bpf/**, Documentation/admin-guide/perf/**.
  • Questions: introspection architecture, programmable observability, safety verification, and AI-readable runtime telemetry.

Security, Isolation, Namespaces, Cgroups

  • Primary source: security/security.c, kernel/cgroup/**, kernel/nsproxy.c, kernel/user_namespace.c.
  • Documentation: Documentation/security/**, Documentation/admin-guide/cgroup-v2.rst, Documentation/admin-guide/namespaces/**.
  • Questions: policy hooks, resource boundaries, identity, capabilities, and agent sandboxing.

Build, Kconfig, Modules

  • Primary source: Kconfig, Makefile, scripts/kconfig/**, kernel/module/**.
  • Documentation: Documentation/kbuild/**.
  • Questions: feature selection, conditional compilation, build graph shape, and Rust workspace/package equivalents.

In-Kernel Rust

  • Primary source: rust/kernel/**, rust/helpers/**, samples/rust/**.
  • Documentation: Documentation/rust/**.
  • Questions: safety wrappers, C interop, ownership boundaries, driver model, and what can be reused conceptually in a Rust-first system.

Block I/O And Storage Stack

  • Primary source: block/blk-core.c, block/blk-mq.c, include/linux/blkdev.h.
  • Documentation: Documentation/block/**.
  • Questions: request submission, queueing, multiqueue dispatch, completion, throttling, and safe Rust block-driver APIs.

Architecture Layer

  • Primary source: arch/x86/kernel/head64.c, arch/x86/entry/common.c, arch/x86/mm/fault.c, with arch/arm64/kernel/entry.S as a comparison path.
  • Documentation: Documentation/arch/**.
  • Questions: boot entry, syscall entry, exception handoff, architecture glue, and the unsafe boundary between machine code and generic Rust abstractions.