7 ms·
Interesting. While I do appreciate that it runs on i386, I have to question its being aimed at students - or at least students of anything other than the histor
by PeterWhittaker 2y ago
Interesting. While I do appreciate that it runs on i386, I have to question its being aimed at students - or at least students of anything other than the history of computing. i386 implies BIOS, AFAIK, and requires pre-x86_64 assembler, which is only partially transferable to modern CPUs.
Oh, for sure, one would learn an awful lot working with those technologies, but as soon as one wished to work on more modern systems, one would have to forgot all of the former and all the ugly of the latter.
This isn't really a criticism, more an expression of puzzlement. Normally, I'm a pretty good contrarian, but I don't get it.
True, there was this Finn who did this some time ago and it worked out pretty well, but I still don't get why anyone would start with i386 and BIOS.
- MisterTea 2y ago> i386 implies BIOS, AFAIK, and requires pre-x86_64 assembler, which is only partially transferable to modern CPUs. Nothing wrong with this IMO. You dont want a 64-bit Arm/x86 hegemony. If the OS is designed properly you won't notice the platform underneath which means you have the right abstractions. That is an important challenge for students - decoupling platform dependency from the OS architecture. It also teaches them older tech which gives them a history lesson so they understand how and why we got here.
- 6SixTy 2y agoIf a 64 bit ARM/x86 hegemony is a big concern, then why not drop i386 and go with RISC-V? There's both a 32 and 64 bit variants, and a free emulator. Also, it's more useful academically and practically.
- MisterTea 2y agoWell Risc-v isn't as established as 32bit x86 which has a wide breadth of information available. There are also plenty of 32 bit x86 machines still around so testing your OS on real hardware and watching your programs work is quite a treat.
- josephg 2y ago> There are also plenty of 32 bit x86 machines still around All x86_64 machines can also run 32 bit x86 code just fine. They have to - even modern CPUs start up in emulated 16 bit mode like it’s the 80s. They then they need to transition to 32 bit mode. And from there they can swap to 64 bit mode to run modern operating systems. But you don’t have to do that last step. So this kernel should be able to run on any modern x86 computer on raw hardware just fine.
- 6SixTy 2y agoRISC-V has plenty of reference documentation and implementation code from hardware to the OS Kernel. Open source and free too. And running on real hardware is pretty much the last thing any OS dev actually does. Using a VM with a debugger attached rather than trying to figure out how to set up a debug harness is more convienent.
- XorNot 2y agoRISC-V is also proving to be big with new Chinese chip manufacturers. In terms of applicability, being able to hack the next gen of cheap IoT device processors might be pretty valuable.
- hulitu 2y ago> And running on real hardware is pretty much the last thing any OS dev actually does. This is sad. > Using a VM with a debugger attached rather than trying to figure out how to set up a debug harness is more convienent. But misses all the bugs which can only be reproduced by running on bare metal.
- bitwize 2y agoYou can write a fully 32-bit kernel, delegate entering protected mode and using the BIOS to load from disk to the bootloader, and tell your students "this bit won't be on the exam".