NATALIZIOOS Development History

Documentazione completa dello sviluppo del sistema operativo x86 bare-metal: dal bootloader 512 byte al kernel grafico con HPE Series.

61+
Versioni documentate
x86 32-bit
Architettura
C Β· ASM
Linguaggi
2023
Anno di inizio
v0.0.0
MyOS
v0.0.1–6
Boot
v0.0.8
Shell
v0.1.0
Stable
v0.1.1
Rebrand
v0.1.9x
VFS+Tasks
v0.2.0
Refactor
v0.2.1.x
term_*
v0.2.1.1.4
Fix
HPE
Series
v0.2.1.5.9b
NATBrowser
πŸ“… Inizio progetto reale: 11 Settembre 2023 β€” dalla v0.0.1 fino alla v0.1.0 versioni di test. La v0.0.0 Γ¨ ufficialmente iniziata ad Aprile 2026 con un reset delle versioni.
πŸ”„ v0.1.2 β†’ v0.1.9.3 del 2024 β€” versioni di test con reset di fine Aprile 2026.
πŸ”§ v0.2.0 β†’ del 2025 β€” versioni di test con reset di fine Maggio 2026.

πŸ§ͺ MyOS β€” Famiglia progenitrice (v0.0.0 β†’ v0.1.0)

x86 bare-metal da zero: dal bootloader 512 byte NASM al kernel C multitasking con VFS e filesystem persistente.

v0.0.1 β†’ v0.0.6 GDT, IDT, PIT, Keyboard, VGA driver 11 SETTEMBRE 2023(INIZIO PROGETTO MYOS)

NovitΓ  progressive

  • v0.0.1: salto da real mode a protected mode (GDT)
  • v0.0.2: IDT + interrupts (PIC 8259)
  • v0.0.3: PIT timer IRQ0 a 100Hz
  • v0.0.4: Keyboard driver (scancode PS/2)
  • v0.0.5: VGA text mode driver (80Γ—25, colori)
  • v0.0.6: primo kernel C minimale compilato con GCC -m32 -ffreestanding
Alpha NASM C
v0.0.8 β†’ v0.1.0 Shell, PMM, Paging, Heap, Tasks, VFS 2023–2024

NovitΓ 

  • Shell interattiva con history e tab completion basilare
  • Physical Memory Manager (PMM) bitmap-based
  • Paginazione x86 a 4KB (identity map)
  • Heap allocator (kmalloc/kfree)
  • Multitasking cooperativo (task_yield)
  • VFS minimale con ramfs in-memory
  • Stage2 bootloader per kernel >64KB
Stable C NASM
v0.0.0 Proof of Concept β€” Bootloader puro 2023

NovitΓ 

  • Primo bootloader a 16-bit in NASM puro
  • Stampa "Hello World" su VGA in modalitΓ  testo
  • Nessun kernel C β€” solo assembly
  • Boot da floppy image (512 byte, MBR)
Alpha NASM
MyOS v0.0.0 Proof of Concept β€” Bootloader puro (DOPO DUE ANNI SI INIZIA LO SVILUPPO) 15 Aprile 2026

NovitΓ 

  • Primo bootloader 512 byte in NASM puro (16-bit real mode)
  • Stampa "Hello World!" su schermo via BIOS INT 10h
  • Boot da floppy image MBR β€” nessun kernel C, solo assembly
  • Unico file: boot/boot.asm β†’ myos-0.0.0.img
AlphaNASM
v0.0.0 screenshot
MyOS v0.0.1 Bootloader minimale con stampa a schermo 16 Aprile 2026

NovitΓ 

  • Bootloader 512 byte con messaggi di avvio colorati
  • Gestione cursore e cancellazione schermo via BIOS
  • Aggiunto CHANGELOG.md strutturato β€” inizio documentazione
AlphaNASM
v0.0.1 screenshot
MyOS v0.0.2 Stage2, A20, GDT, Protected Mode 32-bit 16 Aprile 2026

NovitΓ 

  • Stage1 (512B) carica Stage2 da disco via INT 13h
  • Abilitazione linea A20 (metodo BIOS INT 15h)
  • GDT minimale (code + data 32-bit flat)
  • Salto in Protected Mode β€” addio real mode
  • Primo kernel C minimale caricato da Stage2
AlphaNASMC
v0.0.2 screenshot
MyOS v0.0.3 Primo kernel C freestanding 17 Aprile 2026

NovitΓ 

  • kmain() in C compilato con GCC -m32 -ffreestanding -nostdlib
  • VGA text mode driver: vga_putchar/vga_printf base
  • Linker script custom (kernel.ld) β€” layout memoria esplicito
  • Colori VGA: testo verde su sfondo nero, stile terminale classico
AlphaC
v0.0.3 screenshot
MyOS v0.0.4 IDT + PIC 8259 + Timer IRQ0 + Tastiera 17 Aprile 2026

