Olá, eu estou querendo aprender com mais profundidade C e C++. Me surgiu a ideia porque não tentar algo paulera logo de uma vez? Então aqui com meus botões pensando, para criar um SO preciso de um kernel, como criar um kernel?
Bom, pesquisei e aparentemente não é nada fácil principalmente para usuário Windows (uso Debian também porém o HD dele queimou), então o que fazer? Não quero ter de baixar infinidades de ferramentas “malucas” e também se existir algum tutorial ou curso teorizo sobre isso que seja recente.
Infelizmente achei que ia poder fazer tudo no Windows… ledo engano! Não deu certo é difícil compilar código C++ em Cross-compiler no MinWN e no Cygwin. Pois agora necessito de algum tutorial ou alguma coisa para eu tomar um norte sobre desenvolvimento de kernel e sistema operacionais, se alguém poder me ajudar compartilhando links para coisas relacionadas ficarei infinitamente grato.
A distância entre criar algo “paulera” e criar um sistema operacional é enorme (no sentido que um SO é muito mais que “paulera”). O que o Chaybelucas descreve é a combinação de um bootloader e um pequeno kernel, capaz de exibir uma mensagem simples. Só isso já dá um bom trabalho. Agora imagine criar um SO que seja algo próximo de útil.
A primeira indicação seria ler o livro do Tanembaum, que contém muitos dos conceitos principais de um sistema operacional e é referência na área. Se for só por curiosidade e treino, está valendo, mas não espere resultados rápidos, nem revolucionar o mercado de sistemas operacionais da noite pro dia.
Pode tentar algo parecido com o que o Chaybelucas fez. Leia:
Como o @TerraSkilll comentou, um SO é infinitamente mais “paulera” do que qualquer coisa “paulera” que você tenha imaginado.
O kernel é uma das partes do SO.
Ainda existem semáforos, controle de I/O, controle e gerenciamento de memória física (se quer um SO mesmo, precisará de gerenciamento de memória virtual), sem falar de uma outra infinidade de coisas.
O livro do Tanembaum é muito bom.