Criação de um SO

Olá,

Por favor, pretendo em criar um Kernel completo com a linguagem C, alguém aí pode me me sugerir/indicar um livro ou link, que posso seguir para me ajudar a projectar o mesmo?

É complicado, é de muito baixo nível (nível de máquina), pensa… se fosse fácil, todo mundo já teria inventado um OS, se tantos desenvolvem diversos softwares, por que não um OS? é complicado. Não é só ir lá e assistir um tutorial.

1 curtida

É um objetivo e tanto!

Um site que considero parada indipensável é este aqui:

https://wiki.osdev.org

Leia as seções Introduction e Required Knowledge.

Fora esse achei vários tutoriais em inglês que parecem promissores, mas em português não encontrei algo que me chamasse a atenção.

4 curtidas

Apenas complementando os guias que o @wldomiciano lhe passou, segue o link para o repositório onde está hospedado o código fonte do kernel do linux : https://github.com/torvalds/linux

3 curtidas

sabe algumas aulas para manipulação do kernel?

1 curtida

Creio que não existe isso. É um nicho muito específico. O que recomendo é, a fim de experiência, que você instale o Arch Linux e tente configurar ele. Se você conseguir, tá um passinho mais perto de conseguir desenvolver alguma distro.

Não é fácil, tanto que é tema de graduação (TCC) de vários colegas meus.

3 curtidas

Amado,

Seja muito bem vindo na comunidade GUJ, espero que as respostas aqui colocadas sejam úteis pra você.

Gostaria de te fazer uma pergunta, você quer desenvolver um S.O, correto? Entendo, mas o que te motiva? É o desafio? Ou porque você esta precisando fazer algo que nenhum S.O esta lhe atendendo?

1 curtida

o mais importante, você se considera em qual nível em c?

E @Hundea, complementando o que o @FearX comentou, outra coisa que vai lhe dar um bom entendimento de um sistema Linux completo, é criando sua própria distribuição, do zero. Olha esse site:

http://www.linuxfromscratch.org/

É um livro gratuito que te leva pelo caminho compilando o kernel e cada dependencia.

E sobre a criação de modulos pro kernel tem esse livro:

https://www.tldp.org/LDP/lkmpg/2.6/html/index.html

E esse sobre criação de drivers

https://lwn.net/Kernel/LDD3/

Pelo que vi, os 2 são baseados na versão 2.6 do kernel, mas acredito que, por mais que coisas tenham mudado, os conceitos básicos continuam os mesmos.

E tem esse site lindo com nome sugestivo:

https://kernelnewbies.org/

E fora do Linux, tem esse projeto de sistema operacional de um brasileiro.

O Fred sempre posta atualizações do projeto dele em uns grupos que frenquento no Facebook e parece bastante receptivo a contribuições. Acho que vale a pena acompanhar.

1 curtida

Operating Systems Design and Implementation (3rd Edition) do Tanenbaum é um livro texto já classico sobre SO.

O livro te guia passo a passo sobre como implementar um SO usando a linguagem C, inspirado em Unix, no caso em questão chamado de Minix.

Obrigado Sr andrebmarinho

O motivo que me leva em este desenvolvimento, é:

1-Eu amo o mundo de IT,
2-Criar um SO simples com a linguagem C, que eu sempre admirei e amei.
3-Entender bem melhor como o Kernel faz mais duma forma mais profundo e não o que ele faz.

Hundea,

Vou responder a sua resposta assim que eu conseguir o meu objectivo!