You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NeoDOS ha completado su fase de prototipo funcional. El kernel tiene una base sólida:
Object Manager completo (23 ObTypes, 9 syscalls Ob), stack TCP/IP, drivers NEM con
aislamiento, Registry con persistencia, VFS con NeoFS v2, planificación SMP, IRQL,
KWait, Service Manager, y subsistema de internacionalización NLTv3 (libnlt).
El roadmap anterior, concentrado en el antiguo docs/IMPROVEMENTS.md (eliminado en la reestructuración de docs), adolecía de:
Mezcla de prioridades sin criterio uniforme
Milestones con objetivos poco claros (ej: "v0.52 = VirtIO + Sessions + FS Security")
Dependencias incompletas o incorrectas
Ausencia de milestones para herramientas, instalación y executive
Mezcla de deuda técnica con features nuevas
Sin planificación post-1.0 más allá de vagas ideas
Este documento reorganiza completamente el roadmap en fases y milestones con
objetivos técnicos claros, dependencias verificadas y prioridades justificadas.
CLEANUP-1..35: cada una es trivial pero hay 35. Deberían agruparse.
I18N-P4..P12: muchas variantes del mismo sistema que deberían ser sub-tareas.
VIO-CON, VIO-RNG, VIO-SCSI, etc.: dispositivos VirtIO individuales como tareas separadas.
3. Estructura del Nuevo Roadmap
El roadmap se organiza en Fases que contienen Milestones con objetivos
técnicos claros. Cada milestone agrupa tareas de un único subsistema siempre
que sea posible.
Convenciones
P = Prioridad: CRÍTICA | ALTA | MEDIA | BAJA | EXPERIMENTAL
D = Dependencias: lista de IDs de milestones/tareas
Mapa de Versiones
v0.50 ── Fase 0: Consolidación (objetivo: completar iniciativas en curso)
v0.51–v0.55 ── Fase 1: Kernel Maduro (objetivo: eliminar deuda técnica crítica)
v0.56–v0.60 ── Fase 2: Ecosistema de Usuario (objetivo: herramientas y executive)
v0.61–v0.69 ── Fase 3: Seguridad y Estabilidad (objetivo: hardening pre-1.0)
v1.0 ── Fase 4: Primera API Estable
v1.x ── Mantenimiento y features compatibles
v2.x ── Networking y virtualización
v3.x ── GUI y experiencia de usuario
v4.x ── Escalabilidad enterprise
4. Fase 0: Consolidación (v0.50)
Objetivo: Completar las iniciativas ya iniciadas y estabilizar el milestone actual.
Justificación: Este milestone ya estaba definido como v0.50. Debe completarse
antes de cualquier planificación futura. Las tareas de hardening (AUDIT-32..37)
son críticas porque corrigen puntos de fallo que causarían pánico en producción.
Milestone propio para el trabajo de internacionalización, completado antes que
el resto del bloque v0.56–v0.60 y publicado como v0.51.3. El formato NLT se
centraliza en la crate compartida libnlt.
ID
Tarea
Prioridad
Dependencias
I18N-P1
Runtime NLTv2 + IDs numéricos (✅)
ALTA
—
I18N-P2
Migrar apps core a tr_id!() (✅)
MEDIA
I18N-P1
I18N-P4
format_str() con placeholders {0} (✅)
MEDIA
I18N-P1
I18N-P5
i18n_available_locales() (✅)
BAJA
I18N-P1
I18N-P7
Compresión NLT (LZSS) (✅)
BAJA
I18N-P1
I18N-P8
UTF-16 support (✅)
BAJA
I18N-P1
I18N-P9
Pluralización (✅)
BAJA
I18N-P1
I18N-P10
Formatos regionales (fechas, monedas) (✅)
BAJA
I18N-P1
I18N-P11
Soporte RTL/bidi (✅)
BAJA
I18N-P1
I18N-P12
Firmas digitales en NLT (✅)
BAJA
I18N-P1
Objetivo: Sistema de internacionalización completo (NLTv3, libnlt).
Estado: completado. Pendiente per-user locale (I18N-P6) en v0.56.
5. Fase 1: Kernel Maduro (v0.51–v0.55)
Objetivo: Eliminar deuda técnica estructural, completar subsistemas kernel
incompletos, y estabilizar la base para el ecosistema de usuario.
M1.1 — NeoFS v2 Completion (v0.51)
ID
Tarea
Prioridad
Dependencias
NFSv2-BTREE
B-tree persistente genérico (COW)
ALTA
—
NFSv2-FREELIST
Free list + merge adyacentes
ALTA
—
NFSv2-SNAPSHOT
Snapshot table (64 circular)
ALTA
NFSv2-BTREE
NFSv2-MKFS
mkfs.neodos tool
MEDIA
NFSv2-FREELIST
VFS-2.2
Refactorizar FSCK a trait
MEDIA
—
Objetivo: Completar NeoFS v2 con todas sus capacidades planeadas.
M1.2 — Shell Phase 2 (v0.51)
ID
Tarea
Prioridad
Dependencias
SH-EDITOR+HISTORY
Line editor ANSI + history persistente
ALTA
SH-TOKEN+QUOTE
SH-ENV+PIPE
Expansión %VAR% + pipeline wait
ALTA
SH-TOKEN+QUOTE
SH-SEP+COMPL+BATCH
Semicolon + completion + batch scripting
MEDIA
SH-ENV+PIPE, SH-TOKEN+QUOTE
Objetivo: Shell de usuario completo con scripting batch estilo NT.
M1.3 — SAM Foundation + Network Tools (v0.51)
ID
Tarea
Prioridad
Dependencias
USR-P1a
ObType::Session=19 + SAM built-in users
ALTA
—
USR-P1b
Token: integrity_level + creation_time
ALTA
USR-P1a
USR-P1c
SAM persistence to Registry hive
MEDIA
USR-P1a
USR-P1d
SeAccessCheck: fix empty DACL + group SIDs
ALTA
USR-P1b
USR-P1e
ObSetInfoClass::ChangePassword (31)
MEDIA
USR-P1c
NET-1.9
ipconfig.nxe
MEDIA
NET-1.8
NET-1.10
ping.nxe
MEDIA
NET-1.8
B3.4
NTP client
BAJA
NET-1.8
ADM-4
neotask (gestor de tareas)
MEDIA
—
ADM-1+2
neotop v0.2 + neostat
MEDIA
—
ADM-5+6
neocfg + neofs
MEDIA
—
Objetivo: Base del modelo de seguridad NT (SAM) y herramientas de red y administración.
Agrupado porque SAM es prerrequisito del resto de seguridad.
M1.4 — VirtIO Architecture (v0.52)
ID
Tarea
Prioridad
Dependencias
VIO-ARCH
Virtqueue abstraction + modern PCI transport
ALTA
A2.1 (ECAM)
VIO-NET
VirtIO Network (0x1000) NEM driver
ALTA
VIO-ARCH
VIO-BLK2
VirtIO Block NEM driver
ALTA
VIO-ARCH
VIO-9P
VirtIO 9P filesystem
MEDIA
VIO-ARCH
VIO-INPUT
VirtIO Input (keyboard, mouse)
MEDIA
VIO-ARCH
Objetivo: Soporte VirtIO completo como plataforma de virtualización estándar.
VIO-ARCH es prerrequisito de todos los demás. VIO-NET y VIO-BLK2 son críticos para
entornos QEMU/KVM.
M1.5 — Sessions + FS Security (v0.52)
ID
Tarea
Prioridad
Dependencias
USR-P2a
SessionManager + ob_create(Session)
ALTA
USR-P1a
USR-P2b
SessionInfo + SessionLock/Logoff
ALTA
USR-P2a
USR-P2c
TokenInfo + session_id inheritance
MEDIA
USR-P2a
USR-P2d
neologon.nxe login binary
ALTA
USR-P2b, USR-P2c
USR-P2e
NeoInit spawns neologon
ALTA
USR-P2d
USR-P3a
DirEntryV2: owner_sid field
ALTA
USR-P1b
USR-P3b
VFS permission checking function
ALTA
USR-P1d, USR-P3a
USR-P3c
Wire VFS checks in syscall handlers
ALTA
USR-P3b
USR-P3d
Default permissions by extension
MEDIA
USR-P3c
VFS-2.2
Refactorizar FSCK
MEDIA
—
Objetivo: Modelo de sesiones NT completo + seguridad en sistema de archivos.
M1.6 — Power Manager Phase 3 + Zero-copy (v0.52)
ID
Tarea
Prioridad
Dependencias
PM-PHASE3
Power syscall dispatch + Event Bus types
MEDIA
PM-PHASE2
B6.1
Zero-copy pipes
MEDIA
—
Agrupado con M1.5 por ser tareas pequeñas de subsistemas diferentes que
comparten versión.
Auditoría de bounds checking en todas las syscalls
ALTA
—
ABI-FREEZE-FINAL
Congelación final de ABI para v1.0
CRÍTICA
—
8. Fase 4: v1.0 — Primera API Estable
ID
Tarea
Prioridad
Dependencias
V1.0-RELEASE
Release v1.0.0
CRÍTICA
Todo lo anterior
V1.0-ABI-FROZEN
Todas las interfaces congeladas (syscalls, NEM, eventos, capacidades)
CRÍTICA
ABI-FREEZE-FINAL
V1.0-DOCS
Documentación de release, changelog, guía de migración
CRÍTICA
DOCS-API-COMPLETE
V1.0-TESTS
Suite completa de tests (800+)
CRÍTICA
TEST-COVERAGE-95
V1.0-NXE-COMPAT
Todos los binarios de usuario compilados contra ABI final
ALTA
V1.0-ABI-FROZEN
Objetivo: Primera versión con API estable. Todo lo que se congela en v1.0
no cambia hasta v2.0. Contrato: drivers NEM v3, syscalls 0–99, formato NXE/NXP,
formato NeoFS v2.
9. Post-1.0: v1.x–v4.x
v1.x — Mantenimiento y Features Compatibles
Versión
Enfoque
Ejemplos
v1.1
Bugfixes post-release
Correcciones de la comunidad
v1.2
Nuevas syscalls compatibles
Nuevos ObInfoClass, ObSetInfoClass
v1.3
Nuevos drivers
VirtIO GPU, VirtIO Sound
v1.4
Rendimiento
Optimizaciones sin breaking change
v2.x — Red y Virtualización
Versión
Enfoque
Ejemplos
v2.0
API mayor v2 (con migración)
Posible microkernel híbrido
v2.1
Networking avanzado
IPv6, VLAN, bonding, firewall
v2.2
Virtualización
KVM enlightenments, Hyper-V
v2.3
Servicios de red
NeoLDAP, NeoDNS (servidor), NeoDHCP (servidor)
v2.4
Administración remota
WinRM-style, RPC sobre TCP
v3.x — GUI y Experiencia de Usuario
Versión
Enfoque
Ejemplos
v3.0
API mayor v3
GUI framework nativo
v3.1
Compositor 2D
Ventanas, controles básicos
v3.2
NeoStore
Tienda de aplicaciones NXP
v3.3
Gráficos 3D
Aceleración GPU básica (Vulkan?)
v3.4
Experiencia de escritorio
File manager, taskbar, start menu
v4.x — Escalabilidad Enterprise
Versión
Enfoque
Ejemplos
v4.0
API mayor v4
NUMA completo, clustering
v4.1
Alta disponibilidad
Failover, replicación
v4.2
Gestión de energía enterprise
S3/S4, wake-on-LAN
v4.3
Virtualización de almacenamiento
SAN, iSCSI, NVMe-oF
v4.4
Seguridad avanzada
TPM 2.0, Secure Boot completo, measured boot
10. Deuda Técnica y Auditorías
TD.1 — Refactorización de Arrays Fijos (completado en v0.41)
El contenedor Slab<T> y la migración a Vec<T> en scheduler, pipes, y driver
slots ya está completada. Verificar que no queden arrays fijos residuales.
TD.2 — Buddy Bitmap Dinámico (completado en v0.40)
El bitmap del buddy allocator ya es dinámico. Verificar cobertura de tests.
TD.3 — Static Buffers Globales (v0.66)
Tarea
Archivos
Prioridad
Eliminar BIN_BUF[65536] static
src/syscall/mod.rs
ALTA
Eliminar CMD_BUF[65536] static
src/syscall/mod.rs
ALTA
Eliminar buffers fijos en crash dump
src/crash/mod.rs
MEDIA
Eliminar buffers fijos en stack trace
src/crash/mod.rs
MEDIA
Eliminar buffers fijos en serial
src/arch/x64/serial.rs
BAJA
TD.4 — CLEANUP-1..35 (Fase 2: v0.56–v0.58)
Agrupar los 35 items de cleanup en paquetes de trabajo:
Las nuevas ideas se añaden a roadmap/improvements.md.
La IA o sync-roadmap.sh convierten cada idea en una GitHub Issue.
El desarrollo diario referencia Issues en commits y PRs.
Las releases son Milestones; cuando todas sus Issues están cerradas,
la versión está terminada.
El changelog se genera automáticamente desde Issues cerradas por Milestone.
Este documento es la hoja de ruta oficial del proyecto NeoDOS. Reemplaza al
antiguo docs/roadmap.md (eliminado) como referencia de planificación.
El detalle granular de cada tarea se mantiene en roadmap/improvements.md
(que se sincroniza con GitHub Issues).