Sobre sistemas operacionais

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. :wink:

1 curtida

Na real. Eu ja criei uma vez. Mas nao usei C/C++

Usei Assembly. Fiz boot no virtualbox
Só fi, exibir uma tela preta e uma mensagem na tela de “sucesso”

Ja esqueci tudo. Kkkkk

Mas vai lá. Kkk
Acho mais fácil tu baixar um kernel e usar ele. Do linux mesmo.

Sobre criar, é realmente mais “fácil” com Assembly. Só nao vou poder te passar link agora. Mas assim que possível eu busco aqui

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:

Abraço.

1 curtida

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.

O caninho é linux