On boot, I understand the the kernel is loaded into main memory. When we spawn processes, a portion of the virtual address space is reserved for the kernel. If every processes' virtual address space contains a mapping to the kernel, and the virtual address space for the kernel in each process is always the same: Does this mean every process/virtual address space maps to the same parts of main memory where the kernel resides? This also means the system call interface is available to all processes, and that initiates the "switch" from user space to kernel space? And once we're in kernel space, the process has permissions to touch the protected parts of main memory where the kernel is loaded?
It wouldn't make sense to load the kernel multiple times in main memory as it would be expensive, but shared data structures would be terribly difficult to coordinate.