Cross-Layer Interface Maps
Kernel features, libc functions, syscalls, and sysfs attributes are different layers, and the mappings between them are not one-to-one: one libc call may issue zero syscalls (pure userspace), several, or a version-dependent mix; one syscall may serve dozens of libc functions; one kernel feature may need specific glibc versions and runtime prerequisites before it is usable. This section keeps those mappings explicit.
The three maps
| Page | Direction | Rows |
|---|---|---|
| libc → syscall → kernel subsystem | what a libc call actually does below libc | XR-001..XR-014 |
| sysfs class → driver model → tools | how a class reaches hardware and which tools touch it | XR-101..XR-114 |
| feature → version → availability matrix | kernel feature → minimum version → libc support → runtime prerequisites | XR-201..XR-210 |
The coverage ledger tracks all 38 rows with the same status vocabulary as the rest of the encyclopedia (37 documented, 1 source-limited after the 7-d upgrade pass; source-limited rows name the exact missing source).
Reading rules
- Arrows are typed:
wraps(thin libc wrapper),implements(userspace fallback – no syscall),consumes(reads results of),services(kernel side serving the call),gated-by(config/capability/version gates). - Every syscall in a map cites its
SC-<name>ID from the syscall ledger; every class cites itsSYSC-<class>ID from the sysfs ledger; every libc function cites itsGLIBC-<name>row in the glibc ledger. - Non-1:1 cases are the point, not a footnote: stdio buffering (many
printfcalls, zero syscalls until flush),mallocarena model vsbrk/mmap,posix_spawnas a composite ofclone+execve, NSS resolution touching no syscall, the vDSO serving time without entering the kernel.