Once in history not that ancient and neither too new, I went to my favorite faculty member Mahesh sir. I wanted to ask him how to dissect a packet sniffed out of a wired ethernet connection. He told me about some softwares, but call it my ego (or “penis-envy” amongst programmers) I told him that I didnt want to use any canned tool. He got a bit acerbic and taunted me saying “Well, if thats the case, you can make your own operating system… <and some things that I never listened>”. This jibe was didactic but due to dearth of concentration and respect for my teachers, my mind started an entirely different thread of execution (I walked out of his cabin while he was still taunting me for not using canned tools). The idea of my own OS some what hit me like a cannon ball.
So I gave up the dream of becoming a network engineer (yes, those 35 lacs don’t entice me anymore) and I started researching about stuffs required to make an OS. In due course of time, I’ve learned things that no average computer science student will ever learn. Though the knowledge and resources were eclectic, but it was all there, all that I needed was a push. The push came in the form of my backlog in financial management. I realized that it was no good trying hard to get marks as my impression on faculties plummeted down to lowest level possible.
Anyways, I read that Linus Trovalds modified Minix to make something we know today as Linux. But I was against this (again the “penis-envy”, but Linus has always been my inspiration and role model), I wanted to write everything myself from scratch. So, I got Linux version 1.0 source code from somewhere and started to program things, using Linux version 1.0 as the reference. I made my own boot-loader. It was turning out to be a mammoth project. Even at a very nascent state, the size and complexity of the code was unimaginable.
One night, while chatting with a friend on facebook, the electricity went out and everything was black. I really like talking to her and was amusing myself thinking about how right now my future with her seems as black as the darkness that surrounded me. Suddenly out of nowhere, I got an idea. The idea was simple, if Linus could modify Minix, why cant I?! And since the idea came to me in black darkness, I named it Project Black.
Right now, its quite complete, I’m modifying Minix to unfathomable extents. I implemented an encrypted file-system and now work starts on scheduling. Fibonacci heaps is what I will implement to schedule user level processes and thats the toughest and the most complex part of the OS. Still have no idea on the GUI but I guess I should keep it on hold for a while. Once its complete, I’ll upload an iso image somewhere and post the link here so that you all can use it and tell me what else needs to be done. Mind you, its a UNIX like OS so it will be quite tough to use for those who are too familiar with that utterly stupid window$.
May the force be with you