User and Kernel Space
What is it
Modern operating system uses virtual memory to provide separate address spaces or separate regions of a single address space.
- these spaces are
kernel space
anduser space
. Linux
,macos
,windows
all utilizeskernel space
These separations provide memory protection and hardware protection from malicious or errant software behavior.
kernel space
is strictly reserved for running a privileged operating system kernel, kernel extensions, and most device drivers.
user space
is the memory area where application software and some drivers execute.
- typically one address space per process.
User Space
All code that runs outside the operating system's kernel.
- Refers various programs and libraries that the operating system uses to interact with the kernel.
- Each user space process runs in its own virtual memory space
- Unless explicitly allowed, cannot access the memory of other processes.