diff options
-rw-r--r-- | user/Etenil.mdwn | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/user/Etenil.mdwn b/user/Etenil.mdwn index f19a5697..3dd41071 100644 --- a/user/Etenil.mdwn +++ b/user/Etenil.mdwn @@ -40,8 +40,16 @@ VM allocation happens with a call to: - - - ## Implementation plan + +### Ideas To start of with, I will toy with the VM (even if it breaks stuff). My initial intent is to systematically allocate more memory than requested in the hope that the excess will be manipulated by the task in the near future, thus saving on future I/O requests. I'd also need to keep track of the pre-allocated memory and so that I can pass it on to the task on demand and prefetch even more. I could also possibly time the prefetched data and unallocate it if it's not requested after a while, but that's just an idea. The tricky part is to understand how the memory allocation works in Mach and to create an additional struct for the prefetched data. + +### Foreseeable difficulties +* Tracking the prefetched memory +* Unallocating prefetched memory along with the requested memory +* Shared prefetched memory (i.e. a task requested memory, some more was prefetched and a second task used the prefetched memory) +* Page faults |