Toy OS for learning purpose
- x86_64 support
- Multitasking
- RTL8169 NIC driver
- Network stack (TCP, UDP, IP)
- Userland CLI application
- Run on QEMU
- Better memory/page management
- Improve TCP stack
- Handle reordering and options
- Window control
- Test with various cases (e.g. pkt loss, large delay)
- SMP support
- File system
- UEFI support
begin | end | size | |
---|---|---|---|
mbr | 0 | 0x01ff | 512B |
boot | 0x200 | 0x1ffff | 8KB |
kernel | 0x2000 | 0x11fff | 64KB |
begin | end | size | |
---|---|---|---|
mbr + boot | 0x00007c00 | 0x00009bff | 8KB |
kernel(initial) | 0x00009c00 | 0x00019bff | 64KB |
page table for long mode | 0x00079000 | 0x00079fff | 4KB |
gdt table | 0x00090000 | 0x00090fff | 4KB |
intrupption vec | 0x00091000 | 0x00092fff | 8KB |
kernel(relocated) | 0x00101000 | 0x00110fff | 64KB |
kstack for userapp(temporary) | 0x00900000 | ||
free(managed by mem lib) | 0x00a00000 |
- General OS knowledge
- RTL8169 driver
- 64bit/paging/context switch
- Implementation