匿名質問者

共有ライブラリの動作について質問です。

一般的に共有ライブラリというものは演算とシステムコールによってシステムに影響を及ぼさない範囲で作られている物でしょうか。
具体的に言ったら、勝手にシステムの設定を書き換えたり、変なところに設定ファイルを作ったり、などです。要は衝突しないような規定が一般的にあるかどうかということです。
OSはLinuxとwindowsを想定しています。windowsのサードパーティプログラムであれば、なにか行儀の悪い動作をするかもしれませんが、Linuxの著名なディストリであればそのような動作をすることはないのではないかと思いました。そのような動作についての明確なポリシーなどが表明されてればいいのですが。
このあたりの事情について詳しい方いましたら回答をお願いできないでしょうか。

回答の条件
  • 1人30回まで
  • 登録:
  • 終了:2014/11/06 18:50:03

回答1件)

匿名回答1号 No.1

共有ライブラリとは、普通*.so、*.dylib、*.dllなど実行時にリンクされるライブラリを指すと思いますが、システムの設定を書き換えたり、任意の場所にファイルを作ることも、最近のOSでは共有ライブラリ経由で行いますから、そういうことが出来ない、ということはありません。共有リソースへのアクセスは適切な排他制御が必要ですが、それはライブラリが共有かどうかとは関係ありません。扱うリソースごとにポリシーがあるでしょう。

共有ライブラリに求められることは、実行時に異なるアドレスに配置されても動作すること(position independent code、ジャンプ先アドレスやグローバルデータの参照を絶対アドレスで行っていないこと)、および自己書き換えを行わないことです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません