ChiOS Logo
ChiOS 0.0.1b -Instabile- 6 dic 2003 Sorgenti tar.gz Binari precompilati Changelog
ChiOS 0.0.1a -Instabile- 3 set 2003 Sorgenti tar.gz Binari precompilati  
Sfumatura E' indegno dell'eccellenza dell'uomo sprecare ore a fare calcoli. (G. W. Leibniz)
Home
Download
CVS
Fasi di sviluppo
Versioni
Documenti
FAQ
Links

_FAQ


1. Introduzione
 1.1 Che vuol dire FAQ?
 1.2 Cosa e' ChiOS?
 1.3 Quali sono gli obiettivi del Progetto ChiOS?
 1.4 ChiOS e' registrato? E cosa posso o non posso fare io con il codice del sistema operativo?
 1.5 In che fase di sviluppo e' ChiOS?
 1.6 ChiOS potrebbe provocare dei danni al mio PC?
2. Installazione, compilazione ed esecuzione
 2.1 Come installo e lancio ChiOS?
 2.2 Cosa mi serve per compilare ChiOS?
 2.3 Posso compilare ChiOS anche sotto Windows?
 2.4 Posso usare anche altri compilatori, assemblatori o linker?
 2.5 Se uso altre versioni di compilatori, assemblatori o linker ottengo un file immagine diverso?
3. Kernel
 3.1 Che cosa e' il kernel? E i processi?
 3.1 Che cosa e' il file system? E Lynx?
 3.1 Che differenza c'e' tra un kernel "normale" ed uno real-time?

@1. Introduzione

// 1.1 Che vuol dire FAQ?

FAQ e' un acronimo di Frequently Asked Questions, domande poste di frequente. Ovviamente in questa pagina trovate pure le risposte.

// 1.2 Cosa e' ChiOS?

ChiOS e' un sistema operativo real-time progettato per piattaforme i386 o superiori.

// 1.3 Quali sono gli obiettivi del Progetto ChiOS?

Lo scopo del progetto e' la creazione di un sistema operativo completo general purpose dotato di tre caratteristiche fondamentali: stabilita', efficienza e velocita'.

// 1.4 ChiOS e' registrato? E cosa posso o non posso fare io con il codice del sistema operativo?

Tutto il software e la documentazione e' registrata sotto la licenza GNU/GPL. Per avere maggiori informazioni potete leggere il contratto da http://www.gnu.org/licenses/gpl.html.
Una copia di questo contratto e' inclusa anche nel sorgente del sistema operativo.

In essenza la GPL (General Public License) indica che chiunque possa leggere, scaricare, modificare e distribuire il software ma deve pubblicare il proprio software modificato come software libero e deve includere chiaramente il fatto che ha prodotto una patch, mantenendo le note di copyright originali intatte.

Chiunque violasse queste norme (per esempio distribuisse ChiOS distribuendolo a proprio nome) puo' essere legalmente perseguito.

// 1.5 In che fase di sviluppo e' ChiOS?

Agli albori, come e' possibile notare dai numeri di versione...

// 1.6 ChiOS potrebbe provocare dei danni al mio PC?

Assolutamente no.
Il supporto per i dischi fissi non e' ancora stato implementato, quindi il sistema non e' ancora in grado di toccare i dati dal disco.
Attualmente la cosa piu' "pericolosa" che potrebbe succedere e' un riavvio improvviso del computer.

@2. Installazione, compilazione ed esecuzione

// 2.1 Come installo e lancio ChiOS?

Avete due opzioni: o scaricate i sorgenti, li compilate per conto vostro per ottenere il file immagine del disco di ChiOS oppure scaricate direttamente l'immagine da qui. In entrambe i casi il risultato sara' lo stesso.

Una volta che avrete il file immagine non vi resta che copiarlo su un normalissimo dischetto da 1.44 MB da 3.5 pollici.
A questo punto potete far eseguire il sistema operativo, o direttamente dal vostro PC usando il dischetto come boot disk oppure usando un emulatore.

Per maggiori informazioni visitate la sezione Documenti: qui trovere delle pagine scritte apposta per chi volesse provare ChiOS.

