Skip to content

Latest commit

 

History

History
147 lines (115 loc) · 21.3 KB

File metadata and controls

147 lines (115 loc) · 21.3 KB

os1 External References

This document consolidates the external standards, manuals, specifications, RFCs, and other authoritative public references that matter most to os1. It is the central entry point for external technical knowledge that complements the local project documents: README for build and workflow, GOALS for long-term direction, and Architecture for the repository's current live system contract.

The list is curated rather than exhaustive. It favors primary sources first: official standards bodies, vendor manuals, protocol specifications, and normative registries. Where a foundational specification is membership-gated or historically difficult to obtain publicly, this guide points to the nearest official public landing page or the most authoritative open reference that is practical for project work.

Start Here

If you are working on the codebase today, these are the highest-value references to open first:

  • Intel 64 and IA-32 Architectures Software Developer's Manual: The primary x86 and x86_64 reference for privilege levels, page tables, interrupts, APIC and IPI behavior, CPUID, system instructions, and memory ordering.
  • Unified Extensible Firmware Interface Specifications: The main reference for the modern boot path, firmware services, memory maps, GOP, boot services handoff, and UEFI runtime concepts.
  • ACPI Specification 6.5: The primary reference for MADT, MCFG, HPET, SRAT, and the platform-description tables needed for modern x86 bring-up.
  • System V AMD64 psABI: The ABI reference for calling convention, stack alignment, register preservation, ELF relocations, and user-kernel interface boundaries on x86_64.
  • ELF gABI: The core executable and object-file format reference for loaders, relocations, symbol tables, and program headers.
  • OASIS virtio 1.3: The key device specification for virtio-blk, virtio-net, virtio-input, and virtio-gpu class devices in QEMU-first environments.
  • The Open Group Base Specifications Issue 7, 2018 edition: The main public POSIX reference for files, processes, signals, terminals, permissions, threads, and user-space behavior.
  • RFC Editor index: The canonical home for the IETF protocol specifications used for TCP/IP, DNS, DHCP, and SSH.

CPU Architecture, ABI, And Binary Formats

Boot, Firmware, And Platform Discovery

Memory Management, Interrupts, Timing, And SMP

Filesystems, Archives, Executable Loading, And Storage

Device Buses, Discovery, And Driver Interfaces

Networking, Transport, Naming, And Remote Administration

Terminals, Text, Consoles, And Input

Security, Identity, Permissions, And Randomness

Concurrency, Synchronization, And Memory Models

POSIX, User-Space Semantics, And Shell-Relevant Standards

Toolchain, Assembly, Debugging, And Emulation

  • GCC online documentation: Primary compiler reference for freestanding compilation, code generation flags, inline assembly constraints, and target-specific options.
  • LLVM documentation: Useful if the project adds or validates a Clang/LLVM build path later.
  • GNU ld manual: The canonical linker-script reference for section placement, symbol definitions, memory regions, and ELF output control.
  • GDB manual: The source-level and remote-debugging reference for early postmortem and live kernel debugging.
  • NASM documentation: The assembler reference for the project's boot and low-level x86 assembly code.
  • QEMU documentation: The emulator/device-model reference for q35, machine options, serial routing, device configuration, and local reproducibility.

Secondary References Worth Keeping Nearby

These are not the first documents to trust over a specification, but they are exceptionally useful after the normative material above:

Maintenance Notes

  • When a local subsystem document cites an external spec repeatedly, add that external reference here first and then point the subsystem doc back to this file.
  • Prefer versioned specification links when the revision materially changes behavior (ACPI, virtio, NVMe, RFC 9293 versus old TCP RFCs).
  • If an external standard is not publicly available, document the closest official public entry point and explain the limitation briefly rather than silently omitting the domain.