Introducing my kernel.
Posted: Tue Feb 26, 2008 11:44 pm
I've made a floppy image of my kernel called Dolphin. You can download the image here. I've also attached a screen shot.
Right now it's pretty basic. Personally, I consider it a microkernel although some may question that. I'll post the code if anyone wants it but it really is ugly right now. Save a couple of files, the entire thing is in really badly formatted C. It took me since september although I took about 3 months in-between due to the Google Highly Open Participation Contest.
As of right now, it has a console driver, and a mostly complete vfs layer(but is completely lacking in *real* filesystems). It also has a simple pci server that as of right now will print the installed devices slot and bus number and vendor id. I think the best feature is its console driver which uses VESA! The only mildly interesting thing you can do during runtime is typing.
Oh yeah, BTW, as of right now, it's hard-coded to use 1024x768 32bpp mode so if you're running it on qemu, i would recommend running it fullscreen. Also, if it just freezes that means something had a page fault in graphical mode and as of right now the kernel can't print on a console handled by an external server but i'll fix this soon(this is one reason some people don't consider it a pure microkernel).
As you can see in the screenshot, the corners have been cut off.
Tell me what you think.
*EDIT*
one last thing, the last couple of lines about the VFS is basically the console server registering itself with the VFS layer. In the future, all console io will take place through the VFS. The hello on the last line is what the console server currently returns on read messages. Basically, what is happening is that the vfs(as a simple test) is reading from the console server and then writing it back out. Just thought I'd explain what that is doing there.
Right now it's pretty basic. Personally, I consider it a microkernel although some may question that. I'll post the code if anyone wants it but it really is ugly right now. Save a couple of files, the entire thing is in really badly formatted C. It took me since september although I took about 3 months in-between due to the Google Highly Open Participation Contest.
As of right now, it has a console driver, and a mostly complete vfs layer(but is completely lacking in *real* filesystems). It also has a simple pci server that as of right now will print the installed devices slot and bus number and vendor id. I think the best feature is its console driver which uses VESA! The only mildly interesting thing you can do during runtime is typing.
Oh yeah, BTW, as of right now, it's hard-coded to use 1024x768 32bpp mode so if you're running it on qemu, i would recommend running it fullscreen. Also, if it just freezes that means something had a page fault in graphical mode and as of right now the kernel can't print on a console handled by an external server but i'll fix this soon(this is one reason some people don't consider it a pure microkernel).
As you can see in the screenshot, the corners have been cut off.
Tell me what you think.
*EDIT*
one last thing, the last couple of lines about the VFS is basically the console server registering itself with the VFS layer. In the future, all console io will take place through the VFS. The hello on the last line is what the console server currently returns on read messages. Basically, what is happening is that the vfs(as a simple test) is reading from the console server and then writing it back out. Just thought I'd explain what that is doing there.