Simple Operating System- Mohan_OS

Mohanatheesan Theiventhiram
2 min readJul 26, 2020

I have created a simple operating system called as Mohan_OS for my educational purpose. It will display the basic hardware information of the computer system. This OS is created by modifying the JOSH operating system which is also an operating system created by Dr. Mohan Raj Dhanagopal for educational purpose. Here is the tutorial for JOSH Operating System,

To implement this operating system a basic understanding of some functions and operations in assembly language is needed.The main requirements to develop this OS is using Ubuntu. Because using an open operating system is far more easier in this case. if you only have windows OS in your computer then you can dual boot Ubuntu using USB or you can use virtual box to use Ubuntu. The final OS can be viewed in virtual box as well as in QEMU emulator. Also a compiler named NASM is needed sometimes, for compiling.When you are in Linux, get all the tools mentioned above by entering this in a terminal, to install QEMU and NASM in Ubuntu:

sudo apt-get install build-essential qemu nasm

To boot the program we need a boot-loader, so I used the boot-loader program used in JOSH. The OS is booted from the floppy image. This can be created manually. But I used the image from the OS named MikeOS. For manually creating and run the below code

mkdosfs -C mikeos.flp 144

The boot loader handles the loading part of the kernel to the memory. Kernel is the core of an operating system. I created the kernel.asm file using the basic functions and operations provided by the JOSH OS tutorial. Then added the relevant assembly codes for displaying the hardware information by using reference materials that given.

Finally for compiling the program, I used the build-linux.sh from MikeOS which makes it more easier for compiling it. There should be some modifications to be done in the file for making it compact with out OS.

Terms, to compile the program :

sudo bash ./build-linux.sh

to run the program in QEMU emulator :

qemu-system-i386 -fda ./disk_images/mikeos.flp

Here is the source code of my simple Operating System Mohan_OS :

--

--