BarinkOS/TODO.md

2.4 KiB

TODO list

Start planning

Setup Cross-Compiler
Multiboot to kernel
Printing string to the screen
Printing values/numbers to the screen (a.k.k itoa)
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) \

Plan your memory map (virtual, and physical) : decide where you want the data to be.
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
Keyboard support ( P/S2 Keyboard)
Memory Management (MMU)\ 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.
Basic Terminal
Extend hardware recognition ( CPU codename, memory, ATA harddisk, RAW diskSpace, CPU speed through SMBIOS et al. )
Basic Window server/client \

Support for more filesystems if I like the challenge in writing these ...

FAT Filesystem
EXT2 Filesystem \