Hacker News new | ask | show | jobs
by akkartik 1815 days ago
I'm curious about the hardware it runs on, and didn't immediately find answers on Google. Could you talk about what hardware is on a usual system and what device drivers need to do for screen, serial port, disk drives, etc.? Does the CPU use floating point?

The reason I ask: for the past six months I've been dipping my toes in OS development for x86 with BIOS, SVGA and ATA interfaces: https://github.com/akkartik/mu And I'm way out of my depth. I have this suspicion that x86 might be one of the more difficult environments for device drivers, so I'm curious to hear what other hardware looks like.

1 comments

I agree, X86 is too complex with its legacy hardware and obscure instructions and environments. It might not be a good starting place to develope hobby projects.

The OS is running in a customised RISV hardware in MIPS for educational purposes, you can read more here https://dl.acm.org/doi/pdf/10.1145/1275462.1275470 The simulator https://github.com/halfer53/rexsimulator

The BIOS has already been written for the serial ports, etc. So it is quite easy for me to interact with the devices in the OS.

This is really cool, to the extent that I'm surprised I've never heard of it. Are universities still using it in coursework?
Yeah they are still using to teach computer systems and operating system course
It's also by far the best documented and most consistent hardware out there, especially when it comes to configurations. Yes, it's grotty -- but at least you can figure out where the gunk is.
How hard would it be to run it on RaspberryPi ? (let's say RaspberryPi 400, the one that is within keyboard case)