Building a Kernel / Operating system from scratch.
Go to file
Nigel 388ac8e7f9 Added checks to be sure paging is actually enabled on the cpu.
- Made a special assembly file to put CPU check function in. E.G. functions to get the state of
	specific registers

In this case I have created a simple assembly function to get the contents of the CR0 register.
With the help of the c++ preprocessor the value can then be used to check if certains bits are set.
For example to check if the PG (paging) bit is set, indicating that paging is enabled for the
processor.
2022-08-16 19:06:16 +02:00
docs Added introduction, manuals and project structure markdown files to docs 2021-05-03 02:23:49 +02:00
images Added an otter logo! I think its so cute 2021-05-26 19:54:59 +01:00
screenshots Added emulator options, Added header for VBE driver, Added CPUID function, Added demodisk.img as drive 2021-07-22 22:14:58 +01:00
src Added checks to be sure paging is actually enabled on the cpu. 2022-08-16 19:06:16 +02:00
.gitattributes Added emulator options, Added header for VBE driver, Added CPUID function, Added demodisk.img as drive 2021-07-22 22:14:58 +01:00
.gitignore Added option to create an iso 2021-10-23 12:26:15 +01:00
features.md Basic block allocation for physical memory allocation. 2022-02-26 20:55:34 +01:00
Makefile Setup paging function signatures... Ready to be implemented. 2022-03-18 22:09:04 +01:00
README.md Basic block allocation for physical memory allocation. 2022-02-26 20:55:34 +01:00
todo.md Basic block allocation for physical memory allocation. 2022-02-26 20:55:34 +01:00

Writing an Operating system

As a learning experience!

Inspired by people like Linus Torvalds and Andreas Kling

Logo


Screenshot(s)

Scrolling the terminal
The first scrolling boot screen. 😲

Interrupt handeling
W.I.P - Working on interrupt handling

Multiboot integration
Multiboot information can be read by the kernel.


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

See TODO
See Features


Docs

Intro
Manuals
Project structure


Resources:

General kernel stuff

wiki.osdev.org/Main_Page

Modern Operating Systems [book]

whiteheadsoftware.dev

More specific stuff

VFS explained: science.unitn.it