Skip to main content
operating system

Make your own operating system


Step 1: Choose a development environment

This is the platform you will use to code your new operating system. This depends on personal preference, but most people use either the Windows or UNIX flavors. If you are using Windows, it would be a good idea to install a Unix environment like Cygwin or MinGW. You'll need to make sure the environment you're using usually includes the following names

Windows development environment

You can install it in Cygwin or MinGW.

Here i am using Cygwin How to install Cygwin

GCC (Gnu Compiler)

You can install GCC. How to install GCC

Binutils

Binutils is a collection of tools used to manipulate object files. Again, if you're using Windows, you can install it in Cygwin.

A good text editor

Windows users can use Notepad or can also check out Notepad++ for a multi-tab upgrade.

Step 2: Setup your version control system

Writing an operating system means you'll write hundreds (or perhaps thousands!) of lines of code. This may seem confusing when you are working on revisions. Some options worth checking out include Git, GitLab vs SVN

Step 3: Choose a bootloader

You can create your own bootloader. If you don't want to create your own bootloader, you can use an existing bootloader, such as Grand Unified Bootloader (GRUB). If you want to code the bootloader as well, check out Rolling Your Own Bootloader on OSDev.org.

Step 4: Choose a kernel design

The kernel is the core of your operating system, providing the interface between the user and the hardware. These are monolithic kernels and micro kernels. Monolithic kernels implement all of the kernel's services, while microkernels are small kernels combined with user daemons implementing services. Typically, monolithic kernels are faster, but have better fault isolation and reliability over microkernels.

Add new comment

Restricted HTML

  • You can use shortcode for block builder module. You can visit admin/structure/gavias_blockbuilder and get shortcode, sample [gbb name="page_home_1"].
  • You can use shortcode for block builder module. You can visit admin/structure/gavias_blockbuilder and get shortcode, sample [gbb name="page_home_1"].