- Updated gdt assembly - Updated Interrupt service request handlers - Improved virtual memory manager - NOTE: we're dependent on identity mappings for the heap to work
2.7 KiB
TODO list
Basics
Setup Cross-Compiler
Multiboot to kernel
Printing string to the screen
Printing values/numbers to the screen
Basic Terminal
Extend Multiboot implementation
Output to serial port
Move to protected mode
Enabel CMOS clock
Time measurement (PIC &| PIT)
Detect CPU speed
Interrupt / exception system (API)
PCI support
ATA PIO Mode support
FAT Filesystem
Virtual filesystem
Keyboard support ( P/S2 Keyboard)
Physical memory management
Paging
Virtual memory management
The heap: allocating memory at runtime (malloc and free) is almost impossible to go without.
Enable SIMD Extensions (SSE)
Other features I am thinking of:
PCI support
ATA PIO Mode support
USTAR Filesystem ( For its simplicity this is very likely the first filesystem the OS is going to support)
ACPI support ( Or some other basic way to support shutdown, reboot and possibly hibernation )
ATAPI support
Memory Management (MMU)
Hardware Management system
Preemptive multi tasking
Processes
Threads
Scheduling (SRV2 Unix OR Priority Based Round Robin)
System V ABI compliance (partially)
POSIX compliance (partially)
RPC - for interprocess communication
Sync primitives - Semaphores, Mutexes, spinlocks et al. \
ACPI support
ATAPI support \
Optional
Basic Window server/client
EXT2 Filesystem
USTAR Filesystem
FAT16 Filesystem \