I have been working on an operating system recently, and it's still super simple (no file-system, or any apps for that matter) however, I still believe that it is worth sharing this, as this is something that I have attempted and failed multiple times, and I excited that I have been able to get to this point!
That is just a screenshot using an Emulator (QEMU) to run the operating system, it'd be silly to run this on actual hardware. :)
All the source code is avaliable on my GitHub. https://github.com/Komanturne/kOSturne
Unfortunetly, the Operating System Development community, is likely one of the more gate-keepy group's you can find yourself in. Because of this, finding tutorial's that get past the first little section becomes harder than the actual assembly code itself, and so I haven't been able to do to much.
The first part of any operating system is the bootloader, which at it's core, is a program that tells the program where the operating system is. This is a program that is 512 MB in length that ends in the Hex-Code AA, 55. The reason for AA55 as the last two, is because when you convert it to binary, it looks like "1010 1010 0101 0101" which as far as binary goes, is likely the most recognizable your going to get.
This itself, is the smallest possible operating system. If you run it, it will boot off of this, but obviously nothing will happen: because there isn't anything to do: and so the next logical step is to get text on the screen.
In order to get text on the screen, it's quite simple; you first have to have a string, which is stored with "db" followed by a 0, and then go through with a pointer to each ascii character, and print it until you hit the zero, which acts in the same way as the \n in C.
After that, you just add inputs, and that is to the point that I am at. The next things to do are lengthy, file-system, malloc, kernel, and literally everything that makes an operating system and operating system. But, I am not attempting to be the next Linus Torvold, and this is mearly a learning project rather than something I take with any level of seriousness.