NovitΓ 

  • IDT (Interrupt Descriptor Table) completa con 256 entry
  • PIC 8259 inizializzato e remappato (IRQ β†’ INT 0x20+)
  • PIT timer IRQ0 a 100Hz β€” timer_get_ticks() / timer_get_seconds()
  • Keyboard driver PS/2 β€” scancode set 1 β†’ ASCII
  • Primo input interattivo: il kernel risponde alla tastiera
AlphaC
v0.0.4 screenshot
MyOS v0.0.5 Shell testuale minimale 18 Aprile 2026

NovitΓ 

  • Prima shell interattiva: readline con echo e backspace
  • Comandi: clear, help, version, echo, reboot
  • vga_println / vga_set_color per output colorato
  • Architettura comando-tabella (shell_command_t) β€” base di tutta la shell futura
AlphaC
v0.0.5 screenshot
MyOS v0.0.6 PMM, Heap, Paginazione 18 Aprile 2026

NovitΓ 

  • Physical Memory Manager (PMM) bitmap β€” gestione frame da 4KB
  • Heap allocator (kmalloc/kfree) su memoria fisica
  • Paginazione x86 a 4KB: identity map dei primi 64MB
  • pmm_alloc_frame() / pmm_free_frame() β€” foundation per processi futuri
AlphaC
v0.0.6 screenshot
MyOS v0.0.7 Multitasking cooperativo base 19 Aprile 2026

NovitΓ 

  • Struttura task_t con context switching manuale (pushad/popad)
  • task_yield() β€” switch cooperativo tra task
  • task_create() / task_exit() β€” lifecycle task base
  • Primo demo: due task che girano in parallelo (shell + background)
AlphaC
v0.0.7 screenshot
MyOS v0.0.8 VFS + RamFS + comandi fs 19 Aprile 2026

NovitΓ 

  • VFS layer: vfs_node_t con ops virtuale (read/write/finddir/create)
  • RamFS: filesystem in-memory con pool di nodi statici
  • Comandi shell: ls, cat, mkdir, touch, rm, pwd, cd
  • vfs_root montato al boot β€” struttura /home/root presente
AlphaC
v0.0.8 screenshot
MyOS v0.0.9 ATA driver + N.A.T.FS persistente 20 Aprile 2026

NovitΓ 

  • Driver ATA PIO (Programmed I/O) per lettura/scrittura settori disco
  • N.A.T.FS v1: filesystem persistente su partizione ATA raw (settori dedicati)
  • natfs_init() monta la partizione e popola il VFS con i file salvati
  • natfs_sync() per flush su disco β€” dati sopravvivono al reboot
  • Primo sistema con storage persistente reale
AlphaC
v0.0.9 screenshot
MyOS v0.1.0 Sistema stabile β€” refactor completo 21 Aprile 2026

NovitΓ 

  • Refactoring generale: tutti i moduli separati in header/source puliti
  • Sistema utenti base: root/user, autenticazione password
  • PCI enumeration: scansione bus PCI e stampa dispositivi rilevati
  • Mouse driver PS/2 base (movimento + click rilevati)
  • Boot animation con barre di progresso β€” prima boot sequence visuale
  • Versione finale della famiglia MyOS prima del rebranding
StableC
v0.1.0 screenshot

πŸ“¦ NATALIZIOOS β€” v0.1.x (Rebranding)

Rinominato NATALIZIOOS. Shell avanzata, N.A.T.FS persistente, multi-utente, ELF loader, multitasking preemptivo.

v0.1.2 β†’ v0.1.9.3 NAT FS, Users, Scripts, ATA driver, ELF loader 2024

NovitΓ 

  • N.A.T. FS: filesystem persistente su disco (settori ATA raw)
  • Driver ATA PIO per lettura/scrittura settori
  • Sistema utenti (root/user, passwd, sudo)
  • Script engine minimale (.nat scripts)
  • ELF loader sperimentale per eseguibili userspace
  • Sistema di ring protection (ring0/ring3 base)
  • v0.1.9.3 VERIFIED β€” ultima build MyOS/v0.1.x nel multiboot
Stable C
v0.1.1 Rebranding NATALIZIOOS β€” nuova identitΓ  2024

NovitΓ 

  • Progetto rinominato da MyOS a NATALIZIOOS
  • Nuova boot animation con logo ASCII
  • Tema colori verde/cyan ispirato HPE iLO
  • Shell refactoring con tabella comandi strutturata
  • Sistema di versioning semantico
Stable C
NATALIZIOOS v0.1.1 Rebranding NATALIZIOOS β€” nuova identitΓ  22 Aprile 2026

NovitΓ 

  • Progetto rinominato: MyOS β†’ NATALIZIOOS
  • Nuovo logo ASCII e boot animation con nome NATALIZIOOS
  • Tema colori verde/cyan ispirato HPE iLO β€” identitΓ  visiva definitiva
  • CHANGELOG.md e README.md completamente riscritti
  • natalizioos.h come header centrale con macro di versione
StableC
v0.1.1 screenshot
NATALIZIOOS v0.1.2 Shell avanzata β€” history, TAB, pipe 23 Aprile 2026

