Una cosa che ho sempre voluto fare è sviluppare il mio sistema operativo (non necessariamente elegante come Linux o Windows, ma meglio di un semplice caricatore di avvio che ho già fatto).
Sto facendo fatica a trovare risorse / guide che ti portano a scrivere un semplice sistema operativo "Hello World".
So che molte persone probabilmente mi consiglieranno di guardare Linux o BSD; ma la base di codice per sistemi del genere è (presumibilmente) così grande che non saprei da dove cominciare.
Eventuali suggerimenti?
Aggiornamento: per facilitare le persone che arrivano a questo post tramite Google, ecco alcune risorse di sviluppo del sistema operativo:
Scrivere il proprio sistema operativo (grazie Adam)
Linux From Scratch (Grazie John)
SharpOS (sistema operativo C #) (grazie lomaxx)
OS Dev Wiki e Forum (Grazie Steve)
BonaFide (grazie Steve)
Bran (grazie Steve)
Avvia il tuo giocattolo Sistema operativo UNIX-clone (Grazie Steve)
Altre risorse:
Ho trovato una bella risorsa chiamata MikeOS , "MikeOS è uno strumento di apprendimento per dimostrare come funzionano i sistemi operativi semplici. Utilizza la modalità reale a 16 bit per l'accesso al BIOS, quindi non ha bisogno di driver complessi"
Aggiornato il 14/11/08
Ho trovato alcune risorse nella Guida di Freebyte a ... Sistemi operativi gratuiti e non liberi che si collegano a kit come OSKit e la libreria ExOS. Questi sembrano molto utili per iniziare nello sviluppo del sistema operativo.
23/02/09 aggiornato
Ric Tokyo ha raccomandato nanoo in questa domanda . Nanoos è un sistema operativo scritto in C ++.
Aggiornato il 09/03/09
Dinah ha fornito alcune utili discussioni su Stack Overflow di aspiranti sviluppatori di sistemi operativi: i roadblock nella creazione di un sistema operativo personalizzato discutono quali insidie si potrebbero incontrare durante lo sviluppo di un sistema operativo e lo sviluppo del sistema operativo è una discussione più generale.
Aggiornato il 09/07/09
LB ha fornito un collegamento al Progetto Pintos , un sistema operativo educativo progettato per gli studenti che imparano lo sviluppo del sistema operativo.
Aggiornato il 27/07/09 (Ancora forte!)
Mi sono imbattuto in un corso OS online di Berkley con 23 lezioni.
TomOS è un fork di MikeOS che include un piccolo gestore di memoria e il supporto del mouse. Come MikeOS, è progettato per essere un progetto educativo. È scritto nell'assemblatore NASM.
Aggiornato il 04/08/09
Ho trovato le diapositive e altri materiali da abbinare alle lezioni online di Berkeley elencate sopra.
Aggiornato il 23/08/09
Tutte le domande hanno taggato osdev su stackoverflow
OS / 161 è un sistema operativo accademico scritto in c che gira su un hardware simulato. Questo sistema operativo è simile in Nachos. Grazie Novelocrate!
tangurena consiglia http://en.wikipedia.org/wiki/MicroC/OS-II , un sistema operativo progettato per sistemi embedded. C'è anche un libro dei compagni .
Lo sviluppo del kernel Linux di Robert Love è suggerito da Anders. È un "acclamato sguardo degli addetti ai lavori al kernel Linux".
Aggiornato il 18/09/2009
Grazie Tim S. Van Haren per averci parlato di Cosmos , un sistema operativo scritto interamente in c #.
tgiphil ci parla di Managed Operating System Alliance (MOSA) Framework , "un insieme di strumenti, specifiche e codice sorgente per favorire lo sviluppo di sistemi operativi gestiti basati sul Common Intermediate Language".
Aggiornamento del 24/09/2009
Steve ha trovato un paio di risorse per lo sviluppo su Windows usando Visual Studio, controlla la configurazione della guida di BrokenThorn con VS 2005 o la sezione VS di OSDev .
Aggiornato il 9/5/2012
kerneltrap.org non è più disponibile. Il kernel Linux v0.01 è disponibile da kernel.org
21/12/2012 aggiornato Un tutorial di sviluppo del sistema operativo di base progettato per essere un progetto di semestre. Ti guida nella creazione di un sistema operativo con componenti di base. Ottimo inizio per i principianti. Related carta . Grazie Srujan!
Aggiornato il 15/11/2013
Scrivere un semplice sistema operativo da zero . Grazie James Moore!
Aggiornato il 12/8/2013
Come creare un sistema operativo per computer Grazie ddtoni!
Aggiornato il 18/03/2014
ToAruOS un sistema operativo costruito principalmente da zero, inclusa la GUI
Aggiornato il 12 settembre 2016
Scrivi il tuo sistema operativo Toy
Aggiornato il 10 dicembre 2016
Scrivere un sistema operativo semplice —da Scratch (grazie @Tyler C)