|
|
@ -0,0 +1,27 @@
|
|
|
1
|
# Writing an OS?
|
|
|
2
|
|
|
|
3
|
inspired by [Julia Evan's blog post](http://jvns.ca/blog/2013/11/26/day-34-the-tiniest-operating-system/), using the instructions from [MikeOS](http://mikeos.sourceforge.net/).
|
|
|
4
|
|
|
|
5
|
it clears the screen and then prints some text. exciting!
|
|
|
6
|
|
|
|
7
|
## How to run it
|
|
|
8
|
|
|
|
9
|
1. install `nasm` and `qemu`
|
|
|
10
|
2. run `make run`
|
|
|
11
|
3. have a look at [first.asm](./first.asm) and change something
|
|
|
12
|
4. `jmp 2`
|
|
|
13
|
|
|
|
14
|
## Resources
|
|
|
15
|
|
|
|
16
|
- interrupts:
|
|
|
17
|
* [interrupt table](http://en.wikipedia.org/wiki/BIOS_interrupt_call#Interrupt_table)
|
|
|
18
|
* [interrupt descriptions](http://www.ctyme.com/intr/int.htm)
|
|
|
19
|
- [MikeOS](http://mikeos.sourceforce.net)
|
|
|
20
|
|
|
|
21
|
## Ideas
|
|
|
22
|
|
|
|
23
|
- print typed keys to the screen
|
|
|
24
|
- port to C
|
|
|
25
|
- port to a real language (scheme?!)
|
|
|
26
|
- try something graphical
|
|
|
27
|
- read [Julia's OS in Rust](https://github.com/jvns/puddle)
|