Resea Kernel does not allocate memory for userland programs. Instead, an userland server task manages memory pages. The kernel only reserves small chunk of memory for its internal use (e.g. page tables).
- Page fault occurrs in a task.
- The kernel sends a
PAGE_FAULT_MSGto its pager task on behalf of the task.
- The pager task (e.g.
vmserver) allocates a memory page and maps it into the task's virtual memory by the
mapsystem call. Lastly, the pager task replies
- The kernel resumes the task.