Link to userland
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
9
ring.md
9
ring.md
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user