/AOS

AOS is self made operating system.

Primary LanguageC

AOS

osdev project for studying purposes. First target is pintos and second is run gcc at my os.

Under Developing

  1. Now palloc and malloc is implemented. But, palloc have to be changed to bitmap allocator.
  2. Start Implement ext2 File system!!! First to do! VFS.

Bugs

  1. While loading elf program, scheduling out triggers deadlock.
  2. After loading simple elf program, kernel panic due to general protection fault.

Basic Todo List

X86_64

  • GDT
  • TSS
  • LDT
  • Detecting CPU
  • Multitasking

Memory

  • Implement kmalloc
  • User, Kernel Pool
  • Bitmap Allocator
  • Buddy Allocator
  • Anonymouse page
  • Stack / Heap
  • MMAP
  • Swap in and out
  • Cpoy on write

User Process

  • Elf Loader
  • Dynamic Linker
  • Argument Passing
  • User Memory
  • System calls - Have to implement POSIX
  • Process Termination Messages
  • Safty
  • Extend File Descriptor
  • IPI

Thread

  • Implement Clock
  • Implement RTC
  • Basic Scheduler (FIFO)
  • Basic thread implementation

Sync

  • Spin lock
  • Mutex
  • Semaphore

Driver

  • Serial
  • Graphic Driver
  • Soudn Driver
  • APIC
  • ACPI
  • HPET
  • ATA
  • ATAPI, SATA, SATAPI
  • USB
  • NVME
  • PCI

Library

  • Small LibC
  • kernel stdlib
  • List, Queue
  • Bitmap
  • Hash
  • Btree+

Filesystem

  • Ext2 - under development
  • Ext4
  • VFS - under development
  • Journaling
  • RamDisk

ETC

  • PerCPU
  • Assert, Panic, Debug
  • Minish (Bash Like Shell)