Domanda

quello che è un modo per creare un mio proprio sistema operativo utilizzando C ++. Ho creato boot loader (usando NASM, QEMU), ma non ho le conoscenze per aggiungere un kernel a questo boot loader.

Nessuna soluzione corretta

Altri suggerimenti

Ecco un tonnellata di informazioni che più volte si bisogno, il temuto programmazione OS FAQ.

Attenzione, C ++ è abbastanza pesante per un kernel del sistema operativo.

  • Non ci sono servizi come eccezioni che dovrete sostenere con una libreria di runtime.
  • Non si sentirà come C ++ finché non si aggiunge un mucchio.
  • I noccioli sono molto sensibili a cui vengono assegnati gli oggetti; il modello di un mucchio di solito usato in C ++ non è proprio adatto.
  • API accoppiamento con strutture di dati è una cattiva idea. BeOS ha avuto problemi con questo. È necessario per nascondere le dimensioni delle vostre strutture interne degli utenti, e questo significa che i salti mortali (Pimpl, costruttore privato, funzioni virtuali) quando le API sono funzioni membro.

Sembra che tu sei già più avanti rispetto alla maggior parte, in modo da mantenere porre domande e probabilmente finisce per qualcosa di carino! : VD

Anche per aggiungere, Questo libro di Tanenbaum, in cui spiega il dettagli di implementazione di Minix.

Si può prendere in considerazione guardando MINIX che è un piccolo sistema operativo per i sistemi x86. È stato originariamente concepito come un progetto didattico e si è evoluto in qualcosa che è destinato ad essere utile nel mondo reale.

Non ho familiarità con i dettagli, ma per la mia conoscenza BeOS è stato scritto in C ++. Le fonti dovrebbero essere Freeley disponibili così come la documentazione.

si può dare un'occhiata a MINIX 3 codice sorgente. E 'molto semplice OS, create con lo scopo di capire come funziona il sistema operativo.

è anche possibile studiare tutto il libro Tanenbaum sulla os. sono tutti molto completo e mi ricordo che un libro ha il sorgente completo di Minix allegato e commentato

Per il sistema operativo di un C ++, si consiglia di guardare a NewOS o UnixLite .

Un sistema operativo utilizzabile può essere sviluppato nella parte alta della L4 , anche da un singolo studente in un semestre insieme ad altri corsi (ma con tutti i problemi di driver già risolti). Se trovato questo essere una grande avventura, e il microkernel L4 è anche un po 'avanzata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top