Skip to content

Latest commit

 

History

History
209 lines (172 loc) · 13.1 KB

README.md

File metadata and controls

209 lines (172 loc) · 13.1 KB

NeoDOS Documentation

Version: v0.51.5 | Tests: 890 (kernel) | ABI: v8

Architecture

Document Description
Overview System architecture, boot flow, GPT layout, subsystem map
Source of Truth Enforceable invariants, MUST/MUST NOT rules
Vision Long-term strategy v0.40 → v1.0
Repository Architecture Multi-repo proposal, dependency analysis
AHCI Stability AHCI stability improvements, multi-sector read batching
Disk Layout NT-style disk layout proposal (WIP, not implemented)
Package Manager Architecture Package manager design

Boot

Document Description
Boot Flow Bootloader, kernel boot phases, GPT layout

Kernel

Document Description
Syscalls Full SSDT table, calling convention, migration status
Object Manager Ob types, namespace, operations, handles
Object Manager Design Historical design document, migration plan
IPC Pipes, IRP, work queue, event bus
Interrupts IRQL, IOAPIC, MSI-X, DPC, IPI
HAL Hardware abstraction layer, ABI, GDT/IDT
Logging Kernel logging infrastructure

Scheduler

Document Description
Scheduler Priorities, aging, SMP, work stealing

Memory

Document Description
Memory Buddy allocator, slab, demand paging, mmap

Drivers

Document Description
Overview NEM format, lifecycle, caps, isolation
NEM Spec NEM driver format specification
Driver Migration Driver migration guide
KCR Compliance Kernel Certification Requirements

Filesystem

Document Description
Overview NeoFS, VFS, IoStack, FAT32, page cache
NeoFS v2 NE2 filesystem design, indirect blocks, copy-on-write
VFS Usage Patterns VFS patterns and conventions

Networking

Document Description
Stack TCP/IP stack, sockets, DHCP, e1000
Userland Network userland architecture

Security

Document Description
Security SID, Token, ACL, SAM, SeAccessCheck

Registry

Document Description
Registry Cm syscalls, cell-based hive, paths

Services

Document Description
Power Manager Power plans, ACPI, shutdown coordination
NTP Daemon ntpd architecture, config, lifecycle, limitations

Userland

Document Description
Shell Commands, pipeline, TAB, user binaries
libneodos User-mode library API
NXE Format ELF note metadata, TLV tags
NXP Format Package container format, manifest
NXE Ecosystem NXE/NXP format, resources, i18n, tools
NLT/i18n NLTv2 format, API, compiler, workflow
Packages Package system overview

Development

Document Description
Debugging GDB setup, debug tips
QEMU Setup QEMU + OVMF setup guide
VirtualBox VirtualBox setup guide
Configuration Build configuration options
Testing Test suites, how to add tests
Capability Discovery Mandatory agent workflow: discover, verify, file Issues, report
Contributing Contribution guide, workflow, conventions
Triple Fault Audit Diagnóstico técnico y auditoría del reinicio por Triple Fault
GPF netd Audit — Fase 1 Auditoría forense Fase 1: GPF en iretq al seleccionar netd — verificada instrucción-a-instrucción
GPF netd Audit — Completa Auditoría completa GPF netd A-K + validación forense 2026-09-17
Graphify Herramienta auxiliar: grafo de conocimiento para agentes IA (workspace, crates, syscalls, drivers)
Network Recovery — Forensic Report e1000 NEM ABI / DMA ring alignment / DHCP service recovery (netd, SMP)
Network Recovery — VirtualBox Validation Bridged e1000 validation of the network stack in VirtualBox

Investigation

