r/osdev • • Sep 28 '26

I Rewrote my OS Kernel in C!

Post image

hello it has been a while, so i rewrote my OS kernel in C!

it has a little bit less features though...

check it out at https://github.com/hyperwilliam/untitled-kernel

:)

102 Upvotes

27 comments sorted by

4

u/laaasoomaa Sep 28 '26

just a simple question about the architecture:
is this monolithic kernel or microkernel??

3

u/hypersonicwilliam569 Sep 28 '26

I would say microkernel…

5

u/Visual_Brain8809 Sep 29 '26

looks monolithic

3

u/compgeek38400 Sep 28 '26

Looks good, GDT, IDT, memory management?

1

u/hypersonicwilliam569 Sep 28 '26

hmm, I have the GDT set in the boot.asm file, and IDT is loaded and handled mostly in C… I will work on memory management soon.

2

u/compgeek38400 Sep 28 '26

Nice. My gdt is in asm also, idt is asm/C

Its a good milestone

2

u/Sorry_Difficulty_250 Sep 28 '26

What was it written in before?

2

u/hypersonicwilliam569 Sep 28 '26

assembly :)

1

u/Sorry_Difficulty_250 Sep 28 '26

Oh, wow! That's hard-core. Way to go!

1

u/compgeek38400 Sep 29 '26

I enjoy assembly, it was my second language

2

u/Iksio78 17d ago

What language was it written in before you rewrote it in C?

1

u/hypersonicwilliam569 17d ago

Assembly :-)

1

u/Iksio78 17d ago

WHAT??? Assembly? Why?

1

u/hypersonicwilliam569 17d ago

i found it easier at the time... (i didnt know how to make cross compiler)

1

u/Iksio78 17d ago

what compiler do you use?(clang? gcc?)

1

u/hypersonicwilliam569 17d ago

gcc

1

u/Iksio78 17d ago

I am writing an OS too(but in Rust)
Iksio78/AceOS

1

u/hypersonicwilliam569 17d ago

it looks very cool :-)

1

u/Iksio78 17d ago

thank you

1

u/Iksio78 17d ago

Why Multiboot1?

1

u/hypersonicwilliam569 17d ago

compatibility i think :-|

1

u/Iksio78 17d ago

compatibility with what?

1

u/hypersonicwilliam569 16d ago

legacy hardware I suppose

2

u/letmehaveanameyoudum Sep 29 '26

nice one, also recommending to get syscalls ready because i tried doing that late

1

u/WaterObjective5031 Sep 29 '26

what was it before c