[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