BarinkOS/README.md
Nigel b4cff3e667 Basic block allocation for physical memory allocation.
- 1 block = 4096 bytes : because this will make page fault handling possibly
somewhat easier

- 1 byte in the bitmap = 8 blocks of physical memory

unsure if the allocation is perfect ... guess i'll find out some day if this is actually correct.

The bitmap needs 16kb to keep track of 2gb of physical memory. Seems a decent percentage to me.
2022-02-26 20:55:34 +01:00

53 lines
1.7 KiB
Markdown

# Writing an Operating system
## As a learning experience!
Inspired by people like Linus Torvalds and Andreas Kling
![Logo](images/BarinkOS.png)
________________________
### Screenshot(s)
![Scrolling the terminal](screenshots/Screenshot1.png) \
The first scrolling boot screen. 😲
![Interrupt handeling](screenshots/WIP_interruptHandling.png) \
W.I.P - Working on interrupt handling
![Multiboot integration](screenshots/multiboot.png) \
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](todo.md) \
[See Features](features.md)
________________________
### Docs
[Intro](docs/Intro.md) \
[Manuals](docs/Manuals.md) \
[Project structure](docs/ProjectStructure.md)
________________________
### Resources:
#### General kernel stuff
[wiki.osdev.org/Main_Page](wiki.osdev.org/Main_Page)
[Modern Operating Systems [book]](https://www.amazon.com/Modern-Operating-Systems-Tanenbaum-Andrew/dp/1292061421/ref=sr_1_1?__mk_nl_NL=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=Modern+Operating+systems&qid=1619967779&sr=8-1)
[whiteheadsoftware.dev](https://whiteheadsoftware.dev/operating-systems-development-for-dummies/)
#### More specific stuff
[VFS explained: science.unitn.it](https://www.science.unitn.it/~fiorella/guidelinux/tlk/node102.html)