再開のその時まで、牙を研ぐ
情報処理技術者試験の高度区分 午前1 平成31年
春午前1問題(全30問)を解いていきます。
※高度区分の試験では午前1が共通の問題で行われま
す。(免除の方は受験しなくていいです)難易度は応
用情報レベルと言われていますが、油断すると落とす
くらい難しいですよ。
問題の解き方や考え方をわかりやすく、解説してみる
連載です。
※問題の引用についてはIPAのルールを遵守しています。
問4
スーパスカラの説明として、適切なものはどれか。
ア 一つのチップ内に複数のプロセッサコアを実装し、
複数のスレッドを並列に実行する。
イ 一つのプロセッサコアで複数のスレッドを切り替
えて並列に実行する。
ウ 一つの命令で、複数の異なるデータに対する演算
を、複数の演算器を用いて並列に実行する。
エ 並列実行可能な複数の命令を、複数の演算器に振
り分けることによって並列に実行する。
問5
あるクライアントサーバシステムにおいて、クライア
ントから要求された1件の検索を処理するために、
サーバで平均100万命令が実行される。1件の検索
につき、ネットワーク内で転送されるデータは平均
2×10^5バイトである。このサーバの性能は100
MIPSであり、ネットワークの転送速度は 8×1
0^7ビット/秒である。このシステムにおいて、1秒
間に処理できる検索要求は何件か。ここで、処理でき
る件数は、サーバとネットワークの処理能力だけで決
まるものとする。また、1バイトは8ビットとする。
ア 50
イ 100
ウ 200
エ 400
問6
二つのタスクが共用する二つの資源を排他的に使用す
るとき、デッドロックが発生するおそれがある。この
デッドロックの発生を防ぐ方法はどれか。
ア 一方のタスクの優先度を高くする。
イ 資源獲得の順序を両方のタスクで同じにする。
ウ 資源獲得の順序を両方のタスクで逆にする。
エ 両方のタスクの優先度を同じにする。
(解答と解説)
問4
ア 一つのチップ内に複数のプロセッサコアを実装し、
複数のスレッドを並列に実行する。
マルチコアじゃ?
イ 一つのプロセッサコアで複数のスレッドを切り替
えて並列に実行する。
タスクですね。
ウ 一つの命令で、複数の異なるデータに対する演算
を、複数の演算器を用いて並列に実行する。
MIMDです
エ 並列実行可能な複数の命令を、複数の演算器に振
り分けることによって並列に実行する。
問5
あるクライアントサーバシステムにおいて、クライア
ントから要求された1される。1件の検索
につき、ネットワーク内でである。この
サーバの性能は100MIPS
=100万命令毎秒のこと
1件の検索を処理するために、
サーバで平均100万命令が実行
なので、多分1秒間に100件処理できると。
転送速度は 8×10^7ビット/秒 つまり
=10^7バイト/秒の転送速度。
転送されるデータは平均
2×10^5バイト
よって、
10^7 / 2*10^5=10^2/2=50
100件処理できるけど、50件しか送られてこな
い
ア 50
問6
デッドロックとは、片方のタスクが資源を離さず
ニッチもサッチも行かなくなる状態です。
なので、資源を獲得する順序をきちんと決めてあ
げると、デッドロックは起きにくくなります。
ア 一方のタスクの優先度を高くする。
優先度はデッドロックに関係ないんです。
イ 資源獲得の順序を両方のタスクで同じにする。
正解です。
ウ 資源獲得の順序を両方のタスクで逆にする。
デッドロック発生しやすくなります。
エ 両方のタスクの優先度を同じにする。
優先度は関係無いですう