プロハンでは、「実行プログラム内で指定された大きさ、すなわちリンク時に決ま
る大きさ」と書かれているので、ヒープではなくグローバル変数やスタティック変数
のことかと思ったのでした。
じっさい、1Bでは、プログラマがローカルメモリの最大サイズを指定しているの
でしょうか?
隆一さんの指摘どおり、B-Free OS では、最大メモリサイズを指定する必要は無い
と考えています。
実メモリもスワップ領域も使い果したときには、新規プロセスの生成ができないこ
とはあります。
[スタックとサブタスク]
4M バイトのサイズのスタックというのはその成長するときの最大サイズという意味
だと理解しています。
ただし、ひとつのプロセス空間のなかに複数のタスクが存在する場合、この4MB
を分割して各タスクのスタックとして割り当てることになるのではないでしょうか?
プロセスの生成時には、スタックに実メモリを1ページだけ割り当てておき、スタ
ックが成長してページフォルトが発生したら新しいページを割り当てるつもりです(
最初に割り当てたページがページアウトすることもある)。