updated readme

pull/6/head
Carlos Fenollosa 10 years ago
parent cdddc184b2
commit f67abb437d

@ -1,9 +1,9 @@
os-tutorial
===========
How to create an OS from scratch
How to create an OS from scratch!
I have always wanted to learn how to make an OS from scratch. In college they taught us
I have always wanted to learn how to make an OS from scratch. In college I was taught
how to implement advanced features (pagination, semaphores, memory management, etc)
but:
@ -14,40 +14,34 @@ Inspired by [this document](http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/l
and the [OSDev wiki](http://wiki.osdev.org/), I'll try to make short step-by-step READMEs and
code samples for anybody to follow.
**The tutorial will be updated about every week, at the same pace that I learn the concepts**
I will not explain the theory. Google is your friend.
Theory is already covered by thousands of PDFs from Universities
and the Wikipedia. The material assumes that you are comfortable
with low level computing.
Features
--------
This course is a code tutorial, not a real CS lecture.
To make up for the lack of theory, the "lessons" are tiny
and may take 5-15 minutes to complete. Each new concept
is presented on a new lecture.
- This course is a code tutorial aimed at people who are comfortable with low level computing.
- There is little theory. Yes, this is a feature. Google is your theory lecturer.
- The lessons are tiny and may take 5-15 minutes to complete. This is the only way to learn. Grabbing a whole
OS, even if small like Minix or TempleOS, is too overwhelming.
- New lessons will be added about every week, at the same pace that I learn the concept
How to use this tutorial
------------------------
First, go through every folder in order. They build on previous code, so if
1. Start with the first folder and go down in order. They build on previous code, so if
you jump right to folder 08, you may find a lot of stuff which is not related
to what folder 08 is about.
To see the increments between "lessons", do a diff between folders.
Each lesson README starts with the concepts you should be familiar with
2. Read each README first. Especially the first line, which details the concepts you should be familiar with
before reading the code.
Second, for each folder, read the README. It is **very concise**. The only theory
is the required to understand the code.
Then, look at the code examples. You can try to write them by
yourself on a different folder, modify them slightly and play a bit with the
code, you know, the usual.
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. Look at the code examples. Some times you may be able to write them yourself just from the hints on the README.
5. Experiment with them and try to break things. Try to change pointers and registers and see what happens. You know, the usual.
Finally, the code files provided in each folder are the final result. If
you want to learn quickly (though not as thoroughly), just read the
provided code files.
TL;DR: First read the README on each folder, then decide if you will
implement it yourself or just read the provided code files.

Loading…
Cancel
Save