An experimental OS developed to learn about the internal concepts
As you might have read from the description, it's an operating system. It is right from the boot sector code to the kernel, that means it practically has no dependencies (at least till now). It has a few drivers (clock, VGA, and keyboard) and very soon I am planning to add a memory manager.
I was just kinda attracted towards OS development and took a bit further than required by my course. Then I thought that someone else might want to relive the journey so I want to document my resources in developing this. So, I made the souce code public and I shall be writing about the sources I refered to while developing on the project page.
A bit of road-map
I don't have much plans for it, but I just love to keep hacking on this when I have time and energy. My present plans for this is to first give it a user space. It still a bit far away considering I don't have a memory manager and process manager, but I didn't have high hopes for it right from the start.
Features it currently has
- A boot loader (it's a two staged one)
- Kernel is in C and is in Protected Mode (obviously)
- The VGA driver has some basic functionalities like the terminal scroll and stuff.
- A bit organized folder structure and Makefile to make life easier
- GDT and ISR (+ IRQ) are setup up.
- A pretty basic but decent keyboard driver.
- A dummy shell so that we can give at least some command after bootup.
I am not an OS expert, I am still exploring such low-level stuff myself. I developed this as an intersecting engagement and plan to continue on it. I just follow available guides, learn stuff and then try to code it.
This project in under GLPv3 License.
So, feel free to use this for your own purpose.
Contribute or Contact
Any kind of contribution is welcome and I would love to see some.
If you want to reach me, drop me a mail at firstname.lastname@example.org. I would be happy to hear from you.