Kötü bellek erişimini engelleyen çekirdek değil, CPU. Çekirdeğin rolü yalnızca CPU'yu doğru şekilde yapılandırmaktır.
Daha doğrusu, kötü bellek erişimini engelleyen donanım bileşeni MMU'dur . Bir program bir bellek adresine eriştiğinde, MMU'nun içeriğine göre adres CPU tarafından kodu çözülür. MMU, sanal adreslerden fiziksel adreslere bir çeviri oluşturur: CPU belirli bir sanal adreste bir yük veya mağaza yaptığında, MMU içeriğine göre ilgili fiziksel adresi hesaplar. Çekirdek, MMU yapılandırmasını her programın yalnızca hakkı olan belleğe erişebilecek şekilde ayarlar. Diğer programların bellek ve donanım kayıtları, bir programın belleğinde eşlenmez: bu fiziksel adreslerin, o programın MMU yapılandırmasında karşılık gelen sanal adresi yoktur.
Farklı işlemler arasındaki bağlam geçişinde, çekirdek MMU yapılandırmasını yeni işlem için istenen çeviriyi içerecek şekilde değiştirir.
Bazı sanal adresler hiç eşlenmez, yani MMU bunları özel bir “böyle adres yok” değerine çevirir. İşlemci eşlenmemiş bir adresin kaydını silerse, bu bir tuzağa neden olur: işlemci çekirdek kodunda önceden tanımlanmış bir konuma dallar. Bazı tuzaklar meşrudur; örneğin, sanal adres takas alanında olan bir sayfaya karşılık gelebilir , bu durumda çekirdek kodu sayfa içeriğini takastan yükler, ardından bellek erişim talimatı yeniden yürütülecek şekilde orijinal programa geri döner. Diğer tuzaklar meşru değildir, bu durumda işlem varsayılan olarak programı hemen öldüren bir sinyal alır (ve programdaki sinyal işleyiciye dallanmadıysa: her durumda bellek erişim talimatı tamamlanmamıştır).