Per rispondere a un'altra parte della domanda:il kernel è mappato in ogni spazio di indirizzamento dei processi parzialmente per motivi di efficienza/prestazioni (ce ne sono anche altri, ne sono sicuro).
Sulla maggior parte dell'hardware moderno, è più rapido modificare il livello di sicurezza (consentendo così l'accesso alle pagine altrimenti protette, come menzionato nella risposta di Alexey) per eseguire chiamate di sistema e altre funzioni fornite dal kernel piuttosto che modificare il livello di sicurezza e l'intera mappa della memoria virtuale, insieme a tutti gli svuotamenti della cache TLB associati e tutto il resto coinvolto in un cambio di contesto completo.
Poiché le chiamate di sistema possono essere eventi abbastanza frequenti, il design che si è evoluto in Linux e in molti altri luoghi per cercare di ridurre al minimo l'overhead dell'utilizzo dei servizi del kernel e mappare il codice del kernel e (almeno alcuni dei) dati in ciascun processo fa parte di quello.
Un processo "possiede" l'intero spazio degli indirizzi virtuali qui, il kernel e le sue parti utente.
La sua incapacità di sbirciare e colpire il codice e i dati del kernel non è dovuta a diversi spazi di indirizzi, ma a diversi diritti di accesso/permessi impostati nelle tabelle delle pagine. Le pagine del kernel sono configurate in modo tale che le normali applicazioni non possano accedervi.
Tuttavia, è consuetudine riferirsi alle due parti di un'unica cosa come lo spazio del kernel e lo spazio dell'utente e ciò può creare confusione.
Immagina cosa accadrebbe se il kernel non fosse mappato in ogni spazio di indirizzamento del processo. Sarebbe triplice errore perché diciamo che si verifica l'interrupt del timer, quindi il processore chiama la routine ISR usando IDT (Interrupt Descriptor Table). Se il kernel non è mappato, allora l'indirizzo IDT diventa non valido e quindi risulterà un triplo errore.
Un altro motivo importante per cui diciamo che il kernel si trova nello spazio degli indirizzi del processo è che il kernel può accedere al codice/dati utente del processo ATTUALE, ovvero lo spazio degli indirizzi virtuali 0~3G.
Mi dispiace per il mio povero inglese. Non sono un madrelingua inglese.