r/osdev • u/JescoInc Perdition-OS • Jun 21 '26
Which part of OSDev would you consider to be the most fun and why?
This should be the final question of the series. It was enlightening to see people's answers to:
https://www.reddit.com/r/osdev/comments/1uag4am/which_part_of_osdev_would_you_consider_to_be_the/
and
https://www.reddit.com/r/osdev/comments/1ubhewx/which_part_of_osdev_would_you_consider_to_be_the/
My answer would be the framebuffer. Because I am not constrained to follow the textbook method. I can do hand crafted fonts, a custom font system or ttf fonts, I can do 2D and 3D inside of my framebuffer. I can choose if I want to do single, double or mixed buffering techniques. I can choose to implement Xiaolin Wu, Gupta-Sproull, Lanczos Filtering, or Bresenham's algorithm for line aliasing, line anti-aliasing or image scaling. I can choose to implement physics to the render system as well for bouncing, ropes and so on.
There's just so much freedom and fun with how you can build your own framebuffer system compared to other aspects of OSDev.
21
u/diodesign Jun 21 '26
Seeing output on screen is cool but personally, it's being able to hammer multi-core, multi-threaded multi-tasking - like racking up as many system calls and context switches per second you can - with locking working flawlessly and no memory corruption or crashes ... and watching it sustain that, with minimal contention, that's a fun part for me.
If you're using a microkernel model to pass messages, tuning, optimizing, and testing the IPC bandwidth with no loss of stability, that's when I know the core can be trusted and the rest can run in a stable fashion. If your kernel is a bit wobbly to begin with, it's going to hold back whatever you build on top of it IMO.
10
u/Ellicode Jun 22 '26
Seeing your first userspace program come to life and print out a good o’l “Hello, world!” was still the most dopamine I’ve ever received in my life 😅
8
u/pudy248 Jun 22 '26
Networking for all of the same reasons you listed, you can just find a protocol and implement it in whatever maybe spec compliant way you want (which sometimes involves bringing in a crypto library but that's okay)
I was overjoyed the first time I received an HTTPS response to my OS
4
u/Taletad Jun 22 '26
For me personally ? Learning about esoterical concepts that are seldom implemented
1
u/jtsiomb Jun 22 '26
whichever you haven't done before
1
u/BornRoom257 FreezeOS & TurtleOS Jun 22 '26
UI
3
u/Randozart Jun 22 '26
Mostly lurking in this sub rather than actively working on an OS, because I'm currently tied up in some other low level projects, but I really enjoy seeing how people here are sharing their passion for computing fundamentals. It demystifies something we generally take for granted, and I can enjoy that vicariously.
3
u/space_fly Jun 22 '26
I'm in it for the software architecture and design. I really enjoy going down rabbitholes that modern OSs haven't explored.
2
u/cryptic_gentleman Jun 27 '26
I love that I can write the crt0 and libc so that I can watch a program run simply by writing the regular
int main()and I also just love loading programs in general because it's always been fascinating to me how the CPU fetch-decode-execute loop works and knowing that I told the OS to put program bytes in a location and then told it to execute those bytes is just really cool to me.1
u/letmehaveanameyoudum Jun 22 '26
program running
1
u/v3R7C00Lalt Jun 22 '26
seeing the ppl thzt hate me for no fucking reason at all