mov eax , cr0
or eax , 0x01
mov cr0 , eax



back to months list

Project : The "Microkernel" Operating System

Journal Entry Date : 2023.11.01

So I decided to make some operating system. (yay!) I've been actually making OS for very long time(my previous project) and it turned out to be both impressive and disasterous.. so I'm gonna put my whole effort to make this OS to be super organized, intricate, portable and modularized. I hope this turns out different than my other failed projects. (lol)

I'm gonna name this project "Microkernel" (temporarily) because it is just a "micro" kernel -- not that of big or complicated. I will referencing lots of things from my previous project, such as makefile scripts and some basic bootloader sources.

Directory structures are very similar to my previous project. "kernel" folder consists of all the kernel source codes, and "loader" folder consists of bootloader part(16 and 32bit mode, since for now I'm planning to make this for 64bit kernel.) For the bootloader, I will not make the whole 16bit bootloader and all sorts of that, as it is quite unnecessary process. Instead, I'll just use grub bootloader. I'm planning to make kernel strictly independent to kernel though(That is, making kernel to work with any kinds of bootloader, even like arduino bootloader lol.)

to sum up what I mumbled..

Few things I want to accomplish in this project are :

  1. Organized and Modularized kernel
  2. Independent of architecture
  3. Also independent of bootloader
  4. Flexible kernel core (easy-for-maintenance)
  5. Efficient resource management
  6. Device Driver
  7. Other Lots of stuff...

I kinda feel that this project will be something quite special than other countless OS projects that I did. I will try my best anyways..

commit related to this journal