NovitΓ 

  • Cronologia comandi (su/giΓΉ) con array circolare
  • Tab completion sui nomi dei comandi registrati
  • Pipeline basilare: cmd1 | cmd2 via buffer interno
  • Alias e variabili di ambiente (set/unset/env)
  • 30+ comandi attivi (ls, cat, cp, mv, rm, grep, find, wc, sort...)
StableC
v0.1.2 screenshot
NATALIZIOOS v0.1.3 Editor nano-like + script engine 24 Aprile 2026

NovitΓ 

  • Editor full-screen stile nano: CTRL+S salva, CTRL+X esce
  • Script engine: file .nat eseguibili da shell (if/while/echo/set)
  • Sistema permessi UNIX-style (chmod/chown base)
  • Comando man con pagine inline per ogni comando
  • Boot animation migliorata con piΓΉ step e colori
StableC
v0.1.3 screenshot
NATALIZIOOS v0.1.4 Syscall, ELF loader, ring0 demo 25 Aprile 2026

NovitΓ 

  • Tabella syscall (INT 0x80): sys_write, sys_exit, sys_getpid...
  • ELF32 loader: parse di eseguibili ELF in memoria
  • elfrun per lanciare binari ELF dal filesystem
  • ring-test demo: salto in ring3 e ritorno via syscall (sperimentale)
  • GDT aggiornata con segmenti user (ring3)
StableC
v0.1.4 screenshot
NATALIZIOOS v0.1.5 Stabilizzazione + bug fix sessione 26 Aprile 2026

NovitΓ 

  • Fix crash su double-free nel heap allocator
  • Fix keyboard buffer overflow su input rapido
  • Migliorata gestione CTRL+C (interrompe comando corrente)
  • selftest: comando che esegue diagnostica automatica di tutti i moduli
  • Documentazione aggiornata e versionamento semantico introdotto
StableC
v0.1.5 screenshot
NATALIZIOOS v0.1.6 Multi-utente + sudo + visudo 27 Aprile 2026

NovitΓ 

  • Sistema multi-utente completo: useradd, userdel, passwd
  • sudo con file /etc/sudoers (visudo per editarlo)
  • login/logout con gestione sessione e cambio utente (su)
  • whoami, id, users β€” comandi identitΓ 
  • /home/ creata automaticamente al primo login
StableC
v0.1.6 screenshot
NATALIZIOOS v0.1.7 Rete sperimentale + PCI avanzato 28 Aprile 2026

NovitΓ 

  • PCI enumeration avanzata: vendor ID, device ID, classe, sottoclasse
  • Sysinfo potenziato: CPU (CPUID), memoria, PCI devices, uptime
  • hwinfo: report hardware dettagliato ispirato dmidecode
  • Struttura per futura integrazione stack di rete (placeholder NIC)
StableC
v0.1.7 screenshot
NATALIZIOOS v0.1.8 N.A.T.FS v2 + journaling base 29 Aprile 2026

NovitΓ 

  • N.A.T.FS v2: struttura disco con superblock, inode table, data blocks
  • journaling minimale: log delle operazioni per recovery post-crash
  • mkfs per formattare una partizione N.A.T.FS da zero
  • fsinfo: statistiche del filesystem (spazio libero, inode usati)
  • df: disco usage report stile UNIX
StableC
v0.1.8 screenshot
NATALIZIOOS v0.1.9 Task preemptivi + scheduler round-robin 30 Aprile 2026

NovitΓ 

  • Preemptive multitasking: timer IRQ0 forza context switch
  • Scheduler round-robin con priority level base
  • tasks: mostra lista processi attivi con PID e stato
  • sleep N: sospende per N secondi via timer
  • task_kill(pid): termina un task per PID
StableC
v0.1.9 screenshot
NATALIZIOOS v0.1.9.1 Fix preemption + stack isolation 1 Maggio 2026

NovitΓ 

  • Fix crash preemption: stack kernel per ogni task isolato correttamente
  • TSS aggiornato ad ogni context switch (ESP0 corretto per ring3)
  • Fix double-IRQ in keyboard handler durante task switch
  • test ringtest1/2/3: verifica ring0/ring3 switch
StableC
v0.1.9.1 screenshot
NATALIZIOOS v0.1.9.2 Boot selector + hotkey F1/F11 2 Maggio 2026

NovitΓ 

  • Boot selector: F1 avvia text mode, F11 apre boot menu
  • Boot menu grafico con selezione versione/modalitΓ 
  • Hotkey ESC per interrompere il boot e entrare in recovery
  • Preparazione per architettura dual-mode (text + graphic)
StableC
v0.1.9.2 screenshot
NATALIZIOOS v0.1.9.3 Ultima VERIFIED β€” freeze pre-refactor 3 Maggio 2026

NovitΓ 

  • Versione finale della linea v0.1.x β€” marcata VERIFIED nel multiboot
  • Fix minori shell: echo con flag -n, cat con numeri di riga
  • Pulizia codice: rimozione dead code, warning risolti
  • Base di partenza confermata per il ciclo v0.2.x (refactor architetturale)
