平成17年度秋期 基本情報 問21−40 解答編





このページは

基本情報

(基本情報技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください


問21 メモリアクセスの信頼性を高めるための方式で、データ誤りの自動訂正が可能なものはどれか。
CRC
ECC
チェックサム
パリティ
解答
解説 代表的な誤り制御方式を下にまとめます。

奇数パリティ:1(あるいは0)の個数が奇数個になるように、1ビットを付加するもの
奇数パリティ:1(あるいは0)の個数が偶数個になるように、1ビットを付加するもの
水平パリティ:転送を2次元の配列とみなしたときに、水平方向へのパリティを付加するもの。垂直パリティと合わせて利用されることが多い。
チェックサム:送信データを数値に対応させ、その合計を計算し付加するもの。
ハミング符号:2ビットの誤り検出と、1ビットの誤り訂正機能を持つ
巡回冗長検査(CRC):送信列から生成多項式とよばれる式をつくり、受信側で計算式の余りが0かどうかを調べる。

ECC(Error Check and Correction):エラー検出訂正とは、誤りが発生したときに、検出し訂正を行う機能のことをいい、信頼性の高いメモリなどを実現するために利用されます。

問22 毎分6,000回転、平均位置決め時間20ミリ秒で、1トラック当たりの記憶容量20kバイトの磁気ディスク装置がある。1ブロック4kバイトのデータを1ブロック転送するのに要する平均アクセス時間は何ミリ秒か。ここで、磁気ディスクコントローラのオーバヘッドは無視できるものとし、1kバイト=1000バイトとする。
20
22
27
32
解答
解説 まず、主要な用語についてまとめます。
アクセス時間
→入出力の要求があってから、実際にデータが転送されて手元に来るまでの総時間
シーク時間(平均位置決め時間)
→磁気ヘッドをある位置から読み出すデータのあるトラックの位置までくるまでの時間。

サーチ時間(平均回転待ち時間)
→読み出すデータのトラックに移動した磁気ヘッドが読み出すデータの上にくるまでの時間です。
データ転送時間
→実際にデータを読み取って必要な場所に転送するまでの時間です。

これらを式にすると以下のようになります。
アクセス時間 = シーク時間 + サーチ時間 + データ転送時間

次に各時間の説明です。
サーチ時間は、半回転にかかる時間と等しいです。(1回転の期待値です。)よって、60×1000ミリ秒/6000回転=10ミリ秒。10/2=5ミリ秒 データ転送時間は、1回転のデータ/1回転にかかる時間と等しいです。よって、20k/10ミリ秒=2kバイト/ミリ秒(=2Mバイト/秒)。4kバイトを転送するのには、2ミリ秒かかります。

つまり、20+5+2=27ミリ秒かかります。

問23 表の仕様の磁気ディスク装置に、1レコードが500バイトのレコード50万件を順編成で記録したい。50レコードを1ブロックとして記録するときに必要なシリンダ数は幾つか。ここで、一つのブロックは複数のセクタにまたがってもよいが、最後のセクタで余った部分は利用できない。

画像(問23)を表示できません
960
977
980
1,000
解答
解説 問題を言い換えると、1ブロック25000バイトを1万ブロック記憶するということになります。次にブロックあたりのセクタ数を計算すると、25000/512=≒48.828=49セクタ必要になります。つまり、全体で490000セクタ必要となるので、490000/(25×20)=980となります。

問24 CD−Rのデータ記録方式として、適切なものはどれか。
磁化されているディスクの記憶膜にレーザ光を当てて熟し、磁気ヘッドで磁化の方向を変化させて記録する。
ディスクに塗布した磁性体の磁化の方向を、磁気ヘッドによって変化させて記録する。
ディスクをはり合わせた2層構造をもち、レーザ光で記録層を相変化させて記録する。
有機色素が塗られたディスクにレーザ光を当て、有機色素の層にピットと呼ばれる焦げ跡を作って記録する。
解答
解説 選択肢の記憶方式を持つ媒体を下にまとめます。

選択肢ア:MO
選択肢イ:HDD
選択肢ウ:DVD
選択肢エ:CD−R

実際に焦げ跡をつくってデータを書き込むことから、CD−Rにデータを入れることをCDを焼くといいます。

問25 レーザプリンタの性能を表す指標として、最も適切なものはどれか。
1インチ(2.54cm)当たりのドット数と1分間に印刷できるページ数
1文字を印字するのに使われる縦横のドット数と1秒間に印字できる文字数
印字する行の間隔と1秒間に印字できる行数
印字する文字の種類と1秒間に印字できる文字数
解答
解説 1インチ当たりに表示することができるドット数をdpi(Dot Per Inch)といい。これが多いほど細かくドットを表せるので、よりきれいに表示できるといえます。また、1分間(あるいは単位時間)に印刷することができる速さもプリンタのハードの性能を評価する上で重要な項目といえます。印字する行の間隔や印字する文字の種類はソフトウェアの方で指定できるため、性能指標とは言えないでしょう。

問26 プログラムを主記憶に読み込んでおき、CPUが順次読み出し実行する方法はどれか。
アドレス方式
仮想記憶方式
直接プログラム制御方式
プログラム記憶方式
解答
解説 コンピュータが始まったころは、配線を組み替えて実行したいプログラムを実現していました。その後OSやHDDなどの登場により、プログラムをHDDから主記憶にロードして使用するようになりました。これをプログラム記憶方式、またはストアドプログラム方式といいます。

問27 仮想記憶方式でページフォールトが発生したとき、主記憶に最も古くから存在するページを追い出すアルゴリズムはどれか。
FIFO(First-in First-out)
LFU(Least Frequently Used)
LIFO(Last-in First-out)
LRU(Least Recently Used)
解答
解説 ページ(ブロック)の置換えには幾つかのアルゴリズムがあります。下にまとめます。

LRU(Least Recently Used):最後に参照されてから最も時間が経過したものから順に置き換える
LFU(Least Frequently Used):最も使用頻度の低いものから順に置き換える
FIFO(First In First Out):最初に読んだものから順に置き換える
LIFO(Last-in First-out):最後に読んだものから順に置き換える

問28 五つのタスクA〜Eの優先度と、各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度“高”のタスクAとB〜Eのどのタスクを組み合わせれば、組み合わせたタスクが同時に実行を開始してから、両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。ここで、I/Oは競合せず、OSのオーバヘッドは無視できるものとする。また、表の( )内の数字は処理時間を示すものとする。
画像(問28ans)を表示できません
解答
解説 遊休時間が最小ではなく、ゼロという仮定があるのでそれを利用した高速な解法を考えます。

遊休時間がないということは、2つのタスクが同時にI/O処理にならないということです。(両方ともI/OになるとCPUに遊休時間が発生します。)これを踏まえて、どのようにCPUとI/Oが実行されていくかを以下にまとめます。

1.タスクAの1回目のCPU
2.優先度が低いタスクの1回目のCPUとタスクAの1回目のI/O
3.タスクAの2回目のCPUと優先度の低いタスクの1回目のI/O
4.優先度の低いタスクの2回目のCPUとタスクAの2回目のI/O
5.タスクAの3回目のCPUと優先度の低いタスクの2回目のI/O
6.優先度の低いタスクの3回目のCPU
CPUの時間<I/Oの時間が途中で発生するとI/O待ちとなります。よって常にCPU≧I/Oとなるように選べばよいということになります。

タスクB
1.タスクAのCPU→3
2.タスクBのCPU→2、タスクAのI/O→3
この時点でCPU<I/Oとなったので、遊休時間が発生する。

タスクC
1.タスクAのCPU→3
2.タスクCのCPU→3、タスクAのI/O→3
3.タスクAのCPU→3、タスクCのI/O→2
4.タスクCのCPU→2、タスクAのI/O→3
この時点でCPU<I/Oとなったので、遊休時間が発生する。

タスクD
1.タスクAのCPU→3
2.タスクDのCPU→3、タスクAのI/O→3
3.タスクAのCPU→3、タスクDのI/O→2
4.タスクDのCPU→3、タスクAのI/O→3
5.タスクAのCPU→2、タスクDのI/O→1
6.タスクDのCPU→4
すべてにおいて、CPU≧I/Oだったので遊休時間はない。

タスクE
1.タスクAのCPU→3
2.タスクEのCPU→3、タスクAのI/O→3
3.タスクAのCPU→3、タスクEのI/O→4
この時点でCPU<I/Oとなったので、遊休時間が発生する。


わからない場合は、以下のようにタスクAと他のタスクのCPU,I/Oの時間を表や図にして回答してもよいと思います。

画像(問28a)を表示できません

問29 各タスクがタスク間共有変数を更新するときに、タスク間の同期制御が行われないと思わぬ結果を招くことがある。タスク間共有変数xの初期値が3のとき、タスクAが代入文x = x + xを実行し、タスクBが代入文x = x × xを実行すると、最終的なxの値が12となるのは、どの順番で実行されたときか。ここで、各代入文はそれぞれ次の四つの部分に分けて処理される。

画像(問29)を表示できません
a1 → a2 → b1 → b2 → a3 → a4 → b3 → b4
a1 → b1 → b2 → b3 → b4 → a2 → a3 → a4
b1 → a1 → a2 → a3 → a4 → b2 → b3 → b4
b1 → b2 → b3 → a1 → a2 → a3 → b4 → b4
解答
解説 もちろん、全部の場合を検証してもよいのですが、論理的に高速な解法を考えます。x=3の初期値で1回の足し算と掛け算で12にするためには、(3×3)+3で12を作ることができます。よって、これが満たされるアルゴリズムをまとめると下のようになります。

@足し算の片方がロードされる
A掛け算の両方がロードされる
B掛け算が計算され、値を書き込む
C足し算の他方がロードされる
D足し算が計算され、値を書き込む

@とAは逆でも可

問30 OSの記憶管理機能a〜cに対応する適切な用語の組合せはどれか。

画像(問30)を表示できません
画像(問30ans)を表示できません
解答
解説 用語は問題文にあるとおりですが、まとめると下のようになります。

オーバレイ:大きな容量のプログラムを主記憶上で使うための入れ替えの仕組みのこと、
ページング:仮想記憶において、メインメモリへのデータの出し入れをすること。
スワッピング:仮想記憶方式におけるデータの入れ替え(スワップインとスワップアウト)を表す用語

問31 OSが提供する機能を最小限のメモリ管理やプロセス管理などに限定し、ファイルシステムなどの他のOS機能はサーバプロセスとして実現されているものはどれか。
シングルユーザモード
マイクロカーネル
マルチスレッド
モノリシックカーネル
解答
解説 まず、OSに最小限の機能しか搭載せず、小型化したものをマイクロカーネルといいます。逆にさまざまな機能を搭載したものをモノリシックカーネルといいます。シングルユーザモードは、システムのメンテナンスや異常回復などをするために、rootのみのログインが可能なモードのことで、基本的にCUI環境です。マルチスレッドはスレッドという細かい単位にプロセスを分割して並列的に処理を行うことをいいます。

問32 クライアントサーバ方式の説明として、最も適切なものはどれか。
パソコンとワークステーションをLANで接続したシステムの構成方式の総称であり、パソコンをクライアント、ワークステーションをサーバと呼ぶ。
プロセス間通信機能を利用し、一連の処理を、サービスを受けるプロセスと、そのサービスを提供するプロセスとに分離したものである。
ホストコンピュータの一部の機能と処理対象のデータファイルを端末に分散することによって、負荷の分散を図ることを主目的としたものである。
ホストコンピュータの代わりに配した複数のワークステーションと端末を接続し、負荷の水平分散を図ることを主目的としたものである。
解答
解説 クライアントサーバ方式(CSSやC/Sと書く場合もあります)は、処理を受けるものと処理を提供するものに分けることで、作業効率を向上させる目的があります。

選択肢ウは、水平負荷分散の説明です。
選択肢エは、垂直負荷分散の説明です。

問33 コンピュータシステムの性能評価に関する記述のうち、適切なものはどれか。
CPU性能を測定するベンチマークプログラムは多くの応用範囲をカバーしているので、コンピュータ導入からシステム増強計画に至るまでの性能予測に利用できる。
運用中のシステムでは、ソフトウェアモニタを用いて統計データを収集し、分析することによって、性能上の問題点を把握することができる。
コンピュータシステムの資源増強を計画する場合、負荷予測に基づくプロトタイピングモデルによって、システム全体を運用した場合の性能が確認できる。
システムが実際に稼動していない段階で、ハードウェアモニタによる模擬実験によって、コンピュータシステムの性能を予測できる。
解答
解説 システムの性能評価は、実際に稼動しているデータを統計的に調べ、分析します。ベンチマークや、負荷予測によるプロトタイピングでは性能を把握しきれないといえます。また、ハードウェアモニタでは、システムの予測は難しいと考えられます。

問34 仮想記憶機能を持つパソコンで表計算ソフトを使用中にワープロソフトを起動しようとしたところ、メモリ不足が原因で起動できなかった。根本的な解決策はメモリの増設であるが、それまでの対応として、有効な手段はどれか。
仮想記憶の大きさの規定値を増やす。
磁気ディスク上の不要なファイルを消去する。
接続していある周辺装置を外す。
ワークシート中の未使用の列は、表示しないようにする。
解答
解説 仮想記憶とは、HDDの一部を主記憶の一部のようにして大きな容量の主記憶があるように見せかける技術です。仮想記憶は、見かけ上の主記憶の容量を増やせるという利点がある反面、実際はHDDを使っているので処理速度は低下するというデメリットがあります。

問35 システムの稼動モデルが図のように表されるとき、システムのMTBFとMTTRを表した式はどれか。ここで、riはシステムの稼働時間、riはシステムの修理時間を表すものとする(i = 1, 2, ・・・, n)

画像(問35)を表示できません
画像(問35ans)を表示できません
解答
解説 2つの用語をまとめます。
MTBF(Mean Time Between Failure)は平均故障間隔で故障と故障の間の動作していた時間。
MTTR(Mean Time To Repair)は平均故障時間で、実際に故障していた時間。

つまり、MTBFは、稼動していた時間(=故障と故障の間隔)の平均。MTTRは、故障していた時間の平均となります。

なお、MTBFとMTTRは交互に現れ、MTBF+MTTR=稼働していた時間+故障していた時間=全体の時間となります。

問36 あるコンピュータ上で、異なる命令形式を持つ別のコンピュータで実行できる目的プログラムを生成する言語処理プログラムはどれか。
エミュレータ
クロスコンパイラ
最適化コンパイラ
ジェネレータ
解答
解説 コンパイラは、プログラミング言語を機械語(実行可能ファイル)に変換(コンパイル)するプログラムですが、そのコンピュータ上ではなく別の実行環境で動作するように変換するものをクロスコンパイラといいます。最適化コンパイラは、プログラム言語で冗長なものを実行速度や、メモリ容量などが少なくなるようにコンパイルするものです。

エミュレータは、ほかのコンピュータの機能をソフトウェアで仮想的に再現するソフトウェアをいいます。ジェネレータは、擬似乱数発生関数のような特殊なサブルーチンをいいます。

問37 デバッグツールとして用いるトレーサの説明として、適切なものはどれか。
磁気テープファイルや磁気ディスクファイルなどの内容を出力する。
プログラムの実行中にエラーが発生したときに、メモリの内容を出力する。
プログラムの特定の命令を実行するごとに、指定されたメモリの内容を出力する。
プログラムの命令の実行順序、実行結果などの履歴情報を出力する。
解答
解説 選択肢のデバッグツールを下にまとめます。

選択肢ア:ファイルダンプ
選択肢イ:メモリダンプ
選択肢ウ:スナップショット
選択肢エ:トレーサ

ほかにも、エミュレータやインスペクタなどもデバッグツールとしてあります。

問38 UML(Unified Modeling Language)が定義する図のうち、オブジェクト間の相互作用を表現するためのものはどれか。
オブジェクト図
クラス図
コンポーネント図
シーケンス図
解答
解説 UML(Unified Modeling Language)は統一モデリング言語とよばれ、オブジェクトモデルを表すのに用いられるものです。4つの図を以下にまとめます。

オブジェクト図:クラス間の継承関係などを記述するもの。
クラス図:クラス間の静的な構造図を表すのに使われ、クラス名、変数、メソッドを記述するもの。
コンポーネント図:コンポーネント(構成要素)の内容とその間のインタフェースを記述するもの。
シーケンス図:オブジェクト間のデータのやり取りを記述するもの。


ほかにも、以下のようなものが代表的なUMLがあります。
ステートチャート図:オブジェクトが生成された、動作し、消滅するまでを記述するもの。
ユースケース図:アクタ(利用者)とアクタの操作(ユースケース)を記述するもの。

問39 オブジェクト指向の基本概念の組合せとして、適切なものはどれか。
仮想化、構造化、投影、クラス
具体化、構造化、連続、クラス
正規化、カプセル化、分割、クラス
抽象化、カプセル化、継承、クラス
解答
解説 オブジェクト指向の概念について下にまとめます。

クラス:データとメソッドを1つにまとめたもの
メソッド:オブジェクトがもっている手続のこと
カプセル化:データにメソッドを通じてのみアクセスできること
インスタンス:型であるクラスに実際の値を入れて、具現化すること
抽象化:共通の性質をまとめて定義したもの、一般的にスーパークラスとして定義される。
継承:スーパークラスを取り込むこと。(例:人間クラスを継承して学生クラスを作る)
多態性:同じメッセージに対して別の振る舞いをすること(例『鳴く』というメッセージに対して、『ワンワン・ニャーニャー』など別の振る舞いをする)

問40 プロセス中心設計と比較したとき、データ中心設計の特徴として、適切なものはどれか。
業務のモデリングに先だって、データモデリングを行う。
業務プロセスに合わせたデータ構造が作成できる。
データを共有資源と見なし、一元的に管理できる。
特定の業務に関する短時間のシステム化に有効である。
解答
解説 データ中心設計(データ中心アプローチ)は個々のデータをデータベースとして共有化することで一元管理をすることが可能です。

選択肢イがプロセス中心設計の説明です。