|
Project Information
Members
Featured
Downloads
Links
|
Another kernel?There are plenty of kernels and operating systems out there - so what's so special about this project?
Diosix is a personal endeavour to explore low-level programming on modern hardware, try out new techniques and broaden my experience of microkernel operating system design and implementation. Development progress and screenshots are blogged here and source code commits are listed here. The screenshot, below left, shows a development build booting on a 1-cpu virtual machine. A user-space video card driver sets up a suitable video mode before a user-space ps/2 keyboard driver starts receiving key-presses as asynchronous interrupt signals, which it converts into ASCII and sends on to the video driver to display. The other screenshot, above right, shows a development build booting a minimal init on a 2-cpu virtual machine: the init process forks and the child registers itself as a simple user-space video driver. It maps the VGA card's frame buffer into its workspace and then shares that memory area with its parent. One process flashes the colour blue in the top half every second using a SIGALRM wake-up, the other flashes the lower half with red when it gets cpu time. What can it do?
Eventually, I hope to develop Diosix to...
In the long term, diosix could become a lightweight, scalable microkernel that will allow people to use their computers and gadgets seamlessly together by intelligently and automatically distributing the operating system across trusted networked devices to match their resources and capabilities. Being more fault tolerant than contemporary operating systems would also be a boon Why share it?I've made this available under an open source licence for other people to do what the will with it and potentially contribute to it. I don't intend to write an entire OS from scratch - ideally, I want to work on the microkernel and develop the distributed system processes, and use existing drivers, libraries and applications from other open source projects on top. The main goal is to have fun and learn something new. |

