RoadMap di DreamOS
Written by Ivan Thursday, 23 April 2009 10:24
Ecco cosa aspettarsi dalle versioni Future di dreamos
In quesa pagina cerchero di mettere una pianificazione delle versioni presenti e future del sistema operativo. Le versioni piu vicine saranno quelle piu dettagliate.
Prima di dare la roadmap, chiariamo un po' come funziona il versioning di DreamOS
Come molti di voi hanno notato attualmente abbiamo una release 0.1 e 0.1.1 e stiamo preparando la 0.1.2. Come vanno interpretati questi numeri?
L'idea e' avere tre livelli di release:
- Major Release
- Release
- Minor Release
Il numero di versioni quindi e' identificato dalla tripletta X.Y.Z Dove la X e' associata alla Major Release la Y e' la Release e la Z si riferisce alla Minor.
Ora gli obiettivi che vengono posti fra 2 Major Release, per esempio 0.1 e 1.0 saranno suddivisi nelle release (quindi identificate dalla y), e saranno normalmente componenti importanti come per esempio la gestione dei processi, piuttosto che il supporto al file system. Inoltre fra una Release e l'altra (quindi 0.1 e 0.2) ci saranno un numero variabile di minor release (p.es. 0.1.1, 0.1.2), che normalmente raccolgono una serie di modifiche minori ma significative, unite a diversi bugfixes (in questo caso in una minor release potrebbero rientrare nuovi comandi, o moduli secondari aggiunti per esempio la CPUID e' un obiettivo di una minor release), queste ultime inoltre verranno usate anche per gli obiettivi secondari dipendenti dal primario, per esempio se nella vers 0.3 ho implementato il supporto base al VFS, la 0.3.1 potra' avere l'obiettivo di aggiungere un supporto ad un dato file system, o una gestione degli utenti basta su files (questo non impedisce che poi in Release o Major Release future non ci siano altre aggiunte al VFS. Il numero di minor release fra una Release e l'altra e' variabile (come quello delle Release) quindi potrebbe essere che fra la 0.1 e la 0.2 ci saranno 5 minor release fra la 0.2 e la 0.3 ce ne siano 16, per le Release cercheremo di farne 9 ogni volta, ma questo non e' detto che sia una regola ferrea. Quindi potrebbe starci la 0.12 mentre alla 1.9 potrebbe seguire la 2.0.
Veniamo ora alla roadmap. Per ora abbiamo definito solo alcune Release e Minor. Questa pagina potrebbe subire continue modifiche e/o magari i rilasci nn rispettare quanto scritto.
Major: 0
Release: 1 - Obiettivo: Gestione Memoria
La 0.1 conterra' una prima versione funzionante della gestione della memoria
Ver 0.1.1
CPUID Completa
Bugfix
Uname in stile posix
Comando Date Completo
Date espresse con possibilita' di lingua inglese e lingua italiana
Riscrittura shell
Ver 0.1.2
Completamento Memory Manager con supporto ad allocazione di spazio richiesto e nn pagine intere
Completamento Memory Manager con supporto ad allocazione di spazio richiesto e nn pagine intere
RImozione bug shell
Libreria debug per bochs
Ver 0.1.3
Usare APIC per le IRQ?!
Cd bootabile
Libreria debug per bochs
Ver 0.1.3
Usare APIC per le IRQ?!
Cd bootabile
Script per inserimento entry in grub
Release 2 - Obiettivo: Virtual File System
Supporto base al VFS
Definizioen di un primo FS molto semplice con possibilita' di memorizzazione files
Realizzazione tool di scrittura nel FS per linux
Ver 0.2.1
Login del sistema con username e password (anche in chiaro attualmente)
Creazione di ISO Bootabile
Completare stat
Creazione di ISO Bootabile
Completare stat
Ver 0.2.2
Tool di scrittura sul FS anche per windows
Implementazione di un File System canonico (p.es. Fat o ext2) Release 3 - Obiettivo: Memoria paginata - Riscrittura
Questa release prevede la riscrittura del gestore della memoria paginata.
Ver 0.3.1
File header di configurazione di alcuni servizi del sistema operativo. Release 4- Obiettivo: Multitasking
Definizione processi e algoritmo di scheduling
Ver 0.4.1
Funzioni posix per la creazione di processi (fork e simili)
La shell diventera' un task.
Ver 0.4.2
Semafori
Per ora abbiamo pianificato fino a qua, e penso ne avremo per molto, quindi nn vado oltre



