>>135
>例えばどの実装?

例えば、古くは 4.3BSD とか。

なぜスタックの自動拡張が行われたか、という経緯を推測を含めて書くと、
4.3BSD の頃はまだ、copy on write が実装されていなかったからかと。
スタックサイズは、事前に厳密なサイズを計算するのはむずかしい。
多く確保すれば無駄になるし、少なければプログラムが停止する。
だから、ただでさえ少ない物理メモリを無駄にしないためにも、
始めは最小限だけ用意して、必要に応じて自動的に確保するように
実装したのだと思われ。

mach は、copy on write を前提にしたメモリ管理を
するから、必要と思われる最大限のスタックサイズを確保したとしても、
実際に使われた分の物理メモリしか消費しない。
135 の言うようなリスクを考えれば、「自動拡張」など必要ないと
考えたと思われ。

今も多くの実装に自動拡張が残っているのは、古きよき伝統の残骸かと。