[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1281] Re: Memory Protection
Hideaki Suzukiさん、こんにちは。リギーコーポレーションの片桐です。
|実行時の処理というのは、どういう風になっているんでしょう。
|Process Manger が、File Manager を使ったり、Memory Manager を使ったりす
|るのでしょうか?
|で、code 用の memory は Process Manager が管理しているんでしょうか?
|それだったら、実装の面から見ても、code を SMB にするのは適当ですね。
〜略〜
|> h1suzuki> > UNIXでもセグメントの概念は使われています。コードセグメント、データセグ
|> h1suzuki> > メント、スタックセグメントという分類でですけど。それでコードセグメント
|> h1suzuki> > はプロセス間で共有できるように書き込み禁止とかするわけです。最終的には
|> h1suzuki> > セグメントをリニアアドレスに割り付けるわけですけど。
割り込みですみません。ちょっと思い出したもので。
以前にMindをOS/2に乗せた時(インタプリタ方式にした時)から気になっている
ことがあります。
既存のOSでは「コード」「データ」といった概念があり、これはCPUネイティブ
なコード(?)を走らせることが前提になっていますね。
一方でインタプリタを使う時には、「OSが言うところのコードではないの
だが、性質としてはコード」・・いわゆる「中間コード」の概念が出て
来ます。
これはOSの言うところのコードでないため、細かいところでいくつか制約
が出ることがありました。
OS/2の場合ですと、本来なら破棄・再ロードというメモリ属性にするとこ
ろなのにスワップ対象になってしまい、もったいないと思いました。
BTRONが勉強不足で分かっておらず申し訳ないのですが、もし似たような
事情だとしたら何か対応がされると良いのですがね。
ただ、Javaのように、中間コードがダイナミックに生成される(ネットワーク
から到着?)ものでは扱いが複雑かも知れません。
では。
片桐 明 (株)リギーコーポレーション
killy@rigy.co.jp
NIFTY: PAG01434