Skip to content
NeoDOS-ProjectPublic

About

NeoDOS - A modern NT-like operating system written in Rust for x86-64

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

754 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeoDOS — Un Sistema Operativo Moderno en Rust para x86-64

Version Tests Rust Organization

Official repository moved to the NeoDOS-Project organization.

NeoDOS es un sistema operativo de 64 bits escrito en Rust con arquitectura híbrida: kernel monolítico con subsistema de drivers aislados estilo microkernel. Arranca en UEFI, soporta SMP, tiene un planificador prioritario estilo NT, drivers con certificación y capacidades, un sistema de archivos propio, y un modelo de seguridad ACL-based.

Filosofía: Explícito sobre mágico. Capas, no montones. Fallo rápido, fallo claro. Driver aislado, kernel pequeño.


Arquitectura en 30 segundos

Boot UEFI → Bootloader → Kernel (fases de boot) → NeoInit (PID 1) → NeoShell (Ring 3)

El kernel se organiza en 5 capas verticales:

  1. Arch (x86_64) — GDT, IDT, paginación 4 niveles, SMP trampoline
  2. HAL v0.4 — raw/safe split, 26 primitivas extern "C", asm confinado
  3. System Services — scheduler (4 prioridades, aging, work stealing), memory (buddy+slab, demand paging), KOBJ, VFS, IPC/pipes, IRP async I/O, Event Bus, seguridad NT6
  4. NEM Driver Runtime — pipeline de certificación (8 estados), capacidades (12 flags), aislamiento X4 (16 slots × 1 MB), ABI versionado
  5. Syscall SSDT — SSDT RAX 0-99, tabla de 256 slots, O(1) dispatch, tabla de permisos separada

Estado Actual

Aspecto Estado
Kernel v0.51.5 — 890 tests, SSDT RAX 0-99, 31 fases de boot
Drivers NEM 7 drivers standalone (PS/2, serial, RTC, ACPI, PCI, ATA, AHCI) + 5 reference
User-mode NeoShell Ring 3, 27 binarios .NXE, 2 DLLs .NXL (libneodos, libmath)
Object Manager Ob unificado: handles, KOBJ, URN, seguridad (RAX 60-66)
Input 4 Virtual Terminals (Alt+F1-F4), per-VT input queues, shadow buffers
Virtual Terminals Console state save/restore per VT, framebuffer shadow redraw
SMP 16 CPUs, per-CPU KPRCB, INIT-SIPI-SIPI AP bring-up, IPI (reschedule, TLB shootdown, call-function)
Scheduler Dispatch commit point (SELECT → VALIDATE FRAME → COMMIT → DISPATCH), work stealing, per-CPU runqueues
Seguridad NT6 SRM: SID, Token, ACL, ACE, SeAccessCheck
Rendimiento HPET → APIC timer 1 KHz, slab con per-CPU hot cache, work stealing

Project Organization

NeoDOS is now developed under the NeoDOS-Project GitHub organization.

Repository Description
NeoDOS Main repository (kernel, bootloader, drivers, tools, docs)
.github Community health files, issue and PR templates

Quick Start

NeoDev es una herramienta de desarrollo externa; instálala primero:

cargo install --git https://github.com/NeoDOS-Project/NeoDev.git

neodev build --image     # bootloader + kernel + user binaries + GPT disk image
neodev run               # QEMU + OVMF, serial, GDB :1234
neodev test              # suite de tests automática (890/890)
neodev list              # descubre los proyectos del workspace
neodev clean             # limpia artefactos de build

Si neodev test reporta fallos de filesystem (p. ej. 890/890) tras un arranque interactivo, el disk_image.img quedó sucio: reconstruye con neodev build --image y repite. Ver docs/development/testing.md.


Documentación Clave

Documento Descripción
Visión Arquitectónica Plan director, diagnóstico, roadmap v0.40→v1.0
Arquitectura Arquitectura actual del sistema
Source of Truth Invariantes y contratos arquitectónicos
Boot Boot sequence, fases, GPT layout
Syscalls Referencia completa de syscalls
Object Manager Ob types, namespace, operaciones
Memory Buddy allocator, slab, demand paging
Drivers NEM format, certificación, capacidades
Filesystem NeoFS, VFS, IoStack
Repository Architecture Propuesta de organización multi-repositorio
Documentation Index Índice maestro de documentación
Testing Test suite, harness y caveats
Debug Guía de depuración con GDB

Licencia

NeoDOS es software experimental. Úselo bajo su propio riesgo.

About

NeoDOS - A modern NT-like operating system written in Rust for x86-64

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages