71104
07-06-2005, 16:08
spero che questo 3d non sia troppo ripetitivo visto che ce ne sono stati altri in passato, ma se lo è perdonatemi e arrabbiatevi anche con DanieleC88 che mi ha suggerito di farlo :D
comunque sia almeno non vi chiedo consigli su qual'è il miglior compilatore per Windows... :muro:
vorrei avere da voi (possibilmente esperti :p) qualche parere su come si progetta/crea un sistema operativo, una cosa artigianale ovviamente; in altre parole, come deve procedere secondo voi una persona che voglia creare il suo piccolo SO.
io un'idea ben precisa del come fare ce l'ho, ma Daniele me la contesta :p e cmq sono anche curioso di conoscere il vostro parere.
direi che molto dipende anche da che cosa uno vuole fare, no? il tipo di kernel che ha in mente, il modo in cui avviene il processo di boot, ecc.
ad esempio, il SO che ambisco a fare io (:p :p :p) è costituito da una serie di programmi in formato PE, quindi il bootloader contiene una mia versione temporanea del loader PE.
il mio processo di boot io me lo sono figurato nella seguente maniera: il bootloader usa esclusivamente i drivers del BIOS, e si occupa di:
1) entrare in modalità protetta
2) caricare le immagini PE fondamentali del kernel, che saranno due o tre, con una versione temporanea del loader PE
3) chiamare l'entry point della parte principale del kernel e passargli quindi il controllo
per il resto fa tutto il kernel, che inizializza il memory manager, l'io manager, tutti gli altri componenti, e contiene la versione definitiva del loader PE; carica tutto quello che manca (altre immagini PE, e in un futuro molto remoto, anche device drivers :p) e crea il processo della shell.
PS: ho deciso di usare il formato PE perché così è tutto più semplice tranne il caricamento, ma una volta fatto quello sono a posto: ho molte possibilità (il formato PE è assai potente e tutto sommato anche abbastanza semplice) nonché ovviamente compatibilità!! :)
comunque sia almeno non vi chiedo consigli su qual'è il miglior compilatore per Windows... :muro:
vorrei avere da voi (possibilmente esperti :p) qualche parere su come si progetta/crea un sistema operativo, una cosa artigianale ovviamente; in altre parole, come deve procedere secondo voi una persona che voglia creare il suo piccolo SO.
io un'idea ben precisa del come fare ce l'ho, ma Daniele me la contesta :p e cmq sono anche curioso di conoscere il vostro parere.
direi che molto dipende anche da che cosa uno vuole fare, no? il tipo di kernel che ha in mente, il modo in cui avviene il processo di boot, ecc.
ad esempio, il SO che ambisco a fare io (:p :p :p) è costituito da una serie di programmi in formato PE, quindi il bootloader contiene una mia versione temporanea del loader PE.
il mio processo di boot io me lo sono figurato nella seguente maniera: il bootloader usa esclusivamente i drivers del BIOS, e si occupa di:
1) entrare in modalità protetta
2) caricare le immagini PE fondamentali del kernel, che saranno due o tre, con una versione temporanea del loader PE
3) chiamare l'entry point della parte principale del kernel e passargli quindi il controllo
per il resto fa tutto il kernel, che inizializza il memory manager, l'io manager, tutti gli altri componenti, e contiene la versione definitiva del loader PE; carica tutto quello che manca (altre immagini PE, e in un futuro molto remoto, anche device drivers :p) e crea il processo della shell.
PS: ho deciso di usare il formato PE perché così è tutto più semplice tranne il caricamento, ma una volta fatto quello sono a posto: ho molte possibilità (il formato PE è assai potente e tutto sommato anche abbastanza semplice) nonché ovviamente compatibilità!! :)