My very own x86 operating system, just for fun.
Currently implemented:
- Multiboot bootloader (using Grub)
- Screen driver
- Serial driver (for debug)
- Global Descriptor Table (GDT)
- Memory segmentation / virtual memory / paging
- Interrupts: IDT, PIC, Interrupts Handlers
- Clock (through interrupts)
- Keyboard driver (through interrupts, with a basic shell)
- Multitasking
- Basic shell
On the todo list:
- Better shell
- Better keyboard driver
- Filesystem
- User mode
Must read
Might be usefull
- http://www.brokenthorn.com/
- https://github.com/levex/osdev
- http://www.geezer.osdevbrasil.net/osd/index.htm
- http://osdev.trvx.org/
- http://www.cs.rutgers.edu/~pxk/416/notes/
- http://fogus.me/thunks/osdev.html
- https://github.com/mit-pdos/xv6-public
Doc