educative.io

Kernel mapped into each address space in VAX/VMS

The kernel is mapped into each address space for a number of reasons. This construction makes life easier for the kernel; when, for example, (1 start) the OS is handed a pointer from a user program (e.g., on a write() system call), it is easy to copy data from that pointer to its own structures.(1 end) The OS is naturally written and compiled, without worry of where the data it is accessing comes from. (2 start) If in contrast the kernel were located entirely in physical memory, it would be quite hard to do things like swap pages of the page table to disk (2 end); if the kernel were given its own address space, moving data between user applications and the kernel would again be complicated and painful.

Can someone please elaborate, (1) and (2) ? I am unable to understand why that’s the case.