answers.txt: 6.828 Lab 5 Dan R. K. Ports 2004/11/18: Questions: 1. About 15 hours. Challenge: Implemented exec. I considered a number of possible approaches to implementing this functionality in keeping with exokernel principles. The most obvious implementation would be to implement it entirely in kernel space -- but in addition to not being the Exokernel Way, it requires the kernel to depend on the file server, which is even more of a problem. Instead, the user process sets up a new address space as a child environment, just as in spawn(). It then calls a new syscall, sys_env_eat_child (which introduces a number of wonderfully tasteless jokes to the kernel), which replaces the current process's address space and trapframe with that of the child, then consumes the child. This syscall isn't especially useful anywhere except in exec, but it allows exec to be implemented mostly in user space.