Executando verificação de segurança...
9

[PITCH] Estou desenvolvendo meu próprio OS (de verdade)

Olá, devs.

Recentemente fiz uma publicação sobre o CoffeaOS, um sistema operacional de 32 bits desenvolvido em C e Assembly, porém não teve tanto alcance kkkk.

Por que?

Sempre fui apaixonado em tecnologia e curioso o suficiente para querer entender como as coisas funcionam por de baixo dos panos, e se é assim, por quê não desenvolver o meu próprio OS?

O projeto é totalmente educacional com cada linha de código comentada pois eu precisava consolidar meu conhecimento de alguma forma.

Como eu usei IA?

Sim, eu usei IA. Mas não para gerar código (credo) e sim para me auxiliar em entender lógicas complexas, além de artigos, livros e a própria OSDev Wiki foram cruciais durante o desenvolvimento. Estruturar uma IDT na memória e passar uma pilha de dados gigante para código C é uma dor de cabeça kkk.

O que pretender ser?

Nada... Na verdade o projeto é apenas, como eu disse, para estudo e minha própria diversão. Futuramente, pretendo trazer uma GUI simples, assim como um sistema de arquivos e um shell básico. Por enquanto, ainda não é possível interagir com o OS (porém a base já está pronta para um driver de teclado).

https://github.com/AfonsoDolmen/CoffeaOS

Espero que gostem da ideia! Sugestões e feedback são bem vindos.

Carregando publicação patrocinada...
3

Meus 2 cents,

Provavelmente vou chover no molhado e falar coisas que voce ja sabe, mas vamos la:

  • Kernel: Existe todo um debate sobre microkernel (ex. HURD) e monolitico (ex. kernel Linux) - ja que voce esta indo nesta seara, da uma olhada sobre o assunto, incluindo as discussoes do Tanenbaum vs Torvalds sobre esta questao.

  • Apesar de kernel ser legal, eh no desenvolvimento de drivers que realmente o bicho pega: entender o funcionamento de um determinado hardware e suas especificacoes, e em muitos casos fazer a engenharia reversa tendo como base a comunicacao.

Em termos de resultado da "empregabilidade", entender e desenvolver drivers eh especialmente util - nao que kernel nao seja, mas conseguir criar/modificar/manter um driver de um dispositivo no Linux, p.ex., da uma visilibidade na comunidade (e em certo nivel, para as empresas do nicho) bem razoavel.

No mais, parabens pela iniciativa !

Eh sempre interessante acompanhar projetos como este, que fogem do arroz-com-feijao.

Repositorio devidamente starreado e forkeado - obrigado por compartilhar !

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS

3

Concordo, desenvolver um driver é uma dor de cabeça e tanto. O tanto de Datasheet que eu li kkkk, ainda bem que o OSDev Wiki tem muito conteúdo sobre dispositivos.

Pretendo ler um livro que me recomendaram, chama-se "Linux Device Drivers". Futuramente pretendo focar nesse assunto, pois eu quero muito um dia contribuir com o Kernel Linux.

Cara, sobre a estrutura do Kernel, o livro "Sistemas Operacionais Mordernos" do Tenenbaum fala muito sobre. Principalmente sobre o Kernel híbrido (Windows) e Monolítico (Linux), é uma ótima leitura para quem tem interesse.

Obrigado pelo seu comentário e pelo apoio!

2

Meus 2 cents extendidos,

Li "LDD" faz um tempao - apesar de ainda ser util pacas, a verdade eh que para o que existe de mais recente ele esta um bocado defasado.

Faz bastante tempo que nao leio mais nada do tema, mas algumas sugestoes mais atualizadas sao:

  • Linux Kernel Programming (2ª Edição, 2024), Kaiwan N. Billimoria

  • Linux Device Driver Development (2ª Edição, 2022), John Madieu

  • Mastering Linux Device Driver Development (2021), John Madieu

Faceis de achar em pdf (p.ex. https://github.com/Frak8/Linux_Device_Driver_Books)

Novamente - sucesso na sua jornada, e nao esqueca de continuar compartilhando.

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS

3

Teve um outro caso de "criação de Sistema Operacional" popular nos últimos dias que recebeu várias críticas por não ser exatamente um SO. Recomendo ver a publicação de notícia e a de crítica. Tem comentários de algumas pessoas que parecem entender do assunto, então se vir algo interessante lá, pode pedir uma indicação, orientação, dica, feedback etc.

O pior que vai acontecer é a pessoa não querer dedicar tempo para te indicar algo ou ver mais fundo o seu projeto.

Estou sugerindo responder diretamente os comentários que te interessam porque assim a pessoa recebe uma notificação por e-mail (caso não tenha desativado isso), e tem mais chances dela ver seu projeto e te responder do que numa publicação (que não é notificada).

Já li histórias antigas de pessoas que tentaram contato por e-mail com pessoas "famosas" para conseguir alguma coisa assim. Para entender melhor um assunto, ou divulgar algum projeto que parece alinhado com o que a pessoa trabalha. Hoje em dia isso parece mais raro, mas se você realmente tem interesse e conseguir passar isso pra pessoa, pode ser que consiga algo, nem que seja um "leia isso aqui: <link>".

2

Sim, fiquei sabendo. Inclusive cheguei a ver o post original.

Não sou uma pessoa que comenta muito sobre esses casos, até porque conteúdo falso gerado por IA, está muito comum hoje, principalmente na comunidade OSDev. Concordo com o post da crítica, precisamos ter olhar crítico, mas não serei o cara que irá criticar, gosto de fazer isso em silêncio kkk.

É interessante o que você disse sobre contatar pessoas para compartilhar conhecimento, e recomendo isso a todos que tem curiosidade sobre. Eu gosto de interagir mais no subreddit /OSDev, lá tem uma comunidade (90% gringo) muito forte sobre a cultura de OS.

2

Talvez meu comentário tenha ficado confuso. Não quis dizer para você criticar, e sim responder algum comentário de "quem criticou".

Por exemplo, vamos supor que o fulano123 comentou algo como "Não é um SO porque não tem gerenciamento de bananas digitais", e você não entende como fazer isso, então você pode responder "Estou desenvolvendo um SO aqui (<link>), e queria entender mais sobre isso, você tem alguma indicação ou pode dar um feedback sobre isso no meu projeto?"

Obviamente é só um exemplo, espero que você não precise se preocupar com gerenciamento de bananas digitais :)

Pelo seu comentário, imagino que já consiga alguma ajuda no Reddit. De toda forma, boa sorte no seu projeto!

2

Você não tem 12 anos, tem ? hahahahaha
Depois do último carinha que postou sobre estar desenvolvendo um SO, vão aparecer milhares fazendo o mesmo tal qual ocorreu com o projeto Loveyuu que faturou 40+ mil em 1 mês...
Dito isso, parabéns por seu projeto e não apague o post se críticas vierem.

2

Não, não tenho 12 anos kkk. Tenho 21.

Obrigado! E fique tranquilo, o meu código é tão sujo que devs experientes xingaram a IA para desenvolver por mim kkk</ironia obs="meu código não está limpo, mas não tão sujo kk">.