Re: libtools and 64bit OS
新城@筑波大学情報です。こんにちは。
In article <427A8965.E9264018@ht.sakura.ne.jp>
IIJIMA Hiromitsu <delmonta@ht.sakura.ne.jp> writes:
> > > 64bit 空間に、あらゆるmoduleを張り付けてやれば、原理的に
> > > dynamic loading は一回ですむよね。別に 32bit でもそういう
> > > 構成はありうるわけだけど。
> それだと、モジュール内部に保有している変数(static 変数)がバッティング
> します。コード部分だけモジュールの各インスタンスで共有するのであれば、
インスタンス変数は、fork() でコピーされるんでしょ。
昔の Linux みたいに、動的リンク・ライブラリを張り付ける位置
を固定してしまえばいいんじゃないか、固定しても、64ビットの
空間が平気だろう、という話かと。
動的リンク・ライブラリの番地が固定されても、fork() してプロ
セスが違えば、データ部分はコピーされます。今の仮想記憶の仕組
みでは、copy-on-write が普通なので、データ部分の書き換えなけ
れば物理的には共有するんでしょう。機械語部分は、Read-Only な
ので、自然にずっと共有。
> Windows 3.0 あたりですでに実用化されていたはず。
Windows 3.0 って、1990 年くらいでしたっけ。今から考えると、
Mach とかあった時代によくそんなしょぼいものを作って売ったよ
なあ。NeXT はあったわけだし。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735