4 ms·
Suddenly, everything I've done thus far seems rather inadequate. However, kudos for doing this! I hope you haven't stopped working on it. Looks like you've wor
by eksith 13y ago
Suddenly, everything I've done thus far seems rather inadequate. However, kudos for doing this! I hope you haven't stopped working on it.
Looks like you've worked on the expected base functionality.
https://github.com/SamyPesse/devos/blob/master/kernel/arch/x86/architecture.h https://github.com/SamyPesse/devos/blob/master/kernel/arch/x...
- zamalek 13y agoNever too late. The only problem with writing an OS is that you are exposed to the x86 architecture - which is HORRIFIC, but even something as small as booting to "hello world" gives you a wealth of knowledge about the underlying layers that we take foregranted.
- achy 13y ago'Foregranted' should be a word, I like it.
- adestefan 13y agoTargeting ARM and using qemu is a good way to stay out of x86 land.
- zokier 13y agoI'm not really qualified to say, but isn't modern ARM also quite horrific from osdev point of view. At least x86 has some sort of standards imposed by intel, but with ARM every manufacturer is doing it's own thing with the peripheral functions. Wasn't that what Linus was complaining some time back that Linux ARM support files are blowing up because there is too little code shared between platforms?
- adestefan 13y agoThat's only an issue if you're building a general purpose OS that tries to target every ARM board out there. If you're just making a hobby OS on a simple device, then you don't really need to worry about it. In the x86 world it would be analogous to saying that you don't need to worry about writing an ACPI engine into your hobby OS.
- wtracy 13y agoThe main issue I've encountered is actually finding documentation for these various architecture-specific oddities.
- chubot 13y agoI looked at the teaching kernels xv6 from MIT, and Pintos from Stanford. They are both x86, and I've heard the same sentiment that you express, which makes me a bit hesitant to dive in. Does anyone know of something similar for x64? Or maybe ARM? Online course materials would be nice. http://www.stanford.edu/class/cs140/projects/pintos/pintos.html#SEC_Top http://www.stanford.edu/class/cs140/projects/pintos/pintos.h... http://pdos.csail.mit.edu/6.828/2012/xv6.html http://pdos.csail.mit.edu/6.828/2012/xv6.html
- zhemao 13y agoI doubt x64 would be less horrific. As for ARM, there is Cambridge's Baking Pi course http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/, which has you develop an "Operating System" for the Raspberry Pi. Although, from looking at it, it seems more like an embedded systems course than an OS course. It talks about controlling hardware like LEDs, monitor, and keyboard, but it doesn't talk about stuff that full-fledged operating systems have, like scheduling of userspace processes, memory mapping, filesystems, etc.
- eli_gottlieb 13y agoMy own effort from late in high school: http://glider-kernel.sourceforge.net/ http://glider-kernel.sourceforge.net/ Unfortunately, I'm not allowed to put my 236376 Operating Systems Engineering course project online, due to the licensing issues with JOS-based project code.