Farewell, my dear operating system
21 DEC 2023
About twenty years ago, while studying at the university, I started developing my own operating system. Today, 20 years later, digging through the layers of old code on my computer, I decided to get its documentation in order — and I am finally ready to say farewell to this small project of mine.
I started developing my operating system in 2003, beginning from a floppy disk bootloader and eventually reaching multitasking when, with much horror, I noticed that I was spending all my weeknights and weekends on it. I spent about four years on that journey, and it was incredibly hard to write off that much time invested into the operating system. Unable to recover the days I already spent, I decided to save my future time at least, and abandoned the project. (There was another reason to drop it: my new laptop didn’t have a floppy disk drive, and my operating system couldn’t start from HDD.)
OS development is indeed a malady without a proper cure — one needs to struggle through the illness before getting rid of it forever. I stopped working on it many years ago and didn’t change a single line of code in that time. Still, I kept the code around and later published it on Github.
It is available here: mgcbean OS and bootsectors for the system.
MGCBEAN.DOS
This one is the most finished "operating system" of the three. It looks a bit like DOS with a reduced set of commands:
- help
- cls
- cd
- date
- dir
- time
- ver
- view
It runs simple .com files, just make sure they don't depend on DOS libraries or interrupt calls.
The system itself is compiled as a .com file, meaning you can run it in an older version of Windows.
MGCBEAN.CLI
It became a 32-bit version of the system with multitasking.
MGCBEAN.GFX
Well, I think it’s time to end the story. Farewell, my old friend. It has been a wonderful journey.