LearnOS
LearnOS copied to clipboard
This is one of my long awaited project on learning to develop an Operating System.
LearnOS
Introduction
This has been one of my dream project which I have been planning to do since a very long. Since the day I was introduced to programming it has been my dream to develop my own full fledge operating system. In the past for work purpose I have developed micro OSes, which had its own File System but no GUI, and they were designed for very specific purpose, so it did not have whole lot of things.
I always like to share my knowledge with everyone around. So I have decided to make my project open source.. at present I am not allowing anyone to contribute to the project, but anyone is free to fork it, clone it and use it.
Checklist
I am planning to develop many features in this operating system, some of the features which I have thought are as follows:
- [x] Boot loader
- [x] 32-bit
- [x] VGA (Standard Video Driver)
- [ ] Kernel
- [ ] It’s own File System
- [ ] AHCI - SATA driver
- [ ] Multi-Threading / Multi-Tasking
- [ ] Ability to read and write FAT and FAT 32 File System
- [ ] GUI (Support for Keyboard and Mouse)
- [ ] Port DOOM Game (Maybe / Wishlist)
- [ ] Painting application
- [ ] Audio System and ability to play WAV, MP3, 3gp files.
- [ ] Network stack
- [ ] TCP/IP
- [ ] Sockets
- [ ] Browser
- [ ] Development Tools (Compiler, and maybe own language)
- [ ] Communication with GPU
- [ ] Printer support
- [ ] WiFi and Bluetooth support
- [ ] APIs (External Application development support)
- [ ] Pen Drive Auto Mount Support
- [ ] Couple of Games
- [ ] Development Environment (IDE)
- [ ] DHCP Client, DHCP Server, DNS Client, DNS Server, Web Server, etc...
- [ ] Update OS to support 64-bit
More for learning
You can read and learn about it in great detail at http://www.learnitonweb.com/ as well as on youtube channel https://www.youtube.com/channel/UCUpnwEGCnlmgFLfmyUi0l2w