植物 植物
午前対策:平成8年春期 午前 問51〜問60

AOBA's Information Processing Education



1999/02/06

注意1:このページは、回線を切断した後でゆっくりご覧になってください(テキストを印刷する場合は、その取り扱いに注意してください)。

注意2:背景が白地の画面を長時間見つめていると頭が痛くなってしまいますので、ここは背景をグレーにしています。


「平成8年春期 第2種 午前」

問51 ハードウェアの故障率が、時間の経過とともにどう変化するかを表すグラフとして、最も適切なものはどれか。ただし、横軸を経過時間(t),縦軸を故障率(r)とする。

図1

問52 図のように、コンピュータA,B及び2台のプリンタがLANで接続されているシステムがある。コンピュータBから印刷命令を出し、コンピュータA上にあるデータをプリンタ1に印刷し、プリンタ1が故障しているときは、プリンタ2に印刷するように制御する場合、このシステム全体の稼働率は幾らか(小数点以下3けた目を四捨五入し、小数点以下2けたまで求める)。
 ここで、それぞれの機器の稼働率は次のとおりとし、LANの故障は発生しないものとする。

  コンピュータA  0.9
  コンピュータB  0.9
  プリンタ1    0.8
  プリンタ2    0.8

図2

ア 0.52    イ 0.63    ウ 0.71    エ 0.78    オ 0.85

問53 図のような並列システムにおいて、各サブシステムの稼働率が70%のとき、システム全体の稼働率を99%以上にするためには、最低何個のサブシステムを並列に構成する必要があるか。

図3

ア 2    イ 3    ウ 4    エ 5    オ 6

問54 2MIPSのパーソナルコンピュータがある。このパーソナルコンピュータに搭載しているオペレーティングシステムのオーバーヘッドが30%のとき、500万個の命令を実行するプログラムの実行に要する時間は、約何秒か。

ア 0.75    イ 1.75    ウ 2.50    エ 3.57    オ 8.33

問55 A及びBの二つのプログラムがあり、それぞれ単体で実行したときの処理装置(CPU),入出力装置(I/O)の占有時間は、図のとおりである。
 プログラムA,Bを1台のCPUのもとで起動したとき、プログラムBが最短で終了するのは起動の何ミリ秒後となるか。ここで、プログラム等の実行条件は次のとおりとする。

(1) プログラムの実行優先度はAのほうがBより高い。
(2) プログラムA,Bは同一の入出力装置を使用する。
(3) CPU処理を実行中のプログラムは、入出力処理を行うまでは実行を中断されない。
(4) 入出力装置も入出力処理が終了するまで実行を中断されない。
(5) CPU処理の切替え(タスクスイッチ)に必要な時間は無視できる。

図4

ア 100    イ 120    ウ 140    エ 160    オ 180

問56 図に示すように、2セットのシステムで構成され、一方はオンライン系としてオンライン処理を行い、もう一方は待機系として故障に備えている。通常、待機系はバッチ処理を行っている。このようなシステム構成を何と呼ぶか。

図5

ア アレイコンピュータシステム    イ シンプレックスシステム
ウ デュアルシステム    エ デュプレックスシステム
オ パラレルプロセッサシステム

問57 システムの構成要素に冗長性を導入し、構成要素の故障があってもシステム全体としては正しく動作する状態に保つことを何というか。

ア オープン    イ シンプレックス    ウ フェールセーフ
エ フォールトトレラント    オ マルチベンダ

問58 図は、150円入れるとジュースが出てくる自動販売機の状態遷移図を示したものである。ここで、図中のX/Yは入力(X)と出力(Y)を表している。例えば、100/ジュース+50は、100円入れるとジュースとお釣りの50円が出てくることを表す。ただし、*は何も出力されないことを表す。
 図中の(   )に入れるべき最も適切な語句はどれか。入力される硬貨は、100円と50円だけとする。

図6

