jag skrev några enklare operativsystem för länge sedan.
Jag antar att du tänker göra ett x86-baserat OS, då den arkitekturen är vanligast.
Börja lära dig assembler, om du nu inte redan kan det. speciellt, lär dig hur minnet är uppbyggt, och skillnaden mellan olika adressing modes. Lär dig hur adressering fungerar och skiljer sig åt i real mode och protected mode.
vet inte hur avancerat du satsar, eller om du trollar, men att bygga ett enklare real-mode operativsystem är faktiskt inte så svårt som man kan tro

.
Även om du kan använda dig av högnivåspråk såsom C och C++, så behöver du göra grunden i assembler. bootloadern (ev. chainloader) ivf. tänker du göra ett pmode OS så kan du göra GPT/IDT-setup, A20-line etc. och allt därefter i högnivåspråk.
du måste dock bygga ditt eget std-lib (eller kopiera någon annans), vilket båda är lärorikt och kul!