Document Description
SMP Bring-Up SMP bring-up investigation
Phase 13 — AP Scheduling Design Design for AP dispatch (real SMP scheduling)
Phase 13 — AP timer iretq #GP Forensics Forensic investigation of the AP timer iretq #GP
F-01/F-02 Adversarial Audit SMP current identity, zombie reap, stack UAF
KBD Input Queue Investigation Keyboard input queue investigation
KBD Investigation Report Keyboard subsystem investigation report
KBD Pipeline — Fase 0 Black-box + white-box keyboard pipeline
KBD SMP Queue Validation Keyboard SMP queue validation report
#293 SMP4 shell GPF GPF in the shell iretq of syscall_handler_asm
#331 SMP>1 exit TLB-shootdown self-deadlock Recursive SCHEDULER lock in process-exit page free
P0-4.1 Scheduler Handoff (archived) Transient scheduler handoff (2026-08-28), superseded by develop
#338 Ring-0 Ready frame publication netcfg stalls after one iteration
#340 e1000 RX init / DHCP first-DISCOVER loss RX init order, DD+len=0 descriptors
#340 netd / sys_yield / scheduling netd scheduling investigation (2026-09-30)
#343 Service Manager lock-order inversion PAGE_CACHE / BLOCK_DEVICES lock-order inversion
#346 SMP>1 idle-thread frame corruption SS=0x15 / stack canary
#348 idle-stack canary unsound check_kernel_stack_canary on the 4 KiB idle stack
#474 SMP2 Ring-0 INVALID_OPCODE rip=0x148 wild iretq
#476 VirtualBox SMP2 INVALID_OPCODE rip in another thread's stack
#476 IRETQ frame audit IRETQ_BAD_FRAME
#476 foreign rsp revert-desync fix Foreign rsp stored into a saved context
#476 close syscall KPRCB/RSP window Close the ownership window
#476 allocator FREE_BAD audit Allocator/resource ownership audit
#477 atomic user/heap slot claim Atomic slot-claim fix
#482 wait_for_process publish order KPRCB vs bootstrap stack
#488 boot-thread IRETQ false positive IRETQ_BAD_FRAME exemption
#491 ntpd clock-set denied Stale RTC NEM driver in the image; build-pipeline root cause
#501 NeoInit SUSP Bootstrap hand-off marked the wrong thread; shell never started
Revisión issues type/bug — 2026-10-01 Issue triage on investigate/376-phase2
Scheduler state-invariant audit Scheduler invariants (2026-09-29)
Code Health Audit — 2026-09 Code health audit
VFS concurrency baseline (#83/#519) Lock topology, order graph, contention hot spots, baseline
VFS lock stabilization report (#83/#519) Implemented locking discipline, tests, readiness

Design Proposals

Document Description
Audio API Audio device + Ring 3 PCM API (#469)
Display / Framebuffer API Ring 3 display/framebuffer API design (#465)
File Seek File handle seek / read-at-offset (#468)
FPU / SSE Context Save/restore FP/SIMD on context switch (#471)
Large NXE Binaries Binary size cap and user stack (#470)
Monotonic Clock Monotonic uptime + sleep (#467)
System Config, Time Zones, HTTP/TLS, Updates Master design: neocfg, time zones, libhttp/neocurl, libtls, libupdate/neoupdate
Time Zone / Local Time Timezone/local-time design: Ob classes 43/52, libtimezone (TZif)
HTTP/TLS/Update Kernel Prerequisites TCP connect fix, Ring-3 CSPRNG, fsync + atomic replace
HTTP Client (libhttp) + neocurl HTTP/1.1 client + diagnostic CLI
TLS / HTTPS (libcrypto + libtls) TLS 1.2/1.3, trust anchors, hostname validation, CSPRNG
Signed Updates (libupdate + neoupdate) Manifest, Ed25519 trust model, safe transaction
NXP Packages, MSI Installation & Package Management .nxp format, NeoDOS .msi bundles, libneopkg/neoget, trust, transactions
Raw Keyboard API Raw keyboard event API (#466)
Font Manager Font manager design proposal
NeoCfg Configuration system design
NeoKBD Keyboard system design
Registry Improvements Registry improvements proposal
Service Manager Service Manager (Sm) design proposal
Shell Improvements Shell improvements proposal
Users & Security Users and security design

Reference

Document Description
History Project history
System Audit (2026-10-07) Auditoría integral SO: madurez, riesgos, docs vs código
Audit Report Auditoría separación de repos (histórica; migración ejecutada)
Glossary Terminology and acronyms
Boot Audit — NeoShell Boot/NeoShell audit
Scheduler Audit Scheduler P0 audit — runqueue invariants

Project Roadmap

Document Description
ROADMAP.md Master roadmap: phases, milestones, priorities
roadmap/improvements.md Local task list (synced with GitHub Issues)
CHANGELOG.md Release changelog

Related Projects

Project Repository
NeoDev github.com/NeoDOS-Project/NeoDev
NeoDOS Dev Server github.com/NeoDOS-Project/neodos-dev-server
NeoTools github.com/NeoDOS-Project/NeoTools