The following thesis describes an implementation of a minimal operating system which supports user interaction through keyboard and a terminal window.
The system design is inspired by GNU/Linux operating system and is at its core monolithic kernel with support for memory management, kernel modules and various peripheral drivers, like serial ports, VGA terminal, timers and interrupts.
The second part of the system is the user mode using a REPL terminal with some inbuilt tools for basic computer tasks and demonstration on system capabilities. The operating system uses C programming language, as well as x86 architecture assembly for some critical parts. Bochs, the virtual machine software was used to emulate hardware while in development, however, the system can be booted on compatible physical hardware.
|