Crei un sistema operativo in C ++ [chiuso]
-
23-09-2019 - |
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
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.