Per primo, devi scegliere la piattaforma hardware su cui dovra' girare il sistema operativo.Originariamente inviato da fulmine69
La domanda era: Come si può creare un sistema operativo e compilarlo, visto che lo stesso ancora non esiste? Nel senso che, se creo un'applicazione e la compilo sotto Windows, questa funzionerà solo sotto Windows, giusto? Lo stesso vale per Linux e etc.. Ho ragione?
Devi cioe' indicare se, ad esempio, dovra' girare su piattaforma "Intel x86", oppure unicamente "x64", o addirrittura "PowerPC" o su CPU RISC di altro tipo o altro ... tenendo sempre presenti le caratteristiche hardware (periferiche ...) del sistema prescelto.
Insomma, dovrai cominciare "definendo esattamente" l'hardware su cui girera' il SO.
Fatto questo (e per semplicita', supponiamo che tu voglia scrivere un sistema operativo per piattaforma Intel x86, ovvero per un comune PC moderno ...), comincerai a scrivere le prime funzioni in Assembler per il boot del sistema, appoggiandoti alle funzionalita' di base del BIOS (che daremo per scontato essere presenti ...).
Ovviamente questa parte la scriverai con un qualsiasi Macro Assembler su qualsasi sistema di sviluppo, avendo cura di ottenere un file binario con la sequenza di istruzioni assembler atte a garantire tutte le operazioni di boot (non ha importanza se lo svilupperai sotto Windows o Linux ... importante e' il formato del file che inserirai nel dischetto/CD di boot e che questo chiamera' "unicamente" funzionalita' del BIOS ...).
Naturalmente il boot puo' caricare tutto il sistema operativo che avrai scritto in C (presumibilmente) sempre su un qualsiasi sistema (Windows, Linux, non importa) avendo cura di effettuare delle chiamate a funzioni di libreria gia' pronte (e da copiare insieme al kernel al momento del boot) o chiamate a funzioni di librerie scritte in precedenza.
Sul discorso se e' nato prima l'uovo o la gallina, e' ovvio che il "primo" sistema operativo era scritto completamente in assembler, da cui il primo compilatore C e cosi' via ... ma non e' questo quello che importa ...
Se hai ancora dubbi, esponili ... magari si puo' spiegare meglio qualche dettaglio di questo processo ...