Link to userland

This commit is contained in:
Ciro Santilli
2016-09-04 09:12:35 +01:00
parent 4ada3c2cd0
commit 3cc662b11e
3 changed files with 25 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
# x86 Bare Metal Examples
Dozens of minimal operating systems to learn x86 system programming.
Dozens of minimal operating systems to learn x86 system programming. Userland cheat at: <https://github.com/cirosantilli/x86-assembly-cheat>
1. [Getting started](getting-started.md)
1. [About](about.md)

View File

@@ -23,6 +23,18 @@ The following did not work on my machine out of the box:
- <https://github.com/apparentlymart/ToyOS>
- <https://github.com/rde1024/toyos>
## Tutorials
- <https://arobenko.gitbooks.io/bare_metal_cpp/content/>
### Educational NIXes
One complexity order above the minimal tutorials, one below actual kernels
- <http://www.xinu.cs.purdue.edu/>
- <https://pdos.csail.mit.edu/6.828/2014/xv6.html>
- <https://en.wikipedia.org/wiki/MINIX>, influenced Linux
## Multi collaborator websites
- osdev.org is a major source for this.
@@ -79,6 +91,8 @@ These are not meant as learning resources but rather as useful programs:
- <https://github.com/scanlime/metalkit> A more automated / general bare metal compilation system. Untested, but looks promising.
- Python without an "OS": <https://us.pycon.org/2015/schedule/presentation/378/>
## Other archs
For when we decide to port this tutorial:
@@ -90,3 +104,4 @@ ARM:
Raspberry PI:
- <https://github.com/dwelch67/raspberrypi>
- <https://github.com/BrianSidebotham/arm-tutorial-rpi>

View File

@@ -15,3 +15,12 @@ Rings are useful for OS programmers. The OS lets user programs run a restricted
Certain operations such are only allowed if certain privileges are given.
Privilege control is only available on protected mode, and is managed by segmentation and paging.
## Negative rings
TODO: officially documented, possibly with other names?
- <https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements>
- <https://www.quora.com/Computer-Science-What-does-In-x86-beyond-ring-0-lie-the-more-privileged-realms-of-execution-where-our-code-is-invisible-to-AV-we-have-unfettered-access-to-hardware-and-can-trivially-preempt-and-modify-the-OS-mean>
Some of them were introduced to satisfy <https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements>