RoadMap di DreamOS

Attention: open in a new window. PDFPrintE-mail

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:
  1. Major Release
  2. Release
  3. 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
RImozione bug shell
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
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