mirror of
https://github.com/cfenollosa/os-tutorial.git
synced 2024-10-27 20:34:19 +00:00
updated READMEs
This commit is contained in:
parent
cfdc18a364
commit
fc73be819b
@ -1,3 +1,7 @@
|
||||
*Concepts you may want to Google beforehand: linux, mac, terminal, compiler, emulator, nasm, qemu*
|
||||
|
||||
**Goal: Install the software required to run this tutorial**
|
||||
|
||||
I'm working on a Mac, though Linux is better because it will have all the standard tools already
|
||||
available for you.
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
*Concepts you may want to Google beforehand: assembler, BIOS*
|
||||
|
||||
**Goal: Create a file which the BIOS interprets as a bootable disk**
|
||||
|
||||
This is very exciting, we're going to create our own boot sector!
|
||||
|
||||
Theory
|
||||
|
@ -1,6 +1,8 @@
|
||||
*Concepts you may want to Google beforehand: interrupts, CPU
|
||||
registers*
|
||||
|
||||
**Goal: Make our previously silent boot sector print some text**
|
||||
|
||||
We will improve a bit on our infinite-loop boot sector and print
|
||||
something on the screen. We will raise an interrupt for this.
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
*Concepts you may want to Google beforehand: memory offsets, pointers*
|
||||
|
||||
**Goal: Learn how the computer memory is organized**
|
||||
|
||||
Please open page 14 [of this document](
|
||||
http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf)<sup>1</sup>
|
||||
and look at the figure with the memory layout.
|
||||
|
@ -1,5 +1,7 @@
|
||||
*Concepts you may want to Google beforehand: stack*
|
||||
|
||||
**Goal: Learn how to use the stack**
|
||||
|
||||
The usage of the stack is important, so we'll write yet another boot sector
|
||||
with an example.
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
*Concepts you may want to Google beforehand: control structures,
|
||||
function calling, strings*
|
||||
|
||||
**Goal: Learn how to code basic stuff (loops, functions) with the assembler**
|
||||
|
||||
We are close to our definitive boot sector.
|
||||
|
||||
In lesson 6 we will start reading from the disk, which is the last step before
|
||||
|
18
README.md
18
README.md
@ -38,19 +38,21 @@ How to use this tutorial
|
||||
you jump right to folder 05 and don't know why there is a `mov ah, 0x0e`, it's because you missed lecture 02.
|
||||
Really, just go in order. You can always skip stuff you already know.
|
||||
|
||||
2. Read each README first. Especially the first line, which details the concepts you should be familiar with
|
||||
before reading the code.
|
||||
2. Open the README and read the first line, which details the concepts you should be familiar with
|
||||
before reading the code. Google concepts you are not familiar with. The second line states the goals for each lesson.
|
||||
Read them, because they explain why we do what we do. The "why" is as important as the "how".
|
||||
|
||||
3. Read the rest of the README. It is **very concise**.
|
||||
|
||||
3. Read the README. It is **very concise**. The only theory is the required to understand the code and there
|
||||
are tips on what to look at when you open the code file(s)
|
||||
4. (Optional) Try to write the code files by yourself after reading the README.
|
||||
|
||||
4. Look at the code examples. Some times you may be able to write them yourself just from the hints on the README.
|
||||
5. Look at the code examples. They are extremely well commented.
|
||||
|
||||
5. Experiment with them and try to break things. Try to change pointers and registers and see what happens. You know, the usual.
|
||||
6. (Optional) Experiment with them and try to break things. The only way to make sure you understood something is
|
||||
trying to break it or replicate it with different commands.
|
||||
|
||||
|
||||
TL;DR: First read the README on each folder, then decide if you will
|
||||
implement it yourself or just read the provided code files.
|
||||
TL;DR: First read the README on each folder, then the code files. If you're brave, try to code them yourself.
|
||||
|
||||
|
||||
Contributing
|
||||
|
Loading…
Reference in New Issue
Block a user