2009-07-17 12 views
4

私は、GWT(APL)、MySQL(GPL)、Protege(MPL)などの異なるライセンスで公開されているライブラリを利用し、サーバ。私は彼らが同じ "共有アドレス空間"を使用しているかどうかを知りたいです。私はこの用語について - 「共有アドレス空間」についてはかなり混乱しています。誰かがその意味を説明できるなら、それは素晴らしいことだろう。ライセンスの問題について...共有アドレス空間とは何か

ありがとうございます。

+4

**これは、プログラミングやソフトウェア開発ではなく、ライセンスや法的な問題**のために、このトピックをオフトピックとして閉じるよう投票しています。詳細については[こちらをご覧ください](http://meta.stackoverflow.com/a/274964/1402846)、[help/on-topic]を参照してください。 –

答えて

2

GPLの文脈における「共有アドレス空間」は、「プロセス」の一般化を意味していました。たとえば、gplのプログラムまたはgplライブラリに基づくプログラムのpluginは、同じライセンス自体を持つ必要があります。

しかし、それは強く議論されています。例えばLunux Torvaldsの場合、never likedは、カーネルがGPLであるため、Linuxカーネルがバイナリのみのモジュールをサポートできないという考え方です。このseemingly changed in 2008でも、多くのLinuxカーネルモジュールは、カーネルアドレススペースを共有するという要件を満たしているにもかかわらず、部分的に所有権があります。 very fluid situationです。

2

ただし、最も広義には、プロセッサのクラスタ間で共有されるメモリ(最小クラスタサイズは1つのサーバ、つまり1つのサーバ)があります。そのようなものを参照するライセンスは、通常、クラスタまたは単一のCPU上で製品の1つのコピーを実行し、共有アドレス空間という用語を使用してこれを示すことができます。

ライセンスから長めの抽出を見ても、それ以上のことは言えません。

2

いいえマシン上の各プロセスは、それぞれ独自の「仮想アドレス空間」で動作します。マシンのメモリ容量に関係なく、各プロセスは32ビット(または64ビットなど)の仮想メモリに対応できます。このアドレス空間にマップされるのは、プロセス自体のコードであり、また共有ライブラリのコードです。単一の共有ライブラリは、任意の数のプロセスの仮想アドレス空間(したがって共有)にマップされます。

基本的にライブラリとリンクすると、同じアドレス空間に配置されます。別のプロセスを呼び出すか、単に同じサーバー上で実行している場合は、そうではありません。

+0

あなたのアイデアをありがとう – prashanta