Create an operating system
An operating system can be created through the following steps: Learn the programming language that will be used to program the system, such as: Basic and Pascal, the most famous of which is the C language, and it is important to use assembly language to create an operating system.
This is because some parts and during OS programming require their use, unlike C++ which has keywords, and you need an integrated operating system to use them. Large parts of Windows 98 were written in C++.
Use a compiler to compile an operating system written in C or C++ by reading the manual of the chosen language, and the programmer must have a comprehensive knowledge of the compiler, in addition to many things that the programmer must master, such as the slicing scheme and the interface of the C + binary application +, and know the executable formats well (ELF, PE, COFF, plain binary), and that the (.exe) format is subject to intellectual property protection law.
Choose the type of media to mount to the operating system, which includes CD drives, DVD drives, hard drives, flash drives, or any other computer.
Determine the main idea that will be based on an operating system such as (Windows), which works on the idea of a simple user interface and high protection. Determine the appropriate processor interface that will be supported by the operating system. Among the most popular processors in this field are ARM, x86_64, and IA-32 developed by Intel, which are used to this day.
Choosing the appropriate method for building the operating system, as it is possible to start building a new operating system from scratch, and the system can also be built if there is a kernel (foundation) to build on, such as open source (Linux), which is considered one of the most important operating systems due to its ability to modify and develop.
Decide whether to use a pre-created bootloader such as: (GRUB) or a special bootloader (private bootloader), which must know the hardware components of the computer when using it.
Defining an application programming interface (API), the most famous of which is the (POSIX) interface that allows support for Linux systems, and is characterized by the existence of well-documented support documents.
Choosing the way to design the system, there are two types of designs: a monolithic kernel, which puts all services into the kernel so that it is faster, and a small kernel that integrates a small kernel with the user to implement services, and handle each error in severity, so it is the best and most reliable.
TRANSLATED FROM: