# termOS Roadmap ## Legend - ✅ **Done**: Implemented and working. - 🚧 **WIP**: Currently under active development. - 📅 **Planned**: Scheduled for future releases. - 🤔 **Vision**: Long-term goals for v1.0. --- ## Current Status: v0.5.3 (Alpha) *Where we are now.* - **Core:** Ring 0 / Ring 3 isolation implemented. - **Mem:** PMM (bitmap), VMM (PML4, HHDM). - **Exec:** Custom **HOT!** executable format (static loader). - **FS:** VFS + Initramfs (CPIO, read-only). - **User:** Basic jump to userspace (hardcoded stack, no heap yet). --- ## 📅 Phase 1 *Goal: Transform the decorative userspace into a functional mechanism.* ### v0.5.4 (The Shell Update) *Focus: Interactive Userspace* - [ ] **Userspace Shell (`termosh`)** - Porting `ksh` logic into a standalone `.hot` binary. - Standard I/O abstraction (stdin/stdout) to pass keyboard input to active process. - [ ] **Basic Utils** - `ls`, `cat`, `echo`, `ver` as standalone programs. - Remove built-in commands from the kernel. --- ## 📅 Phase 2 *Goal: Total independence from external libraries and architectural hygiene.* ### v0.6.0 (Architecture Overhaul) - [ ] **Bootloader Independence** - Remove `posix-uefi` library. - Write custom UEFI entry point (pure PE). - Kernel itself becomes a valid `.hot` executable. - [ ] **HOT! Format Hardening** - Fix segment alignment (Page Alignment) in `elf2hot` and kernel loader. - Add metadata headers (stack size, permissions). - [ ] **Concurrency Fixes** - Implement spinlocks (`spinlock`). - Protect allocator and process lists from interrupt race conditions. --- ## 📅 Phase 3 *Goal: Prepare the environment for self-hosting. We cannot compile on a Read-Only FS.* ### v0.7.0 (Filesystem & Input) - [ ] **Write Support** - Storage driver (NVMe/AHCI or Writable RAMDisk). - Writable Filesystem (FAT32 or custom simple FS). - [ ] **Input Subsystem** - Input buffering, Pipe (`|`) support in shell. - Basic TTY/PTY abstraction. ### v0.8.0 (The Editor) - [ ] **Text Editor** - Write a simple editor (nano-like) in userspace. - Capabilities: Open, Edit, Save files. --- ## 📅 Phase 4 *Goal: Self-Hosting.* ### v0.9.0 (The Toolchain) - [ ] **Linker (`hld`)** - Native linker capable of outputting `.hot` files (running inside termOS). - [ ] **Compiler Port** - Port **TCC (Tiny C Compiler)** to termOS. - Adapt libc headers for the OS environment. ### 🤔 v1.0.0 (Self-Hosting) - [ ] **Bootstrapping** - Compile the Dewar kernel *inside* termOS. - Boot from the newly compiled kernel. - Total victory. --- ## 📜 History | Version | Date | Key Features | | :--- | :--- | :--- | | **v0.5.3** | 2026-01-30 | `sys_mem`, `sys_spawn`, `sys_wait`, `sys_exit` | | **v0.5.2** | 2026-01-30 | **HOT!** format, Ring 3 isolation, VFS, CPIO parsing. | | **v0.5.1** | 2026-01-29 | Initial userspace jumps, syscall mechanics. | | **v0.5.0** | 2026-01-29 | Kernel officially named "Dewar". Versioning standardized. | | **v0.4.x** | 2026-01-28 | Basic VFS, Shell improvements, basic multitasking. | | **v0.3.x** | 2025-12-30 | Scheduler, ~~Composer~~, Heap manager. | | **v0.2.x** | 2025-12-28 | `ksh`, Keyboard driver, HHDM, PMM/VMM. | | **v0.1.x** | 2025-12-21 | First boot, GDT/IDT, Serial/Console, Panic handler. |