問題文
On a Linux host, what distinguishes code running in the kernel from code running in user space?
選択肢
- Kernel code is written in a compiled language while user space code is written in an interpreted language, and it is that difference in how the code is translated before it runs that determines which of the two parts of the system a given piece of software belongs to.
- Kernel code can be replaced while the machine is running but user space code cannot, so an operator who needs to change a running system patches the kernel in place and restarts every application around it.
- Kernel code has no access to storage devices.
- Kernel code runs with direct access to hardware and to all memory, while user space code must ask the kernel through system calls for anything it cannot do itself.