ア 50/*    イ 50/ジュース    ウ 100/*
エ 100/ジュース    オ 100/ジュース+50

問59 ソフトウェア開発手法の一つであるプロトタイピングの特徴を記述しているものはどれか。

ア 基本設計,外部設計,内部設計,プログラム設計,プログラミング,テストの順に進めて行くため、全体を見通すことができ、スケジュールの決定や資源配分が容易にできる。
イ システム開発の早い段階で試作品を作成するため、利用部門と開発部門との認識のずれやあいまいさを取り除くことができる。
ウ ソフトウェアの開発における作業の分割とその管理を通常の契約関係とし、開発過程を管理する。
エ ソフトウェアの性質を仕様が固定的で変更にないものと、仕様の変更があるものとに分類し、仕様の変更があるものについて作成・見直し・変更のプロセスを繰り返す。
オ 大規模アプリケーションを独立性の高い部分に分解し、その部分ごとに設計,プログラミング,テストの工程を繰り返し、除々にその開発範囲を広げて行く。

問60 既存のプログラムやファイルを解析して仕様書を作成し、これを参考として同等の機能をもったプログラムやファイルを作成する開発手法はどれか。

ア フォワードエンジニアリング    イ リエントラントプログラム
ウ リカバリ    エ リバースエンジニアリング
オ リユーステクノロジ


解説

問51について
 正解はウです。ウのようなグラフの曲線をバスタブ曲線といいます。
 なお、初期の故障を初期故障、中間に発生する(といってもあまり発生しませんが)故障を偶発故障、最後(ハードウェアの寿命)になって発生する故障を磨耗故障といいます。

問52について
 コンピュータA,コンピュータB,プリンタ1およびプリンタ2の関係を正しく把握できるかどうかが、正解/不正解の分かれ目でしょう。
 まず、「コンピュータBから印刷指示を出し、コンピュータA上にあるデータを...」とありますので、(最終的にプリンタに出力するためには)コンピュータBとコンピュータAはともに動作していなければなりません。つまり、コンピュータBとコンピュータAは直列に構成されているのと同じです。
 次に、「...プリンタ1が故障しているときは、プリンタ2に印刷する...」とありますので、プリンタ1かプリンタ2のいずれかが動作していればOKです。だから、プリンタ1とプリンタ2は並列に構成されているのと同じです。
 以上を総合して、問題のシステムは以下の図に示す構成と考えることができます。

図7

 ここまで分かれば、後は単純に計算するだけです(以前にも解説しましたので、計算式だけ)。
プリンタ部分の稼働率=1−((1−0.8)*(1−0.8))=0.96
全体の稼働率=コンピュータBの稼働率*コンピュータAの稼働率*プリンタ部分の稼働率
      =0.9*0.9*0.96=0.7776

問53について
並列システムの稼働率=1−すべてのサブシステムが同時に故障する確率
です。ということで、

サブシステム1個の場合の稼働率=1−(1−0.7)1=0.7
サブシステム2個の場合の稼働率=1−(1−0.7)2=0.91
サブシステム3個の場合の稼働率=1−(1−0.7)3=0.973
サブシステム4個の場合の稼働率=1−(1−0.7)4=0.9919

なので、求める答えは4です。

(注意)
 上記の式は、並列に構成されるサブシステムのうち、どれか1台が動作していれば全体として動作するシステムの稼働率の求め方です。複数台が動作しなければならない場合の稼働率の求め方については、「平成10年度秋期直前対策講座」の第13回を参照してください。「平成9年度秋期直前対策講座」の第6回も関係あるよ。

問54について
 2MIPSは、1秒間に200万個の命令を実行することを意味します。
 ただし問題の条件として30%の(OSの)オーバーヘッドがありますので、アプリケーションプログラムは、1秒間に200万個の命令は実行できません。アプリケーションプログラムが1秒間に実行する命令は、140万個(200万*0.7)です。
 ということで、アプリケーションプログラムが500万個の命令を実行するのに要する時間は、500万/140万≒3.57秒となります。

問55について
 以下にタイムチャートを示します。

図8

「平成10年度秋期直前対策講座」の第8回も参照してください。

問56について
 正解はデュプレックスシステムです。
 「第7回 平成6年秋期 午前 問67」を参照してください。

問57について
 おそらく正解は、エのフォールトトレラントでしょう(???)。
 フォールトトレラント(耐故障)とは、システムの構成要素の故障が、システム全体に与える影響を最小限に抑えることです。その技術の応用例として、デュプレックスシステムやデュアルシステムなどがあります。
 ただ、確かにデュプレックスシステムやデュアルシステムはシステムの構成要素に冗長性を導入したものですが、フォールトトレラント技術すべてが冗長性を導入する訳ではありません。
 例えば、...(問題からだんだん離れて行くので省略)。
 ここでは、次の点を覚えておいてください。

(1)システムの高信頼化技術には、フォールトアボイダンス(故障排除)技術とフォールトトレラント技術がある。
(2)フォールトアボイダンス技術は、故障そのものを少なく抑える技術である。
(3)フォールトトレラント技術は、故障が発生した時でも、システムに与える影響を少なく抑える技術である。

オープン(システム)
 異なるメーカや異なる機種のコンピュータを相互接続したシステムのこと。
シンプレックス(システム)
 CPU1台に周辺装置を最小限で接続したシステムのこと。
フェールセーフ...これが正解かも
 フォールトトレラント技術の一部。システムを常に定められた安全状態に保つこと。特に人命への影響を阻止する時に用いられる。なお、これに似た用語にフェールソフトがある。フェールソフトは、すべての機能や性能の維持が困難なときに、部分的に動作を継続することを指す。
マルチベンダ(システム)
 複数の企業からサブシステムなどの提供を受け(購入して)、それを統合して構成したシステムのこと。

問58について
 S0は初期状態、S1は50円を入れた状態、S2は100円を入れた状態です。
 S1の50円を入れた状態からS2の100円を入れた状態に遷移するには、50円を入れればよいでしょう。もちろん、そのときは何も出ません。
 ということで、求める答えは”50/*”です。

問59について
正解はイです。
 (以前にも同じことを言ったような気もしますが)システム開発の初期段階(要求定義)段階で、ユーザの要求を目に見える形で確認するために、試作品を作成しながら開発する手法を、プロトタイピングといいます。
 プロトタイピングをおこなうことによって、開発初期の段階でシステムの誤りが早期に発見できるとともに、要求仕様の食い違いを抑えることや、ユーザにシステム開発の参画意識を持たせる効果がある、といわれています。

問60について
 問題の文章はちょっと微妙です。
 厳密には、下流工程の生産物からさかのぼって上流工程の生産物を作成する技術または手法を、リバースエンジニアリングといいます(本問題文における「既存のプログラムやファイルを解析して仕様書を作成し」にあたる)。
 それに対し一般の開発手法つまり、上流工程の生産物から下流工程の生産物を作成する技術または手法を、フォワードエンジニアリングといいます(本問題文における「これを参考として同等の機能を持ったプログラムやファイルを作成する」にあたる)。
 そんでもって問題文全体のように、リバースエンジニアリングを行った後に、その生産物を元にフォワードエンジニアリングを行う技術または手法は、リエンジニアリングというのですが、解答群の中に”リエンジニアリング”の選択肢がありません。
 これ以上くどくど説明しませんが、結局、正解はリバースエンジニアリングです。


解答

問51 ウ    問52 エ    問53 ウ    問54 エ    問55 エ
問56 エ    問57 エ    問58 ア    問59 イ    問60 エ