-
Optimize SMP.
-
Support IPv6.
-
Endianess of the network stack (currently: HOST<=>NETWORK). Not sure if this is a standard or not.(???) -
Support 32-bit applications (ELF, PE, etc).
-
Do not map the entire memory. Map only the needed memory address at allocation time.(we just copy the pages for userland, seeFork()
inside core/memory/page_table.cpp) -
Implementation of logging (beside serial) with log rotation.
-
Implement a better task manager. (replace struct P/TCB with classes)
-
Rewrite virtual file system.
-
Colors in crash screen are not following the kernel color scheme.
-
Find a way to add intrinsics.(not feasible, use inline assembly) -
Rework PSF1 font loader.
-
The cleanup should be done by a thread (tasking). This is done to avoid a deadlock.(not needed, everything is done by the scheduler) -
Implement a better Display::SetBrightness() function.
-
Fix memcpy, memset and memcmp functions (they are not working properly with SIMD).
-
Fully support i386.
-
Support Aarch64.
-
SMP trampoline shouldn't be hardcoded at 0x2000.(0x2000 is in the conventional memory, it's fine) -
Rework the stack guard.
-
Mutex implementation.
-
Update SMBIOS functions to support newer versions and actually use it.
-
COW (Copy On Write) for the virtual memory. (https://en.wikipedia.org/wiki/Copy-on-write)
-
Implement lazy allocation. (page faults)
-
Bootstrap should have a separate bss section + PHDR.
-
Reimplement the driver conflict detection.
-
Elf loader shouldn't create a full copy of the elf binary. Copy only the needed sections.
-
Use NX-bit.
-
Fix std::string.
-
Rewrite PS/2 drivers.
-
Improve signal handling.
-
Improve the way the kernel crashes.
- Add panic() function.
- Handle assertion failures.
-
Optimize screen printing.
- On real hardware it's very slow, a solution is dirty printing.
-
Thread ids should follow the POSIX standard.
- When a new process is created, the first thread should have the same id as the process id.
- If pid is 400, the first thread should have the id 400. The second thread should have the id 401, etc.
-
Optimize the scheduler
- Create a separate list for processes that are waiting for a resource or a signal, etc.
- Use all cores to schedule threads.
-
Improve Remap() function.
- Remove Unmap & Map logic. Remove all flags directly.
This repository has been archived by the owner on Nov 20, 2024. It is now read-only.