40 lines
2.3 KiB
Markdown
40 lines
2.3 KiB
Markdown
|
# TODO list
|
||
|
## Start planning
|
||
|
<input type="checkbox" checked/> Setup Cross-Compiler \
|
||
|
<input type="checkbox" checked/> Multiboot to kernel \
|
||
|
<input type="checkbox" checked/> Printing string to the screen \
|
||
|
<input type="checkbox" /> Printing values/numbers to the screen (a.k.k itoa) \
|
||
|
<input type="checkbox" /> Extend Multiboot implementation \
|
||
|
<input type="checkbox" /> Output to serial port \
|
||
|
<input type="checkbox" /> Move to protected mode \
|
||
|
<input type="checkbox" /> Enabel CMOS clock \
|
||
|
<input type="checkbox" /> Time measurement (PIC &| PIT) \
|
||
|
<input type="checkbox" /> Detect CPU speed \
|
||
|
<input type="checkbox" /> Interrupt / exception system (API) \
|
||
|
|
||
|
<input type="checkbox" /> Plan your memory map (virtual, and physical) : decide where you want the data to be. \
|
||
|
<input type="checkbox" /> The heap: allocating memory at runtime (malloc and free) is almost impossible to go without. \
|
||
|
<input type="checkbox" /> Enable SIMD Extensions (SSE)
|
||
|
|
||
|
## Other features I am thinking of:
|
||
|
<input type="checkbox" /> PCI support \
|
||
|
<input type="checkbox" /> ATA PIO Mode support \
|
||
|
<input type="checkbox" /> USTAR Filesystem ( For its simplicity this is very likely the first filesystem the OS is going to support) \
|
||
|
<input type="checkbox" /> ACPI support ( Or some other basic way to support shutdown, reboot and possibly hibernation ) \
|
||
|
<input type="checkbox" /> ATAPI support \
|
||
|
<input type="checkbox" /> Keyboard support ( P/S2 Keyboard) \
|
||
|
<input type="checkbox" /> Memory Management (MMU)\
|
||
|
<input type="checkbox" /> Preemptive multi tasking
|
||
|
<input type="checkbox" /> Processes
|
||
|
<input type="checkbox" /> Threads
|
||
|
<input type="checkbox" /> Scheduling (SRV2 Unix OR Priority Based Round Robin) \
|
||
|
<input type="checkbox" /> System V ABI compliance (partially)
|
||
|
<input type="checkbox" /> POSIX compliance (partially)
|
||
|
<input type="checkbox" /> RPC - for interprocess communication \
|
||
|
<input type="checkbox" /> Sync primitives - Semaphores, Mutexes, spinlocks et al. \
|
||
|
<input type="checkbox" /> Basic Terminal \
|
||
|
<input type="checkbox" /> Extend hardware recognition ( CPU codename, memory, ATA harddisk, RAW diskSpace, CPU speed through SMBIOS et al. ) \
|
||
|
<input type="checkbox" /> Basic Window server/client \
|
||
|
## Support for more filesystems if I like the challenge in writing these ...
|
||
|
<input type="checkbox" /> FAT Filesystem \
|
||
|
<input type="checkbox" /> EXT2 Filesystem \
|