著者: Jean J. Labrosse氏、RTOSエキスパート スタックオーバーフローを検出するには多くの方法があります。ハードウェアを用いるやり方もあれば、ソフトウェアですべてを実行する方法もあります。以下で説明するように、オーバーフローを検出する機能は、ハードウェアに持たせるほうが、はるかに望ましいやり方と言えます。というのも、ハードウェアはスタックオーバーフローの発生を即座に検出でき、無効なアクセスへの書込みをブロックするため、事実上スタックオーバーフローを回避できるからです。 ハードウェアによるスタックオーバーフローの検出では、例外ハンドラをトリガするのが一般的です。例外ハンドラは、通常、現在のPC(プログラムカウンタ)と、場合によっては他のCPUレジスタを現在のタスクのスタックに保存します。 もちろん、例外はスタック外のデータにアクセスしようとした場合に発生するので、ハンドラは