Buonasera a tutti. Mi ha sempre incuriosito l'idea di scrivere un sistema operativo. Volevo sviuppare qualcosina, ninete di troppo impegnativo, non voglio certo imitare gli OS commerciali poichè non mi interessa sviluppare interfacce grafiche avanzate, sistemi di sicurezza ecc, ma capire come a partire dall'hardware del pc "morto"(intendo dire porpio morto, senza bios/firmware), ottenere qualcosa che riceva input da tastiera e mouse e stampare sullo schermo (non serve avere tutti i dispostitivi, una volta capito come si gestiscono questi). Quindi l'idea è avere una sorta di promt dei comnadi come interfaccia, un semplice file system, e poi tutta la faccenda di: gestione degli interrupt, gestione dei dispositivi e implementazione dei driver, gestione delle periferiche hard disk, scheda di rete, gestione della memoria, allocazione e allocazione di essa ecc. Non intendo dotare di troppa roba, solo l'essenziale.
Premetto di aver studiato un libro sui sistemi operativi e di aver compreso il funzionamento di ogni sua parte. Ciò che infatti potrei fare è un programma che simuli un sistema operativo, ma come ho scritto sopra vorrei fare qualcosa di vero, creare un bootloader, caricare il sistema sul disco e farlo eseguire da un pc "vuoto". A questo punto lo scoglio che i trovo a dover superare è questo: come realizzo tutta programmazione a basso livello? Ho programmato in C, ma sempre ad alto livello (per quanto si potesse fare) e usato le classiche librerie standard, questo per dire che non ho mai comandato al bus della sheda video di stampare sullo schermo una stringa o programmare il driver di una scheda di rete. Ora mi trovo a dover fare questo e altro. E' fin troppo interessante per lasciar stare l'ardua impresa, ma per quanto possa aver imparato sui sistemi operativi, non sono in grado di realizzare ciò.
Chiedo a voi quali consigli avreste da darmi, quali fonti/libri consultare per poter imparare a lavorare a basso livello. Grazie in anticipo