StableC
v0.1.9.3 screenshot

πŸ”§ NATALIZIOOS β€” v0.2.x (Major Refactor)

Refactoring profondo del kernel. Introduzione del sistema dual-mode: kernel grafico (framebuffer) e kernel testuale.

Ring3 vero, framebuffer 800Γ—600, gfxshell grafica, layer term_* cross-mode.

v0.2.0 β†’ term_* wrapper layer, editor grafico, hotfix serie 2025

NovitΓ 

  • Layer term_* : API cross-mode (term_puts/term_printf/term_set_color) che scrive su VGA o gconsole a seconda della modalitΓ  corrente
  • Editor full-screen stile nano (80Γ—25, ctrl+S/ctrl+X)
  • gfxshell_main.c: shell grafica con dispatch comandi separato dalla tabella
  • Boot selector (F1 text / F11 boot menu)
  • Mouse driver PS/2 base
  • PCI enumeration
  • Sysinfo command
Stable C
v0.2.0 Framebuffer, dual kernel (graphic + text) 2025

NovitΓ 

  • Driver framebuffer 800Γ—600 (VESA/BIOS)
  • Due target di build separati: graphic e text mode
  • gconsole: console grafica su framebuffer con font bitmap custom
  • gfxshell: shell grafica con rendering su framebuffer
  • Login grafico (gfxlogin)
  • Boot animation grafica (gfxboot)
  • Stage2 espanso a 4 chunk (256KB max kernel)
Stable C
NATALIZIOOS v0.2.0 ELF32 loader + fondamenta ring3 Aprile 2026

NovitΓ 

  • INIZIO CICLO 0.2.x β€” salto architetturale
  • ELF32 loader completo: Elf32_Ehdr, Elf32_Phdr, Elf32_Shdr
  • elf_load(): carica segmenti PT_LOAD in memoria con mmap
  • elfrun/elftest: eseguono binari ELF dal filesystem
  • Strutture dati per processi user veri (fondamenta ring3)
StableC
v0.2.0 screenshot
NATALIZIOOS v0.2.0.1 Ring3 + TSS + page fault handler Aprile 2026

