- 1 block = 4096 bytes : because this will make page fault handling possibly somewhat easier - 1 byte in the bitmap = 8 blocks of physical memory unsure if the allocation is perfect ... guess i'll find out some day if this is actually correct. The bitmap needs 16kb to keep track of 2gb of physical memory. Seems a decent percentage to me.
2.1 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)
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 \