[スタックの情報は共有できない]
隆一さんのご指摘どおり、スタックを別空間に置いたらスタックに置かれた情報は
タスク間で共有できませんが、そもそもスタック上に置いたデータ(自動変数)は、
他から見えないものではないでしょうか?というか、同じプロセスのタスクのスタッ
クを同一空間に置いたとしても、ご指摘のようなプログラムはまずいプログラムでは
ないでしょうか?同一空間にスタックがあっても、task1が終了したらdataは消えて
しまう)
「チェックする方法」の話
これは、スタックのページインの話に対して、隆一さんが[kernel-ml 16]の最後に
、
>>>
私もこれがいいと思います。
あと、ページフォールトが発生し、そのアドレスがスタックをアクセスしたた
めに発生したのかをチェックする方法が必要ですね。
<<<
と、仰っている件です。
スタックを特別扱いする必要がなぜあるのかと考えたのですが、
スタックのうち、書き込まれていない領域を読みだそうとしたら、エラーかな?ス
タックは連続した論理空間を使うと仮定してよい(不連続のページを使用することは
ない)と思いますが、いかがでしょう?
[プロセス内タスク]
プロセス内タスクは、時間的に間に合わないアプリケーションのためだけではなく
、プログラミングの手軽さも捨て難いのではないでしょうか?(手軽に書けても堅牢
性を失っては困るが)
それに、メモリの節約にもなると思います。
もちろん、プロセス内タスクというのは、結局は ITRON のタスクのことです。
追伸:πさん、nyさん、1Bのローカルメモリ最大サイズのリンク時指定の件、解説
有難うございます。1Bプログラマはどんぶり勘定で指定しているのかしら?
B−Freeでは、すべてのプロセスで等しくなりますね。