NovitΓ 

  • GDT aggiornata: segmenti user (code/data ring3)
  • TSS (Task State Segment) inizializzato e caricato (ltr)
  • Page fault handler (#PF) con dump stato CPU
  • iret a ring3 funzionante β€” primo salto utente confermato
StableC
v0.2.0.1 screenshot
NATALIZIOOS v0.2.0.2 Memory isolation β€” PAGE_USER rimosso da kernel Aprile 2026

NovitΓ 

  • Page directory per processo (separazione address space)
  • PAGE_USER rimosso dalle pagine kernel β€” isolamento memoria reale
  • User-mode stack allocato separatamente (0xBFFFF000)
  • Fix: CR3 reload corretto ad ogni context switch
StableC
v0.2.0.2 screenshot
NATALIZIOOS v0.2.0.3 Framebuffer 800Γ—600 β€” primo boot grafico Aprile 2026

NovitΓ 

  • Driver framebuffer VESA/BIOS: 800Γ—600Γ—32bpp
  • Font bitmap custom 8Γ—16 per rendering testo su fb
  • gconsole: console grafica con scrolling e colori
  • Prima boot sequence visuale su framebuffer (verde su nero)
  • gfxboot_show(): animazione boot HPE-style
StableC
v0.2.0.3 screenshot
NATALIZIOOS v0.2.1 Ring3 completo + gfxshell Aprile 2026

NovitΓ 

  • Ring3 funzionante con syscall INT 0x80 da userspace
  • gfxshell: shell interattiva su framebuffer (gconsole)
  • gfxlogin: schermata login grafica con password
  • gfxedit: editor grafico full-screen su framebuffer
  • Due kernel: natalizioos (graphic) e natalizioos-text (text mode)
StableC
v0.2.1 screenshot
NATALIZIOOS v0.2.1.1 Memory isolation completa Aprile 2026

NovitΓ 

  • Page directory per processo isolata al 100%
  • Kernel pages senza PAGE_USER β€” accesso user genera page fault
  • SYSCALL_MMAP: userspace puΓ² richiedere pagine proprie
  • Fix context switch: CR3 + ESP0 aggiornati atomicamente
StableC
v0.2.1.1 screenshot
NATALIZIOOS v0.2.1.1.1 gfxshell comandi base Aprile 2026

NovitΓ 

  • gfxshell: wiring dei primi 10 comandi (help, clear, echo, ls, cat, pwd)
  • Dispatch comandi in gfxshell_main.c (lista separata dalla tabella text)
  • Help screen grafico con lista comandi colorata
  • Fix: frecce su/giΓΉ per history nella shell grafica
StableC
v0.2.1.1.1 screenshot
NATALIZIOOS v0.2.1.1.2 Sysinfo + hwinfo grafici Aprile 2026

NovitΓ 

  • sysinfo in gfxshell: CPU, RAM, uptime, PCI devices
  • hwinfo grafico con dettagli hardware da CPUID
  • vga_printf warning fix in pmm.c e heap.c
  • Migliorata formattazione colonne nella shell grafica
StableC
v0.2.1.1.2 screenshot
NATALIZIOOS v0.2.1.1.3 Task manager grafico Aprile 2026

NovitΓ 

  • tasks in gfxshell: lista processi con PID, stato, prioritΓ 
  • Refresh automatico task list ogni 2s
  • Fix crash su task_kill da shell grafica
  • Aggiunto syscall sys_getpid per processi user
StableC
v0.2.1.1.3 screenshot
NATALIZIOOS v0.2.1.1.4 Filesystem comandi grafici Aprile 2026

NovitΓ 

  • ls/cat/mkdir/touch/rm/cp/mv in gfxshell β€” path relativi e assoluti
  • Gestione errori esplicita (file non trovato, permessi)
  • natfs persistente accessibile da gfxshell
  • Fix: cd in gfxshell aggiorna shell_cwd correttamente
StableC
v0.2.1.1.4 screenshot
NATALIZIOOS v0.2.1.1.5 Editor grafico + comandi avanzati Aprile 2026

NovitΓ 

  • gfxedit funzionante in gfxshell (CTRL+S salva, CTRL+X esce)
  • Comandi avanzati: grep, find, wc, sort, head, tail, more
  • Script engine accessibile da gfxshell
  • Migliorato scroll nella gconsole
StableC
v0.2.1.1.5 screenshot
NATALIZIOOS v0.2.1.1.6 Users + sudo in gfxshell Aprile 2026

NovitΓ 

  • Login grafico con cambio utente (su, logout)
  • sudo in gfxshell: richiede password root via dialog grafico
  • useradd/userdel/passwd in gfxshell
  • Fix: sessione utente mantenuta dopo context switch
StableC
v0.2.1.1.6 screenshot
NATALIZIOOS v0.2.1.1.7 Stabilizzazione gfxshell β€” freeze candidata Aprile 2026

NovitΓ 

  • 100+ comandi attivi in gfxshell
  • Help screen aggiornato con tutti i comandi
  • Risolti warning di compilazione residui
  • Base confermata per ciclo v0.2.1.2.x
StableC
v0.2.1.1.7 screenshot
NATALIZIOOS v0.2.1.2 Boot animation HPE β€” prima vera boot sequence Aprile 2026

NovitΓ 

  • Boot animation HPE completa: barre di caricamento verdi, watermark versione
  • Step boot visibili: kernel, heap, paging, ramfs, natfs, drivers...
  • Logo NATALIZIOOS ASCII animato durante il boot
  • Transizione boot β†’ gfxshell fluida senza flicker
StableC
v0.2.1.2 screenshot
NATALIZIOOS v0.2.1.3 Stabilization release β€” selfdiag + fix Maggio 2026

NovitΓ 

  • selfdiag: esegue automaticamente ogni comando e riporta OK/FAIL
  • Fix: vga_printf mancante in pmm.c e heap.c
  • Fix: warning -Wunused-function in natmemory e smartarray
  • Pulizia codice: rimozione dead code accumulato nelle 0.2.1.x
StableC
v0.2.1.3 screenshot
NATALIZIOOS v0.2.1.3.1 Icons + visual polish Maggio 2026

NovitΓ 

  • Icone bitmap custom per la shell grafica (file, cartella, eseguibile)
  • fb_icons.c: rendering icone 16Γ—16 su framebuffer
  • Shell grafica: file listing con icone invece di testo puro
  • Colori distinti per file/dir/eseguibili
StableC
v0.2.1.3.1 screenshot
NATALIZIOOS v0.2.1.3.2 gfxmini + gfxconsole interattiva Maggio 2026

NovitΓ 

  • gfxmini: finestra terminale minimale su framebuffer
  • gfxconsole: console grafica interattiva con scrollback buffer
  • gfxtxt: visualizzatore testo con syntax highlight base
  • gfxicon: demo icone e rendering grafico
StableC
v0.2.1.3.2 screenshot
NATALIZIOOS v0.2.1.3.3 Lab Mode β€” ambiente sperimentale isolato Maggio 2026

NovitΓ 

  • labmode: modalitΓ  isolata per comandi sperimentali
  • Comandi disponibili solo in labmode: elfrun, gfxconsole, ringtest, pagecheck
  • Riavvio obbligatorio per uscire dal labmode (sicurezza)
  • gfxhpe: banner grafico HPE full-screen
StableC
v0.2.1.3.3 screenshot
NATALIZIOOS v0.2.1.3.5 Mouse driver + click handling Maggio 2026

NovitΓ 

  • Mouse PS/2 driver completo: movimento, click sinistro/destro/centrale
  • Cursore grafico su framebuffer (16Γ—16 sprite)
  • Click detection nella gfxshell (seleziona testo)
  • Scroll wheel support (delta Y β†’ scroll gconsole)
StableC
v0.2.1.3.5 screenshot
NATALIZIOOS v0.2.1.3.6 Freeze pre-HPE β€” ultima base stabile v0.2.1.x Maggio 2026

NovitΓ 

  • Release di freeze: base confermata per la serie HPE
  • Fix finale: cursore grafico stabile, nessun leak memoria noto
  • Makefile: target clean, run-gui, run-text, run-gui-persist
  • KERNEL_SECTORS=512 (4 chunk Γ— 128) β€” stage2 espanso definitivo
  • Tutte le feature grafiche presenti: gfxshell, editor, login, icons
StableC
v0.2.1.3.6 screenshot
NATALIZIOOS v0.2.1.4 Layer term_* β€” foundation cross-mode Maggio 2026

NovitΓ 

  • Nuovo modulo drivers/term.c/.h: API cross-mode unificata
  • term_puts/term_printf/term_set_color/term_get_cursor
  • Redirige automaticamente a vga_* (text) o gconsole_* (graphic)
  • Preparazione per v0.2.2.0: tutti i comandi useranno term_*
  • Primo passo della conversione vga_* β†’ term_*
StableC
v0.2.1.4 screenshot

🟑 HPE Series β€” v0.2.1.5.x CANARY

Serie di feature diagnostiche in stile HPE iLO/ProLiant, aggiunte una per release con bundle CANARY separati. Ogni feature usa dati hardware reali

Dual bundle: text + graphic.

NATALIZIOOS v0.2.1.5 Boot grafico unico β€” text animation rimossa Maggio 2026

NovitΓ 

  • Rimossa boot_anim_show() text-mode dal boot path normale
  • Il sistema parte direttamente con boot grafico HPE
  • bootanim-classic: vecchia animation preservata come comando shell
  • Inizio serie HPE feature: base pulita e stabile
StableC
v0.2.1.5 screenshot
v0.2.1.5.1.x NATMemory β€” HPE-style memory diagnostic Maggio 2026

NovitΓ 

  • 6 step di diagnostica RAM: pattern test, walking bit, address test, heap stress, page integrity, display grafico HPE
  • Primo bundle CANARY dual: kernel graphic + kernel text
  • Stage2 portato a 4 chunk (256KB max) per supportare il kernel crescente
  • Guardia KERNEL_SECTORS=512 per loader
CANARY HPE Style
NATALIZIOOS v0.2.1.5.1 NATMemory β€” HPE-style memory diagnostic Maggio 2026

NovitΓ 

  • Primo bundle CANARY dual: kernel graphic + kernel text separati
  • 6 step diagnostici: pattern test, walking bit, address, heap, page, display
  • natmemory layout: mappa fisica della RAM con zone colorate
  • Watermark HPE SmartMemory style nella GUI
  • Stage2 portato a 4 chunk (256KB max kernel) per supportare la crescita
CANARYHPE Feature
v0.2.1.5.1 screenshot
NATALIZIOOS v0.2.1.5.1.1 NATMemory step 1-2 β€” pattern+walking Maggio 2026

NovitΓ 

  • natmemory test: pattern test completo (0xAA/0x55/0xFF/0x00)
  • natmemory walk: walking bit test (rileva stuck bits)
  • Barre di progresso durante i test
CANARYHPE Feature
v0.2.1.5.1.1 screenshot
v0.2.1.5.2 SmartStor β€” ATA S.M.A.R.T. diagnostics Maggio 2026

NovitΓ 

  • Lettura attributi S.M.A.R.T. reali via ATA command 0xB0
  • Temperatura, ore di funzionamento, settori riallocati
  • Dashboard grafica HPE-style
  • N/A dichiarato esplicitamente per attributi non supportati da QEMU
CANARY HPE Style
SmartStor
NATALIZIOOS v0.2.1.5.2 SmartStor β€” ATA S.M.A.R.T. diagnostics Maggio 2026

NovitΓ 

  • Driver ATA SMART: comando 0xB0 (SMART READ DATA)
  • Lettura attributi reali: temperatura, ore, settori riallocati, avvii
  • Dashboard grafica HPE SmartStorage style
  • N/A dichiarato esplicitamente per attributi non supportati da QEMU
CANARYHPE Feature
v0.2.1.5.2 screenshot
NATALIZIOOS v0.2.1.5.1.2 NATMemory step 3 β€” address test Maggio 2026

NovitΓ 

  • natmemory addr: address test (ogni indirizzo legge il proprio valore)
  • Rilevazione conflitti di indirizzo nella RAM
  • Report dettagliato errori con indirizzo esatto
CANARYHPE Feature
v0.2.1.5.1.2 screenshot
v0.2.1.5.3 ServerCfg β€” HPE Server Configuration menu Maggio 2026

NovitΓ 

  • Menu di configurazione server in stile HPE iLO
  • Navigazione con frecce e INVIO
  • Placeholder per future opzioni di configurazione hardware
CANARY HPE Style
NATALIZIOOS v0.2.1.5.3 ServerCfg β€” HPE Server Configuration Maggio 2026

NovitΓ 

  • servercfg: menu di configurazione server in stile HPE iLO
  • Navigazione con frecce, sezioni: Network, Storage, Power, Security
  • Valori letti da hardware reale dove disponibile (CPUID, PCI)
  • Preparazione per configurazione runtime del sistema
CANARYHPE Feature
v0.2.1.5.3 screenshot
NATALIZIOOS v0.2.1.5.1.3 NATMemory step 4 β€” heap stress test Maggio 2026

NovitΓ 

  • natmemory heap: stress test allocatore (1000 alloc/free cicli)
  • Rilevazione memory leak e double-free
  • Statistica: allocazioni riuscite, fallite, frammentazione
CANARYHPE Feature
v0.2.1.5.1.3 screenshot
v0.2.1.5.4 SmartArray β€” HPE RAID controller emulation Maggio 2026

NovitΓ 

  • Simulazione controller HPE Smart Array
  • Dashboard grafica con stato dischi e array RAID
  • PCI enumeration per rilevare dispositivi storage
  • Dati reali da PCI bus e ATA
CANARY HPE Style
SmartArray
NATALIZIOOS v0.2.1.5.4 SmartArray β€” HPE RAID controller Maggio 2026

NovitΓ 

  • Simulazione controller HPE Smart Array
  • PCI enumeration per rilevare dispositivi storage fisici
  • Dashboard grafica: stato array, dischi, controller
  • Dati reali da PCI vendor/device ID + ATA identify
CANARYHPE Feature
v0.2.1.5.4 screenshot
NATALIZIOOS v0.2.1.5.1.4 NATMemory step 5 β€” page integrity Maggio 2026

NovitΓ 

  • natmemory page: verifica integritΓ  page table
  • Controlla P/RW/US bits per ogni PTE nella page directory
  • Rileva pagine corrotte o con flag inaspettati
CANARYHPE Feature
v0.2.1.5.1.4 screenshot
v0.2.1.5.5 SecureStart β€” HPE boot integrity check Maggio 2026

NovitΓ 

  • 8 check di integritΓ  della catena di boot in stile HPE SecureStart
  • Verifica IDT, GDT, CR0 (protected mode), PMM, paginazione, stack
  • Report con stato OK/WARN/FAIL per ogni check
  • Prima versione con bundle dual STABLE (non CANARY)
Stable HPE Style
SecureStart
NATALIZIOOS v0.2.1.5.5 SecureStart β€” boot integrity check Maggio 2026

NovitΓ 

  • 8 check di integritΓ  della catena di boot stile HPE SecureStart
  • Verifica: IDT presente, GDT valida, CR0 protected mode, PMM OK,paging attiva, stack intatto, heap OK, versione kernel
  • Report OK/WARN/FAIL con codice errore per ogni check
  • Prima versione dual con bundle STABLE (non solo CANARY)
StableHPE Feature
v0.2.1.5.5 screenshot
NATALIZIOOS v0.2.1.5.5-CANARY SecureStart CANARY + GUI dashboard Maggio 2026

NovitΓ 

  • Build CANARY di v0.2.1.5.5 con GUI dashboard grafica
  • Dashboard HPE-style per visualizzare tutti gli 8 check
  • Inizio del sistema dual-bundle ufficiale: ogni release ora ha normal + CANARY
  • Watermark versione in ogni GUI grafica
CANARYHPE Feature
v0.2.1.5.5-CANARY screenshot
NATALIZIOOS v0.2.1.5.1.5 NATMemory step 6 β€” GUI display HPE Maggio 2026

NovitΓ 

  • natmemory show: dashboard grafica HPE SmartMemory style
  • Riquadri colorati: Physical, Virtual, Heap, Stack
  • natmemory all: esegue tutti e 6 gli step in sequenza
  • natmemory help: guida dettagliata inline
CANARYHPE Feature
v0.2.1.5.1.5 screenshot
v0.2.1.5.6 SeaOfSens β€” HPE iLO-style sensor dashboard Maggio 2026

NovitΓ 

  • Dashboard sensori reali: CPU info (CPUID), MSR, PMM, ATA, PCI
  • GUI a 4 riquadri: CPU, MEMORY, STORAGE, SYSTEM
  • Refresh con R, barre di utilizzo colorate
  • N/A dichiarato per sensori non emulati da QEMU (temp, fan, volt)
  • Inizio del sistema dual-bundle (normal + CANARY con GUI)
CANARY HPE iLO
SeaOfSens GUI
NATALIZIOOS v0.2.1.5.6-CANARY SeaOfSens CANARY β€” GUI completa Maggio 2026

NovitΓ 

  • Build CANARY con GUI SeaOfSens completa e stabile
  • seaof gui: dashboard HPE iLO-style a pieno schermo
  • Barre grafiche per CPU usage, memoria, storage
  • Q=exit, R=refresh, watermark versione in basso
CANARYHPE Feature
v0.2.1.5.6-CANARY screenshot
NATALIZIOOS v0.2.1.5.6 SeaOfSens β€” HPE iLO sensor dashboard Maggio 2026

NovitΓ 

  • Dashboard sensori reali: CPU CPUID, MSR temp (N/A su QEMU), PMM, ATA, PCI
  • GUI a 4 riquadri: CPU, MEMORY, STORAGE, SYSTEM
  • Refresh con R, barre utilizzo colorate (verde/giallo/rosso)
  • N/A dichiarato per: temp (MSR 0x19C), fan/volt (no SMBus), battery
CANARYHPE Feature
v0.2.1.5.6 screenshot
v0.2.1.5.7 DynPower β€” ACPI + CPU Power management Giugno 2026

NovitΓ 

  • RSDP scan β†’ RSDT β†’ FADT parsing (ACPI)
  • CPUID leaf 6: DTS, Turbo Boost, HWP flags
  • MSR 0x198 (IA32_PERF_STATUS) e 0x1B0 (Energy Perf Bias)
  • CR0 cache/write mode
  • GUI dashboard HPE Power con barra P-state colorata
  • Convenzione: prefissi locali dp_/rdmsr per evitare conflitti con natalizioos.h
CANARY HPE Power
DynPower GUI
NATALIZIOOS v0.2.1.5.7 DynPower β€” ACPI + CPU power management Giugno 2026

NovitΓ 

  • RSDP scan β†’ RSDT β†’ FADT parsing (ACPI completo)
  • CPUID leaf 6: DTS, Turbo Boost, HWP flags reali
  • MSR 0x198 (IA32_PERF_STATUS) frequenza corrente
  • MSR 0x1B0 (IA32_ENERGY_PERF_BIAS) P-state hint
  • GUI: dashboard HPE Power con barra P-state colorata, gauge frequenza
CANARYHPE Feature
v0.2.1.5.7 screenshot
v0.2.1.5.8 RestAPI + NATTour β€” UART JSON API & welcome wizard Giugno 2026

NovitΓ 

  • drivers/uart.c: COM1 polling driver (38400 8N1, 16550)
  • drivers/restapi.c: listener JSON line-based (ping, version, uptime, exit)
  • drivers/tour.c: NATTour wizard 8 slide, solo modalitΓ  grafica
  • Effetto macchina da scrivere + ASCII art per ogni slide
  • FIX: gfxshell_main.c ha dispatch comandi e help hardcoded separati dalla tabella
  • Makefile: target run-gui-uart e run-gui-proxy per i due casi d'uso UART
CANARY
NATTour slide 1
NATALIZIOOS v0.2.1.5.8 RestAPI + NATTour Giugno 2026

NovitΓ 

  • drivers/uart.c: COM1 polling driver 38400 8N1 (16550)
  • drivers/restapi.c: listener JSON (ping, version, uptime, exit)
  • drivers/tour.c: NATTour wizard 8 slide con effetto macchina da scrivere (solo graphic)
  • FIX: gfxshell_main.c ha dispatch e help hardcoded separati dalla tabella shell_commands[]
  • Makefile: target run-gui-uart (QEMU server) e run-gui-proxy (QEMU client)
CANARY
v0.2.1.5.8 screenshot
v0.2.1.5.9 NATBrowser A β€” browser HTML locale (VFS) Giugno 2026

NovitΓ 

  • kernel/natbrowser.c: parser HTML single-pass (h1, p, b, a href)
  • Word-wrap automatico via term_get_cursor
  • Navigazione: cifre 1-9 per link, R ricarica, Q/ESC esce
  • 3 pagine demo create on-demand nel VFS
  • FIX CRITICO: boot grafico normale non chiamava heap_init()/ramfs_init() β†’ vfs_root NULL per tutta la sessione. Scoperto via diagnostica UART + QEMU headless
  • Cross-mode: funziona in text e graphic mode via term_*
CANARY
NATBrowser demo
v0.2.1.5.9b NATBrowser B β€” proxy UART verso host Python Giugno 2026

NovitΓ 

  • tools/natbrowser_proxy.py: proxy Python 3 (stdlib only) su localhost:4444
  • Parser HTML host-side: html.parser β†’ dialetto NATBrowser (h1/p/b/a)
  • uart_getc_timeout(): lettura UART con timeout PIT 100Hz (no freeze se proxy assente)
  • browser http://url β†’ fetch via UART; browser file.html β†’ VFS locale
  • Target Makefile: run-gui / run-gui-uart / run-gui-proxy separati per evitare conflitto porta 4444
CANARY
NATALIZIOOS v0.2.1.5.9b shell
NATALIZIOOS v0.2.1.5.9 NATBrowser A β€” browser HTML locale Giugno 2026

NovitΓ 

  • kernel/natbrowser.c: parser HTML single-pass (h1, p, b, a href)
  • Word-wrap automatico via term_get_cursor, cross-mode (text + graphic)
  • Navigazione: cifre 1-9 link, R ricarica, Q/ESC esci
  • FIX CRITICO: boot grafico non chiamava heap_init()/ramfs_init() β†’ vfs_root NULL
  • Scoperto e corretto via diagnostica UART + QEMU headless automatizzato
CANARY
v0.2.1.5.9 screenshot