Operating System Development Series (2008)
brokenthorn.com
brokenthorn.com
[1] - http://www.stanford.edu/class/cs140/projects/pintos/pintos.h...
I think in the end the best resource I found was something called "DS-OS", a basic assembly OS implementation. Looks like it's online at http://forum.osdev.org/viewtopic.php?f=2&t=22083
This stuff got me into lower-level (than VB) computer programming-- good memories.
Unfortunately it was essentially samizdat until 1996. But it's an excellent work, and e.g. taught me pointers when the K&R chapter on pointers and arrays didn't work for me.
The project aims to introduce OS concepts to CS students, thus the code readability was the number one priority.
The main features include:
- Preemptive multitasking
- Doug Lea's Malloc as the heap manager for both Kernel and User side.
- Read-only ram disk (which is simply a tar file passed as a GRUB module)
- A (very) simple user Shell
[1] - https://github.com/ersenal/Incitatus-OS
[2] - https://github.com/ersenal/Incitatus-OS/blob/master/disserta...
It's still a very incomplete system: it loads, sets up IDT/GDT, uses several simple drivers for keyboard, timers, serial interfaces, probing PCI bus, an effort to write a floppy disk driver (I could test it on virtual machines only though). There's a demo of multitasking, a demo of going to userspace and doing system calls, a demo of VFS and RAM-fs (I overcomplicated it and got stuck, but I have not rewritten it yet).
These articles were an invaluable source of information and a starting point for design.