-
O kernel gerencia a memória, então o código do kernel tem acesso ao kernel e ao espaço do usuário. Quando se fala em "espaço do kernel", normalmente, as páginas são usadas exclusivamente pelo kernel.
-
"Espaço do usuário" não é uma entidade única. Cada processo tem seu próprio espaço de endereçamento, possivelmente se sobrepondo parcialmente a outros processos.
-
O cache é governado pelo kernel e não pode ser acessado pelo código de espaço do usuário. É claro que o kernel pode transferir páginas do espaço do kernel para o espaço do usuário, se necessário.