Problem: As our kernel grows we need more complex datastructures and functions these would come from the standard C/C++ library with normal programs. The kernel is a freestanding programme and has no access to standard libraries. Solution: We build a mini version of the standard C/C++ library which will contain the datastructures and functions we want. This library can then be statically linked into our kernel binary. Making it a statically linked library also gives more structure to the project. Keeping these random functions and datastructures in the kernel just clutters the kernel source code with less relevant source code.
Writing an Operating system
As a learning experience!
Inspired by people like Linus Torvalds and Andreas Kling
Screenshot(s)
The first scrolling boot screen. 😲
W.I.P - Working on interrupt handling
Multiboot information can be read by the kernel.
Enabled paging and am getting page faults!
Correctly identified our ATAPI device 🎉
Reading a file from a FAT-16 Formatted drive
The goal
Writing a hobby operating system to better understand the basic building blocks of any operating system.Initially I'd like for my operating system to be able to run bash.
Operating System Technical specs/details
The operating system can print strings to the screen. The terminal/screen has scrolling so the latest messages are visible on the screen.
Planning
Docs
Intro
Manuals
Project structure
Resources:
General kernel stuff
Modern Operating Systems [book]
More specific stuff
Description
Languages
C++
61.2%
C
30.7%
Assembly
3.3%
Makefile
2.8%
Shell
1.7%
Other
0.3%