Sinapse

 

Sinapse Is Not Another Parallel System Environment

Sinapse nasce da una fork del progetto Quickstart e dalla conseguente fusione con il progetto Yauosk (Yet Another Useless Operating System Kernel).

L’obbiettivo attuale è quello di dividere il bootloader in due stage: il primo stage caricherà il secondo stage, e il secondo stage farà il parsing del kernel in formato ELF al fine di permettere a GDB di debuggare il codice.

Il prossimo passo sarà quello di integrare la configurazione dell’ SMP di Yauosk con le componenti del progetto Quickstart, ma per fare questo c’è ancora del lavoro da fare per implementare i lock e i mutex.

Stato attuale:

In realtà, nessuno dei due bootloader sono adatti a questo scopo, per cui stiamo cercando di fondere i pezzi. Come sempre stiamo cercando allora stesso tempo di mantenere il codice più semplice possibile e per fare ciò stiamo tentando di sfruttare le funzioni preconfenzionate che ci mette a disposizione il BIOS per caricare l’ELF dal floppy drive, ma questo è reso difficile dal fatto che per usare il BIOS dobbiamo rimanere in Real Mode e non riusciamo a trovare un compilatore C adatto all’architettura 8086 (16bit).

Fare il parse di un ELF interamente in ASM non è facile, ma l’alternativa è andare in protected mode (32bit), la quale ci permetterebbe di scrivere direttamente in C, ma dovendo scrivere da capo il driver del floppy.

Scrivere il drive del floppy non è per niente facile (è più semplice il driver IDE/ATA paradossalmente), ma pensiamo non ci siano molte soluzioni rimaste ormai…

Contatti:

Stiamo cercando di farci dare una mailing list per il progetto,
ma per ora l’unico modo di restare in contatto diretto è iscrivere alla mailing list di IGLU

Ricordiamo che il sorgente del progetto è disponibile sul GIT all’indirizzo: http://iglu.cc.uniud.it/gitweb/

Share this:
Share this page via Email Share this page via Stumble Upon Share this page via Digg this Share this page via Facebook Share this page via Twitter
 Posted by at 21:28

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)