ハードウェア割り込みと同じようになしくみで、CPUが例外的な処理を検知して割り込むもの。 また、優先度が最大で即座に実行される。 (例えば0除算などの例外的な処理)
ここでは3つの例を取り上げて説明している
- バスタイムアウトでの割り込み
- クロックでの割り込み
- ユーザープログラムの割り込み
fuibyte(814)
はとりあえず無視で、fuiword(844)
を追う。
ポイントはトラップが起こりうるのはmfpiの時で、”前(モード)のアドレス空間中の指定ワードの値をカレントスタックにプッシュする”時にメモリアクセスができなかった場合に、トラップが発生する。
mfpiが実行される前にnofault(885)
を設定している。
(引用 http://d.hatena.ne.jp/takahirox/20110209/1297257779)
- UNIX 6th code reading - 割り込み・トラップルーチン http://d.hatena.ne.jp/takahirox/20110209/1297257779
- [kernel] Lions' 本読み (63) http://d.hatena.ne.jp/yamanetoshi/20120704/1341360509
- [Lions' Commentary on Unix] mtpi & mfpi http://monado.dtiblog.com/blog-entry-26.html