今日では、メモリの領域に実行不可とマークすることにより、その領域上でコードを実行しようとすると例外を発生させる仕組みが導入されている。
従来のCPUのメモリ保護機能でも、そのような機能は(主に読み書き保護について)提供されていたが、セグメント方式、すなわちセグメント単位の保護であった。オペレーティングシステムで採用されるメモリモデルによっては、これらの機能を有効に活用できず、バッファオーバーランなどの問題が生じていた。
また、CPUに実行保護のための機能を装備しない場合でも、オペレーティングシステムやセキュリティソフトウェア等が実行保護のための仕組みを提供する場合がある(これはしばしばエミュレーションに分類されるが、正確にはエミュレーションでない場合もある。例:ソフトウェアDEP)。