Strati più antichi — progetto deprecato

Natalino

Prima che esistesse Alessandro OS, prima ancora che NatalizioOS portasse questo nome, c'erano tre rami sperimentali distinti: Natalino, MyOS e i primi 0.1.x di NatalizioOS. Questa pagina scava in quegli strati, dal più recente al più antico.

28
Versioni totali
5
Natalino
11
MyOS
12
NatalizioOS 0.1.x
STRATO I Natalino

Un ramo a parte, mai confluito nel resto del progetto: tre tentativi di kernel x86 (Build 0, 1, 2) e un esperimento isolato — un clone testuale della schermata di boot HPE ProLiant, scritto come programma Linux a sé stante invece che come sistema operativo bare-metal.

Build 0
Natalino Build 0
Hello World 16-bitBootloader Real Mode minimale. Avvio riuscito, nessun kernel.
Build 1
Natalino Build 1
Protected Mode 32-bitGDT caricata, salto a 32-bit completato con successo.
Build 2
Natalino Build 2 crash
Kernel Multiboot — crashEIP scappa fuori dal kernel dopo il boot: l'esecuzione vaga in memoria non mappata. Bug autentico, mai risolto in questo ramo.
HPE Clone
HPE ProLiant boot clone
Programma terminale, non un OSClone ANSI della schermata HPE ProLiant Gen10, eseguito come processo Linux con animazione a fasi.
STRATO II MyOS

Undici versioni che ripercorrono, in miniatura, l'intera storia di un sistema operativo: da un bootloader che stampa un solo asterisco fino a un kernel con multitasking, GDT/TSS, syscall INT 0x80 e timer in preemption. L'ultima versione, v0.1.0, si ribattezzerà NatalizioOS nello strato successivo.

v0.0.0
MyOS 0.0.0
Un solo asterisco3 istruzioni Assembly: scrive un carattere in 0xB800:0000 e si ferma.
v0.0.1
MyOS 0.0.1
Hello World 2Bootloader caricato a 0x7C00, messaggio di stato e halt.
v0.0.2
MyOS 0.0.2
Protected ModeA20 abilitata, GDT flat 0-4GB, primo salto a 32-bit.
v0.0.3
MyOS 0.0.3
Mappa di memoriaEnumerazione delle regioni RAM via BIOS, 22+ blocchi rilevati.
v0.0.4
MyOS 0.0.4
IDT + PIC + Timer + Tastiera256 gate IDT, PIC remappato su IRQ 0x20-0x2F, primo input da tastiera.
v0.0.5
MyOS 0.0.5
kmalloc / kfreeHeap a 4MB, test completo di allocazione, scrittura e liberazione blocchi.
v0.0.6
MyOS 0.0.6
Nasce la shell: myos>Paging 4KB attivo, primo prompt interattivo del ramo MyOS.
v0.0.7
MyOS 0.0.7
RAMFS + VFSFilesystem in RAM montato, prompt evoluto in myos:/>.
v0.0.8
MyOS 0.0.8
"Cinematic edition"Boot animation ASCII art con logo MyOS, stessa base tecnica di v0.0.7.
v0.0.9
MyOS 0.0.9
MultitaskingTask scheduler attivo: primo passo verso processi concorrenti.
v0.1.0
MyOS 0.1.0
"Milestone release"GDT+TSS, syscall INT 0x80, timer in preemption. L'ultima MyOS prima del cambio nome.
STRATO III NatalizioOS 0.1.x

Il nome "NatalizioOS" e il logo ad albero di Natale ASCII art nascono qui, in continuità diretta con MyOS v0.1.0. Snodo storico importante: tre release di fila (v0.1.6, v0.1.7, v0.1.8) crashano nello stesso identico modo subito dopo il login, un bug di sistema multi-utente mai isolato finché non viene risolto in v0.1.9.

v0.1.1
NatalizioOS 0.1.1
"Christmas edition"Nasce il logo albero di Natale ASCII art. RAMFS, heap, scheduler ereditati da MyOS.
v0.1.2
NatalizioOS 0.1.2
Shell natalizio:/>Il prompt cambia identità, coerente col nuovo nome del progetto.
v0.1.3
NatalizioOS 0.1.3
N.A.T. FS persistentPrimo filesystem che sopravvive al riavvio, non più solo RAM volatile.
v0.1.4
NatalizioOS 0.1.4
Hardware detectionEnumerazione bus PCI completa: 6 dispositivi rilevati con vendor/classe.
v0.1.5
NatalizioOS 0.1.5
Editor + historyEditor di testo integrato e cronologia comandi nella shell.
v0.1.6
NatalizioOS 0.1.6 crash
Multi-user — crash al loginIntroduce login con utenti root/guest. Subito dopo l'autenticazione: Invalid Opcode a EIP fisso.
v0.1.7
NatalizioOS 0.1.7 crash
Sudo — stesso crashIntroduce i permessi UNIX e sudo, ma eredita il crash al login di v0.1.6, identico all'indirizzo macchina.
v0.1.8
NatalizioOS 0.1.8 crash
Pipe e wildcard — stesso crashTerza release di fila con lo stesso Invalid Opcode dopo il login: il bug del sistema utenti resta irrisolto.
v0.1.9
NatalizioOS 0.1.9
Il crash viene risoltoLogin funzionante, shell raggiunta come root su /disk/home/root.
v0.1.9.1
NatalizioOS 0.1.9.1
StabileStessa base funzionante di v0.1.9, nessuna regressione.
v0.1.9.2
NatalizioOS 0.1.9.2
StabileTerza release di fila senza il crash del sistema utenti: il fix tiene.
v0.1.9.3
NatalizioOS 0.1.9.3 crash
"Polish Edition" — nuovo crashPage Fault durante il boot stesso, prima del login: un bug diverso da quello di v0.1.6-8, introdotto dai nuovi comandi man/about.
+ vedi schermata di boot NatalizioOS 0.1.9.3 boot screen