NATALIZIOOS Development History
61+
Versioni
X86 32-BIT
Archiettura
C,ASSEMBLY,NASM
Linguaggi
π§ͺ MyOS v0.0.x β Dal bootloader al kernel C
512 byte NASM β Protected Mode β shell β VFS β ATA/NatFS persistente
v0.0.0Bootloader 512B β NASM puroApr 2026Alpha
- Primo file: boot/boot.asm β .img (512 byte esatti)
- Stampa via BIOS INT 10h in real mode 16-bit
- Nessun kernel C β puro NASM assembly
Boot β BIOS POST + avvio MBR
v0.0.1Messaggi colorati al bootApr 2026Alpha
- Testo colorato via BIOS VGA
- Cancellazione schermo, posizionamento cursore
- Primo CHANGELOG.md del progetto
Boot β messaggi colorati
v0.0.2Stage2 + A20 + GDT + Protected ModeApr 2026Alpha
- Stage1 (512B) carica Stage2 via INT 13h
- Linea A20 abilitata
- GDT 32-bit flat β salto in Protected Mode
Boot β Protected Mode attivo
v0.0.3Primo kernel C freestandingApr 2026C
- kmain() in C con GCC -m32 -ffreestanding
- VGA text driver: vga_putchar/vga_printf
- Linker script kernel.ld
version + help β primo C kernel
v0.0.4IDT + PIC 8259 + Timer + TastieraApr 2026C
- IDT 256 entry, PIC 8259 remappato
- PIT 100Hz β timer_get_ticks()
- Keyboard PS/2 β primo input interattivo
help β tastiera funzionante
v0.0.5Prima shell interattivaApr 2026C
- Readline con echo + backspace
- Comandi: clear, help, version, echo, reboot
- Architettura shell_command_t β base di tutto
help β prima shell attiva
v0.0.6PMM + Heap + PaginazioneApr 2026C
- Physical Memory Manager bitmap (4KB frames)
- Heap allocator kmalloc/kfree
- Paginazione x86 identity map 64MB
mem β statistiche heap/PMM
v0.0.7Multitasking cooperativoApr 2026C
- task_t con context switch pushad/popad
- task_yield(), task_create(), task_exit()
- Demo: due task in parallelo
tasks β processi in esecuzione
v0.0.8VFS + RamFS + comandi filesystemApr 2026C
- VFS layer con ops virtuale
- RamFS in-memory con pool nodi statici
- ls, cat, mkdir, touch, rm, pwd, cd
ls + cat β VFS in-memory
v0.0.9ATA driver + N.A.T.FS persistenteApr 2026C
- Driver ATA PIO lettura/scrittura settori
- N.A.T.FS: filesystem persistente su disco ATA
- natfs_sync() β dati sopravvivono al reboot
ls β file su disco reale
v0.1.0Sistema stabile β refactor completoApr 2026Stable
- Moduli separati, sistema utenti base
- PCI enumeration, Mouse PS/2
- Boot animation con barre di progresso
sysinfo β info sistema completa
π¦ NATALIZIOOS v0.1.x β Rebranding e maturitΓ
Shell avanzata, N.A.T.FS, multi-utente, ELF loader, preemption.
v0.1.1Rebranding NATALIZIOOSApr 2026Stable
- MyOS β NATALIZIOOS ufficialmente
- Logo ASCII, tema verde/cyan HPE iLO
- natalizioos.h come header centrale
version + about β identitΓ NATALIZIOOS
v0.1.2Shell avanzata β 30+ comandiApr 2026Stable
- History frecce su/giΓΉ, tab completion
- Pipeline cmd1|cmd2, alias, variabili env
- 30+ comandi attivi
help β 30+ comandi disponibili
v0.1.3Editor nano-like + script engineApr 2026Stable
- Editor full-screen CTRL+S/CTRL+X
- Script .nat eseguibili dalla shell
- Permessi UNIX-style, comando man
editor β file aperto full-screen
v0.1.4Syscall INT 0x80 + ELF32 loaderApr 2026Stable
- Tabella syscall INT 0x80
- ELF32 loader: elfrun dal filesystem
- Ring3 sperimentale
elfinfo β ELF loader in azione
v0.1.5Stabilizzazione + selftestApr 2026Stable
- Fix double-free heap, fix keyboard overflow
- selftest: diagnostica automatica di tutti i moduli
- CTRL+C interrompe il comando
selftest β diagnostica automatica
v0.1.6Multi-utente + sudoApr 2026Stable
- useradd, userdel, passwd, login, logout
- sudo con /etc/sudoers (visudo)
- whoami, id, users, su
users β lista utenti sistema
v0.1.7PCI avanzato + hwinfoApr 2026Stable
- PCI enumeration: vendor ID, device ID, classe
- sysinfo con CPUID, memoria, PCI devices
- hwinfo: report hardware dettagliato
hwinfo β report hardware completo
v0.1.8N.A.T.FS v2 + journalingApr 2026Stable
- Superblock, inode table, data blocks
- Journaling minimale per recovery
- mkfs, fsinfo, df
fsinfo β statistiche filesystem
v0.1.9Multitasking preemptivoApr 2026Stable
- Preemption via timer IRQ0
- Scheduler round-robin con priority
- tasks, sleep N, task_kill(pid)
tasks β processi preemptivi attivi
v0.1.9.1Fix preemption + stack isolationMag 2026Stable
- Fix crash: stack kernel isolato per task
- TSS aggiornato ad ogni context switch
- ringtest1/2/3 per verifica ring
tasks β dopo fix preemption
v0.1.9.2Boot selector F1/F11Mag 2026Stable
- F1: text mode, F11: boot menu
- ESC per recovery al boot
- Architettura dual-mode text+graphic
help β versione pre-freeze
v0.1.9.3VERIFIED β freeze pre-refactorMag 2026Stable
- Ultima v0.1.x β marcata VERIFIED
- Fix minori shell, warning risolti
- Base certificata per ciclo v0.2.x
uname + uptime β stato finale v0.1.x
π§ v0.2.x β Ring3 + Framebuffer 800Γ600 + Layer term_*
Ring3 vero, gfxshell grafica, gfxlogin, cross-mode API.
v0.2.0ELF32 completo + ring3Apr 2026Stable
- ELF32 loader: Ehdr, Phdr, Shdr completi
- elfrun/elftest dal filesystem
- Strutture per processi user reali
elfinfo + elftest
v0.2.0.1Ring3 + TSS + page faultApr 2026Stable
- GDT con segmenti user ring3
- TSS inizializzato (ltr)
- Page fault handler + iret a ring3
ringtest β salto in ring3
v0.2.0.2Memory isolation completaApr 2026Stable
- Page directory per processo isolata
- PAGE_USER rimosso da kernel pages
- User-mode stack a 0xBFFFF000
mem + pagecheck β isolamento
v0.2.0.3Framebuffer 800Γ600 β primo graficoApr 2026Stable
- Driver VESA 800Γ600Γ32bpp
- Font bitmap 8Γ16, gconsole con scrolling
- Prima gfxshell su framebuffer
gfxshell grafica 800Γ600
v0.2.1Ring3 + gfxshell + gfxloginApr 2026Stable
- Ring3 con syscall INT 0x80
- gfxshell su framebuffer, gfxlogin grafico
- Due kernel: graphic e text
sysinfo in gfxshell grafica
v0.2.1.1Memory isolation 100% + MMAPApr 2026Stable
- Page directory isolata al 100%
- SYSCALL_MMAP per pagine userspace
- Context switch atomico CR3+ESP0
mem in gfxshell
v0.2.1.1.1gfxshell β 10 comandiApr 2026Stable
- 10 comandi wired in gfxshell
- Dispatch separato dalla tabella text
- Help grafico con colori
help β 10 comandi (fase iniziale)
v0.2.1.1.7gfxshell β 100+ comandiApr 2026Stable
- 100+ comandi attivi in gfxshell
- Help screen completo aggiornato
- Tutti i warning di compilazione risolti
tasks β 100+ comandi attivi
v0.2.1.2Boot animation HPEApr 2026Stable
- Barre di caricamento verdi HPE style
- Step boot visibili con watermark
- Logo NATALIZIOOS ASCII animato
version β post boot animation HPE
v0.2.1.3Stabilization + selfdiagMag 2026Stable
- selfdiag: esegue tutti i comandi auto
- Fix vga_printf in pmm.c e heap.c
- Pulizia dead code accumulato
selfdiag in esecuzione
v0.2.1.3.1Icone bitmap + file listingMag 2026Stable
- fb_icons.c: icone 16Γ16 su fb
- File listing con icone per tipo
- Colori distinti file/dir/exe
ls β file listing con icone
v0.2.1.3.2gfxlogin grafico + cursoreMag 2026Stable
- Login grafico con cursore lampeggiante
- gfxlogin: autenticazione visuale
- Cursore animato sulla schermata di login
Boot screen β gfxlogin v0.2.1.3.2
v0.2.1.3.3Shell grafica MINIMag 2026Stable
- gfxmini: shell grafica compatta
- Keyboard non-blocking in gfxshell
- labmode per comandi sperimentali
Boot screen β gfxshell MINI v0.2.1.3.3
v0.2.1.3.5Mouse driver completoMag 2026Stable
- Mouse PS/2: movimento + click + scroll
- Cursore grafico 16Γ16 su framebuffer
- Click detection in gfxshell
hwinfo β hardware con mouse attivo
v0.2.1.3.6Freeze pre-HPE β base certificataMag 2026Stable
- Release freeze per serie HPE
- Cursore stabile, nessun leak noto
- KERNEL_SECTORS=512 definitivo
diskinfo β storage in gfxshell
v0.2.1.4Layer term_* β API cross-modeMag 2026Stable
- drivers/term.c: term_puts/printf/set_color
- Redirect auto a vga_* o gconsole_*
- Foundation per vga_* β term_*
sysinfo via term_* cross-mode
v0.2.1.5Boot grafico unico β HPE readyMag 2026Stable
- Boot diretto in modalitΓ grafica HPE
- bootanim-classic preservato come comando
- Base pulita per serie HPE
help β shell HPE pronta
π‘ HPE Series v0.2.1.5.x CANARY
Feature diagnostiche HPE iLO/ProLiant con dati hardware reali. Dual bundle text+graphic.
v0.2.1.5.1NATMemory β diagnostic v1Mag 2026CANARY
- Primo dual bundle CANARY (graphic+text)
- natmemory layout: mappa fisica RAM
- Stage2 a 4 chunk (256KB max kernel)
natmemory layout β mappa RAM
v0.2.1.5.1.1NATMemory step 1-2 β pattern+walkingMag 2026CANARY
- natmemory test: 0xAA/0x55/0xFF/0x00
- natmemory walk: walking bit test
- Progress bar durante i test
natmemory test in esecuzione
v0.2.1.5.1.2NATMemory step 3 β address testMag 2026CANARY
- natmemory addr: ogni addr legge se stesso
- Rilevazione conflitti di indirizzo
natmemory addr β test indirizzi
v0.2.1.5.1.3NATMemory step 4 β heap stressMag 2026CANARY
- natmemory heap: 1000 cicli alloc/free
- Rilevazione leak e double-free
natmemory heap β stress test
v0.2.1.5.1.4NATMemory step 5 β page integrityMag 2026CANARY
- natmemory page: P/RW/US bits per ogni PTE
- Rileva pagine corrotte o flag errati
natmemory page β integritΓ pagine
v0.2.1.5.1.5NATMemory step 6 β GUI HPE SmartMemoryMag 2026CANARY+HPE
- natmemory show: dashboard 4 riquadri
- Physical, Virtual, Heap, Stack colori
- natmemory all: tutti gli step in sequenza
natmemory show β GUI HPE SmartMemory
v0.2.1.5.2SmartStor β ATA S.M.A.R.T.Mag 2026CANARY+HPE
- ATA SMART cmd 0xB0: attributi reali
- Temperatura, ore, settori riallocati
- N/A dichiarato per QEMU
smartstor gui β ATA S.M.A.R.T.
v0.2.1.5.3ServerCfg β HPE Server ConfigMag 2026CANARY+HPE
- Menu HPE iLO: Network, Storage, Power
- Valori da hardware reale (CPUID, PCI)
- Navigazione con frecce + INVIO
servercfg β menu HPE server
v0.2.1.5.4SmartArray β HPE RAIDMag 2026CANARY+HPE
- Simulazione HPE Smart Array
- PCI enumeration per storage
- Dashboard: array, dischi, controller
smartarray gui β HPE RAID
v0.2.1.5.5SecureStart β boot integrity 8 checkMag 2026Stable+HPE
- 8 check: IDT, GDT, CR0, PMM, paging, stack, heap, versione
- Report OK/WARN/FAIL
securestart β 8 integrity check
v0.2.1.5.5-CANARYSecureStart CANARY + GUIMag 2026CANARY+HPE
- Build CANARY con GUI dashboard SecureStart
- Inizio sistema dual-bundle ufficiale
securestart CANARY β GUI dashboard
v0.2.1.5.6SeaOfSens β sensori reali textMag 2026CANARY+HPE
- CPUID/MSR/PMM/ATA/PCI β dati reali
- 4 sezioni: CPU, Memory, Storage, System
- N/A dichiarato per temp/fan/volt QEMU
seaof β dashboard text mode
v0.2.1.5.6-CANARYSeaOfSens CANARY β GUI HPE iLOMag 2026CANARY+HPE
- seaof gui: dashboard HPE iLO pieno schermo
- Barre grafiche CPU/memoria/storage
- Q=exit, R=refresh
seaof gui β HPE iLO dashboard
v0.2.1.5.7DynPower β ACPI + CPU powerGiu 2026CANARY+HPE
- RSDPβRSDTβFADT (ACPI completo)
- CPUID leaf 6: DTS, Turbo, HWP
- MSR 0x198/0x1B0 β frequenza e P-state
dynpower gui β HPE Power dashboard
v0.2.1.5.8RestAPI + NATTourGiu 2026CANARY
- uart.c: COM1 polling 38400 8N1
- restapi.c: JSON (ping/version/uptime/exit)
- tour.c: wizard 8 slide typewriter
restapi β JSON listener COM1
NATTour β wizard slide 1
v0.2.1.5.9NATBrowser A β HTML locale (VFS)Giu 2026CANARY
- Parser HTML single-pass (h1/p/b/a href)
- Word-wrap cross-mode via term_*
- FIX CRITICO: heap_init() mancante boot grafico
help β versione 0.2.1.5.9
browser β pagine HTML locali
CANARY
v0.2.1.5.10
Fix generale β dispatch unificato gfxshell + help dinamico β οΈ ROLLBACK in 5.11
Giu 2026
- Dispatch generico in gfxshell_main.c: fallback su shell_commands[] per tutti i comandi non gestiti esplicitamente
- 77+ comandi precedentemente "sconosciuti" in gfxshell ora funzionano senza modifiche aggiuntive
- Help dinamico generato dalla tabella (100 comandi), con paginazione INVIO/ESC
- Aggiungere un comando a commands.c ora basta per gfxshell β nessuna altra modifica necessaria
- Nessuna nuova feature: versione di consolidamento e fix architetturale
- β οΈ Annullata in v0.2.1.5.11: molti comandi in tabella usano vga_* diretto, non visibile in framebuffer β serve prima la conversione term_* (Strada A)
help β 100 comandi dinamici
tasks β ora disponibile in gfxshell
ROLLBACK
v0.2.1.5.11
Rollback a base 9b β annulla dispatch generico di 5.10
Giu 2026
- Identica a v0.2.1.5.9b: kernel/gfxshell_main.c riportato al dispatch hardcoded originale
- Motivo: il fallback generico di 5.10 esponeva comandi vga_* non visibili in framebuffer
- tasks torna "Comando sconosciuto", help torna alla lista statica β verificato via screenshot
- RestAPI, NATTour, NATBrowser A+B invariati e funzionanti
- Prossimo passo corretto: Strada A (vga_* β term_*) prima di riconsiderare il dispatch generico
tasks β torna sconosciuto (rollback ok)
help β torna statico
ROLLBACK
v0.2.1.5.11
Rollback a v0.2.1.5.9b β dispatch generico rimosso
Giu 2026
- Rollback puro: nessuna nuova feature, nessun fix
- Il fallback generico v0.2.1.5.10 eseguiva comandi ancora scritti in vga_* β non funzionanti in framebuffer grafico, ma senza dare errore
- gfxshell_main.c ripristinato identico byte-per-byte a v0.2.1.5.9b (verificato via md5)
- Vero prossimo passo: v0.2.1.6 Strada A, conversione sistematica vga_* β term_*
help β hardcoded, come in 9b
NATALIZIOOS Development Wiki β 58 versioni, 58 screenshot QEMU β Giugno 2026