Page 1 of 1

An example i386 multithread microkernel skeleton in nasm

Posted: Thu Nov 12, 2015 1:20 pm
by duanev
Frequently while puzzling and playing with microkernels, google searches will point to answers here on OSDev.org. Now that I've got something reasonably stable, I wanted to give back; osdev.org is a great trove of low level OS knowledge and hopefully another OS skeleton example will add to this.

https://github.com/duanev/oz-x86-32-asm-003 is the microkernel repo (with compiled images that can be placed on floppy or USB). It is not a multitasking kernel but it supports multiple threads (lol) in a very straight forward, although x86_32 specific, way.

If your simulator/emulator environment supports the GDB Remote Debug Protocol (as does qemu) you can also use my PGDB assembly language level debugging tool (https://github.com/duanev/pgdb) to debug multi-threaded apps (gdb is insanely hard to use for this), one of which is included with the microkernel (testvga, which is in C btw). I also wish I had a debugger like this when I was learning assembly. You can take a look at my PGDB demo/turorial here:

https://youtu.be/TuvjGCcVXMc


Thanks everyone for all the help!
Duane