平成21年度 秋期 午前 問7
ソフトウェア
共有ライブラリの特徴
Linux システムにおいて,静的ライブラリと比較した場合の共有ライブラリの特徴はどれか。
- ア実行可能ファイルのサイズが大きくなる。
- イ実行時のメモリの使用効率が良い。
- ウライブラリの修正後,それを利用するプログラムの再コンパイルが必要である。
- エリンク時のオーバヘッドが小さい。
答えと解説を見る
✓ これが正解イ実行時のメモリの使用効率が良い。
解説
同じ実体を複数のプロセスで分け合うので、メモリが節約できます。
共有ライブラリは、プログラムの中に取り込んでしまうのではなく、実行するときに結び付けて使う形のライブラリです。この形をとると、同じライブラリを使うプログラムがいくつ動いていても、主記憶に載る実体は一つで足ります。各プロセスは、その一つを分け合って参照します。これに対して静的ライブラリは、プログラムを組み立てる段階で中身がそのまま埋め込まれるため、動いているプログラムの数だけ同じ内容が主記憶に重複して載ります。したがって、実行しているあいだのメモリの使われ方を比べると、分け合える形のほうが無駄が少なくなります。もう一つの利点として、ライブラリを新しいものに入れ替えれば、それを使う側を組み立て直さなくても差し替えが効きます。
ほかの選択肢はなぜ違うのか
- ア実行可能ファイルのサイズが大きくなる。:実行可能ファイルのサイズが大きくなると述べています。中身を埋め込まずに外へ置く形なので出来上がりはむしろ小さくなり、これは埋め込む形のライブラリに当てはまる特徴です。
- ウライブラリの修正後,それを利用するプログ…:ライブラリを直したあと、それを利用するプログラムの再コンパイルが必要だと述べています。外に置いたものを差し替えるだけで済むのが利点であり、作り直しが必要なのは埋め込む形のほうです。
- エリンク時のオーバヘッドが小さい。:リンク時のオーバヘッドが小さいと述べています。結び付ける手間は実行のたびに掛かる形へ移るので、その負担は消えてなくなるわけではなく、埋め込む形より小さいとは言えません。
出典:平成21年度 秋期 応用情報技術者試験 午前 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)