- トップページ
- 応用情報技術者
- 平成28年度春季問題
- 平成28年度春季解答・解説
平成28年度春季解答
問題16
フェールセーフの考え方として、適切なものはどれか。
ア | システムに障害が発生したときでも、常に安全側にシステムを制御する。 |
イ | システムの機能に異常が発生したときに、すぐにシステムを停止しないで機能を縮退させて運用を継続する。 |
ウ | システムを構成する要素のうち、信頼性に大きく影響するものを複数備えることによって、システムの信頼性を高める。 |
エ | 不特定多数の人が操作しても、誤動作が起こりにくいように設計する。 |
解答:ア
<解説>
フェールセーフとは、故障や操作ミス、設計上の不具合などの障害が発生することをあらかじめ想定し、起きた際の被害を最小限にとどめるような工夫をしておくという設計思想のことである。
【例】交通管制システムが故障したときには、信号機に赤色が点灯するようにする。
ア | ○ | フェールセーフの説明である。 |
イ | × | フェールソフトの説明である。 |
ウ | × | フォールトトレラントの説明である。 |
エ | × | フールプルーフの説明である。 |
問題17
ページング方式の仮想記憶において、あるプログラムを実行したとき、1回のページフォールトの平均処理時間は30ミリ秒であった。ページフォールト発生時の処理時間が次の条件であったとすると、ページアウトを伴わないページインだけの処理の割合は幾らか。
[ページフォールト発生時の処理]
|
ア | 0.25 |
イ | 0.33 |
ウ | 0.67 |
エ | 0.75 |
解答:エ
<解説>
解説省略
問題18
仮想記憶方式に関する記述のうち、適切なものはどれか。
ア | LRUアルゴリズムは、使用後の経過時間が最長のページを置換対象とするページ置換アルゴリズムである。 |
イ | アドレス変換をインデックス方式で行う場合は、主記憶に依存する全ページ分のページテーブルが必要になる。 |
ウ | ページフォールトが発生した場合は、ガーベジコレクションが必要である。 |
エ | ページングが繰り返されるうちに多数の小さな空きメモリ領域が発生することを、フラグメンテーションという。 |
解答:ア
<解説>
ア | ○ | LRU(Least Recently Used)アルゴリズムとは、キャッシュアルゴリズムなどで用いられる、置換対象のデータを定める方式のうち、参照されていない時間が最も長いデータを置換対象にする方式のことである。 |
イ | × | インデックス方式は、命令実行時に参照するメモリの指定方式である。仮想記憶方式とは関係がない。 |
ウ | × | ページフォールトが発生した場合は、ページイン・ページアウトが行われる。 |
エ | × | ページサイズは決まっているので、ページングを繰り返してもフラグメンテーション(メモリ使用領域の断片化)は起きない。 |
問題19
ノンプリエンプティブだけのスケジューリング方式はどれか。
ア | 残余処理時間順 |
イ | 到着順 |
ウ | 優先度順 |
エ | ラウンドロビン |
解答:イ
<解説>
プロセッサは常に1つのプログラムしか実行できないため,マルチタスクでは,複数のプログラムを切り替えて実行しなければならない。このプログラムの切り替え方式には,「プリエンプティブ方式」と「ノンプリエンプティブ方式」がある。
- プリエンプティブ方式
- OSがプロセッサの実行権限を管理し,プロセスの実行を切り替える方式である。現在のOSは,プリエンプティブ方式が主流だ。
- ノンプリエンプティブ方式
- プロセスの切り替えをプログラム自身に任せる方式である。ただし,ノンプリエンプティブ方式では,あるプログラムがプロセッサを長時間占有することも可能で,この場合はシングルタスクと同じになってしまう。昔のMac OSやWindows 3.1は,ノンプリエンプティブ方式である。
ア | × | 残余処理時間順にタスクを実行するには、OSによるタスクの残余時間管理が必要である。 |
イ | ○ | 到着順にタスクを実行し、タスクが終了したら次のタスクを実行してノンプリエンプティブなスケジューリングが可能となる。 |
ウ | × | 優先度順にタスクを実行するには、OSによるタスクの優先度管理が必要である。 |
エ | × | ラウンドロビンでは、OSによるタスクの待ち行列管理が必要である。 |
問題20
メインプログラムを実行した後、メインプログラムの変数X 、Y の値はいくつになるか。 ここで、仮引数X は値呼出し(call by value)、仮引数Y は参照呼出し(call by reference)であるとする。
解答:イ
<解説>
- 値呼び出し
- プログラム中で関数やサブルーチンなどに引数を渡す時に、その値のみを渡す方式である。
- 参照呼び出し
- プログラム中で関数やサブルーチンなどに引数を渡す時に、変数への参照(メモリ中のアドレスなど)を渡す方式である。
メインプログラムではX=2,Y=2として手続きaddを呼び出しているので、
X=X+Y→X=2+2=4
X=X+Y→Y=4+2=6
となる。
ただし、Xは値呼び出しのため、メインプログラムのXの値は2のままである。Yは参照呼出しのため、値がとなる。
したがって、イが正解である。
お問い合わせ