Cara, eu sei que a curiosidade bate em relação a construir essas coisas complexas e talz. Vou te dar uma dica, apenas entenda como funciona e não como CONSTRUTUI. Jovem, não foi apenas UMA pessoa que construiu o núcleo do Linux, ou a kernel do windows, não foi só uma pessoa. Isto envolve um time de engenheiros, matemáticos e especialistas em diversas áreas da computação. Então o conselho que eu dou é: Entenda, não construa.
Mas se quer mesmo entender o que é preciso pra desenvolver um SO lá vai:
- Muito Assembly. Linguagens de baixo nível como assenbly e C vão te ajudar a arquiterar todo o sistema e construtir a relação software e hardware
- As temidas: Estrutura de dados: Pilha, fila, lista encadeada, Árvore binária de busca, grafos, e tudo qualquer tipo de estrutura de dados existente.
- Cálculo Diferencial e Integral: Deve estudar também muita matemática, para o seu SO ficar mais performático e que se comporte de uma maneira mais adequada em diferentes dispositivos.
- Tomar muito café com energético kkkk
- Design, afinal você não vai querer uma interface totalmente zoado pro seu usuário né? Então experiência do usuário também é uma boa para levar em consideração em seu conhecimento.
- E por último e não menos importante: Seja solteiro, pois tu não terás TEMPO, porque pra criar um SO sozinho tem que ser corno, porque tu não vai ver mais sua esposa / namorada kkk, nem sua mãe, vai viver me um porão trancafiado, igual aqueles caras de filme de terror. KKKKK brincadeira.
Bons estudos abraço, e boa sorte com a jornada ao conhecimento.