// 2.2 Cosa mi serve per compilare ChiOS?

Prima di tutto un sistema operativo UNIX o simile (Linux, BSD, ecc).

In secondo luogo vi serviranno tre programmi: il compilatore gcc 3 o superiori, l'assemblatore as 2 o superiori ed il linker ld 2 o superiori.

Per ulteriori informazioni consultate la sezione Documenti.

// 2.3 Posso compilare ChiOS anche sotto Windows?

Certamente. CygWin e' un emulatore di console UNIX per Windows. Lo potete scaricare da http://www.cygwin.com.
Quando lo scaricate assicuratevi anche di prendere i pacchetti per gcc, as e ld (as ed ld spesso vengono distribuiti congiuntamente in un pacchetto chiamato binutils).

// 2.4 Posso usare anche altri compilatori, assemblatori o linker?

In teoria si. L'unica accortezza che dovete fare e' modificare il Makefile per includere i nuovi comandi e modificare gli eventuali file .c, .h o .S se il compilatore/assemblatore richiede delle istruzioni particolari.

// 2.5 Se uso altre versioni di compilatori, assemblatori o linker ottengo un file immagine diverso?

Si. Ognuno di questi tre applicativi "ragiona" in modo diverso in base al tipo di programma che usate (per esempio gcc compila in modo diverso da quanto fa cc) e pure in base alla versione (gcc 3.3.1 vs gcc 3.3.2). Alla fine avrete un prodotto diverso per ogni tipo di combinazione compilatore/assemblatore/linker che usate, ma che produrra' gli stessi effetti (ci sono tanti modi di fare una cosa, ed ogni programma lo fa in modo diverso).

@3. Kernel

// 3.1 Che cosa e' il kernel? E i processi?

Senza ricorrere a definizioni rigorose, spesso troppo tecniche e ambigue, possiamo dire che il kernel rappresenta il cuore di un sistema operativo.
Un kernel si occupa di una miriade di operazioni diverse: gestione del file system, gestione della memoria, lancio, esecuzione e terminazione dei programmi, gestione della grafica, dell'interfaccia testuale, della tastiera, dei dischi e di ogni altro tipo di dispositivo. Costruire un kernel completo ed efficiente e' una delle cose piu' complesse che un programmatore possa fare, per via della incredibile mole di teoria che ci sta dietro e per l'abilita' nella programmazione non indifferente.

Anche qui diamo una definizione "alla buona" di processo. Un processo e' un programma in esecuzione. Il mio programma, cioe' il file su disco, l'eseguibile insomma, appena viene lanciato diventa un processo. Di solito e' bene quindi distinguere il termine programma (il file su disco) da processo (il codice in memoria RAM), anche perche' vengono trattati in maniera completamente differente dal kernel.

// 3.2 Che cosa e' il file system? E Lynx?

Un file system e', in parole povere, il metodo col quale un sistema operativo e' in grado di organizzare dei dati su un dispositivo. Al giorno d'oggi i dati sono solitamente organizzati in file e i dispositivi tipici di memorizzazione sono i dischi, siano essi floppy o dischi rigidi. Un kernel puo' essere in grado di gestire anche diversi tipi di file system.

Lynx e' un tipo di file system. Piu' precisamente e' il file system fondamentale di ChiOS. Altri tipi di file system sono ext2, ext3, ReiserFS, FAT32 e NTFS.

// 3.3 Che differenza c'e' tra un kernel "normale" ed uno real-time?

Un sistema operativo real-time offre in piu', rispetto ad un altro "normale", la capacita' di aggiungere dei vincoli che il kernel e' obbligato (almeno entro certi limiti) a rispettare. L'aggiunta di questi vincoli rende gli RTOS (Real-Time Operating System) particolarmente efficiente e adatti dove e' necessaria una grande precisione.

Usando queste caratteristiche speciali si puo' obbligare il sistema a scrivere un file entro un tempo massimo oppure a lanciare un'applicazione ad un'ora esatta con una precisione che spacca il millisecondo.

Hosted by:
SourceForge.net
Please firm:
Petition Logo