Memory is divided into 2 areas, known as kernel space and user space (synonymous to the terms kernel and user mode). Kernel Space Executing code has unrestricted access to any of the memory address space and to any underlying hardware. It is reserved for the highest of trusted functions within a system. d5 pump reservoir. Create the first user process Idea create a fake trap frame, then reuse trap return mechanism userinit() in proc.c allocproc() in vm.c allocates PCB, sets trap return address to trapret in trapasm.S, and sets "saved" kernel CPU context inituvm() in vm.c sets up user space Allocates a physical page for the process, sets up. While xv6 does not take a lot of time to compile, you can still speed up compilation a bit by telling make to run multiple jobs in parallel, e.g. to run 4 parallel jobs . Confusion between user space and kernel space is less of an issue since the kernel generally executes in a part of the address space that&x27;s disjoint from user space so. . An xv6 process consists of user- space memory (instructions, data, and stack) and per-process state private to the kernel. Xv6 can time-share processes it transparently switches the available CPUs among the set of processes waiting to ex View the full answer. files in xv6. An xv6 process consists of user- space memory (instructions, data, and stack) and per-process state private to the kernel. Xv6 can time-share processes it transparently switches the available CPUs among the set of processes waiting to ex View the full answer. files in xv6.