応用情報技術者 科目A 想定問題集
コンピュータシステムの要点整理と想定問題
公式のシラバスの「大分類 2: コンピュータシステム(中分類 3〜6)」にあたる分野です。まず要点整理で全体をつかみ、下の演習で 52 問を 1 問ずつ解けます。答えると A〜D すべての解説が出ます。
この分野の小項目
- 3.1 プロセッサ(7 問) コンピュータの種類と構成、プロセッサの種類・アーキテクチャ・動作原理、性能を表す指標、高速化技術(パイプラインなど)と高信頼化技術、並列処理・マルチプロセッサを修得し、応用する。
- 3.2 メモリ(6 問) メモリの種類と特徴、主記憶装置の構成、メモリシステムの構成と記憶階層(キャッシュなど)、アクセス方式、容量と性能、記録媒体の種類と特徴を修得し、応用する。
- 3.3〜3.5 バス・入出力デバイス・入出力装置(6 問) バスの種類・制御方式・標準規格、入出力インタフェースの種類と特徴、デバイスドライバの役割、代表的な入出力装置と補助記憶装置の種類・特徴・仕組み・用途を修得し、応用する。
- 4.1 システムの構成と信頼性設計(7 問) システムの処理形態・利用形態・適用領域、代表的なシステム構成と機能配分、クライアントサーバシステム、Web システム、ストレージ、信頼性設計の考え方と技術を修得し、応用する。
- 4.2 システムの評価指標(7 問) システムの性能、信頼性、経済性を測るための考え方と評価指標(稼働率など)、それらを高める設計の考え方を修得し、応用する。
- 5.1 オペレーティングシステム(7 問) OS の種類・特徴・機能・構成と、ジョブ管理、タスク管理、記憶管理などの代表的な機能、プログラムの形態と性質を修得し、応用する。
- 5.2〜5.5 ミドルウェア・ファイルシステム・開発ツール・OSS(6 問) 代表的なミドルウェアの役割と機能、ファイルシステムとファイル編成・アクセス手法・バックアップ、開発ツール・言語処理ツールの種類と特徴、オープンソースソフトウェアの種類・特徴・利用上の考慮点を修得し、応用する。
- 6.1 ハードウェア(6 問) 電気・電子回路、機械・制御、構成部品と実装、論理設計の留意事項、組込み機器の開発における消費電力の重要性と関連技術を修得し、応用する。
要点整理
プロセッサ
プロセッサ:性能の計算と高速化の方式を区別する
性能の計算ではCPI(1 命令あたりのクロック数)とMIPS(1 秒あたりの百万命令数)を使います。命令の種類ごとに CPI が違うときは、出現割合で重み付けした平均 CPI を出し、クロック周波数をそれで割ります。たとえば 2 GHz で平均 CPI が 2.4 なら、2,000 ÷ 2.4 ≒ 833 MIPS です。
パイプラインは命令の実行を段に分け、ずらして重ねる方式です。k 段で n 個の命令を流すと、乱れがなければ k +(n − 1)クロックで終わります。分岐で流れが乱れるなどのパイプラインハザードには、データ・構造・制御の 3 種類があります。
並列化の効果はアムダールの法則で見積もります。並列化できる割合を p、プロセッサ数を n とすると、速さは 1 ÷((1 − p)+ p ÷ n)倍です。並列化できない部分が残る限り、n を増やしても上限があります。
割込みは、プログラムの命令が原因の内部割込み(0 で割るなどのプログラム割込み、SVC 割込み)と、装置などが原因の外部割込み(入出力・タイマ・マシンチェック)に分かれます。
| 方式 | 何をするか | 見分けるポイント |
|---|---|---|
| スーパースカラ | パイプラインを複数持ち、同時に複数の命令を実行する | パイプラインを横に並べる |
| スーパーパイプライン | パイプラインの段を細かく分けてクロックを上げる | 段を縦に細かくする |
| VLIW | 同時に実行できる操作をコンパイラが 1 つの長い命令にまとめる | 並列化を事前にコンパイラが決める |
| SIMD | 1 つの命令で多数のデータに同じ演算をする | 画像処理や GPU の計算に向く |
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「コンピュータ構成要素」(IPA)/Cloud TPU の概要(Google Cloud)
メモリ
メモリ:実効アクセス時間とキャッシュの方式
キャッシュメモリの効果は実効アクセス時間で表します。ミスのときは主記憶の時間だけがかかるとする場合、キャッシュの時間 × ヒット率 + 主記憶の時間 ×(1 − ヒット率)で計算します。問題文がミスのときに両方の時間を足すと定めていないか、必ず確かめましょう。
必要なヒット率を逆算する問題も出ます。キャッシュ 5 ナノ秒、主記憶 50 ナノ秒で 9.5 ナノ秒以下にしたいなら、5h + 50(1 − h)≦ 9.5 を解いて h ≧ 0.9 です。
書込みの方式には、主記憶にも同時に書くライトスルーと、追い出すときに書き戻すライトバックがあります。置き場所の決め方には、ダイレクト方式・セットアソシエイティブ方式・フルアソシエイティブ方式の 3 つがあります。
メモリ素子では、リフレッシュが必要で大容量にしやすい DRAM が主記憶に、高速な SRAM がキャッシュに使われます。主記憶をバンクに分けて並行にアクセスする方式がメモリインターリーブです。
| 項目 | ライトスルー | ライトバック |
|---|---|---|
| 主記憶への書込み | 書込みのたびに行う | 追い出すときにまとめて行う |
| 主記憶との一致 | 常に一致する | 追い出すまで主記憶が古いまま |
| 速さ | 書込みが遅くなりやすい | 書込みが速い |
| 仕組み | 単純 | 書き戻しの管理が必要 |
バス・入出力デバイス・入出力装置
バス・入出力:転送速度とディスクのアクセス時間を計算する
バスの最大転送速度は、バス幅(バイト)× クロック周波数 × 1 クロックの転送回数で求めます。64 ビットは 8 バイトなので、200 MHz で 1 クロック 1 回なら 1,600 M バイト/秒です。ビットとバイトの取り違えに注意します。
磁気ディスクの平均アクセス時間は、シークタイム + 平均サーチタイム + データ転送時間です。平均サーチタイムは 1 回転の時間の半分とします。6,000 回転/分なら 1 回転 10 ミリ秒で、平均サーチタイムは 5 ミリ秒です。
入出力の制御では、CPU を介さずに装置と主記憶の間で転送する DMA 方式が大切です。命令とデータでバスを分ける構成をハーバードアーキテクチャ、同じバスを使う構成をプリンストンアーキテクチャといいます。
装置をつなぐと OS が自動で認識し、資源を割り当て、デバイスドライバを読み込む仕組みがプラグアンドプレイです。電源を入れたまま抜き差しできるホットプラグとは別の言葉です。SSD を PCI Express で使うための通信方法を定めた規格が NVMe です。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「バス」「入出力デバイス」「入出力装置」(IPA)/プラグ アンド プレイの概要(Microsoft Learn)/NVM Express Specifications(NVM Express)
システムの構成と信頼性設計
システム構成と信頼性設計:RAID と冗長構成を選び分ける
RAID は複数のディスクをまとめて速さや信頼性を高めます。RAID 5 は 1 台分、RAID 6 は 2 台分のパリティを分散して持ち、それぞれ 1 台・2 台の同時故障に耐えます。Microsoft の資料では、3 重のミラーリングの容量効率は 33.3% で、二重パリティは台数に応じて 50〜80% です。
2 系統で同じ処理をして結果を照合するのがデュアルシステム、主系だけが処理して従系が待機するのがデュプレックスシステムです。クラウドの設計では、全系統が処理を受け持つアクティブ-アクティブ構成と、待機系を用意するアクティブ-スタンバイ構成という言い方もします。
アクティブ-アクティブ構成では、1 台が止まったときに残りが負荷を受け止められるかが要点です。2 台とも 60% で動いていると、1 台が止まった瞬間に残る 1 台へ 120% 相当がかかります。
信頼性設計の言葉は「何に備えるか」で区別します。誤操作に備えるのがフールプルーフ、故障時に安全側に止めるのがフェールセーフ、機能を縮小して続けるのがフェールソフトです。多重化して止めないのがフォールトトレラントです。
仮想化では、仮想マシンごとに OS を動かすハイパーバイザー型と、ホストのカーネルを共有して軽く動くコンテナを区別します。動いている仮想マシンを止めずに移す技術がライブマイグレーションです。
| RAID の方式 | 仕組み | 耐えられる同時故障 | 4 台(各 2 T バイト)で使える容量 |
|---|---|---|---|
| RAID 0 | ストライピングだけ | 0 台 | 8 T バイト |
| RAID 1 | 2 台に同じデータを書く | 同じデータを持つ 2 台のうち 1 台 | 4 T バイト |
| RAID 5 | 1 台分のパリティを分散 | 1 台 | 6 T バイト |
| RAID 6 | 2 台分のパリティを分散 | 2 台 | 4 T バイト |
出典: フォールト トレランスとストレージの効率(Microsoft Learn)/冗長性を設計するためのアーキテクチャ戦略(Microsoft Learn)/コンテナーと仮想マシン(Microsoft Learn)/ライブ マイグレーションの概要(Microsoft Learn)/フールプルーフ(職場のあんぜんサイト 安全衛生キーワード・厚生労働省)
システムの評価指標
評価指標:稼働率の直列・並列計算は「弱いところ」を見る
稼働率は MTBF ÷(MTBF + MTTR)です。MTBF 480 時間・MTTR 20 時間なら 480 ÷ 500 = 96.0% です。
直列につないだシステムの稼働率は各装置の稼働率の積です。Microsoft の資料も、複合した目標値は各要素の積になると説明しています。並列(どれか 1 台が動けばよい)は 1 −(1 − 稼働率)の積で求めます。
改善策を選ぶ問題では、直列の中で最も弱い装置を補うと全体が大きく上がります。0.99 と 0.90 の直列なら、0.90 の装置を二重にすると 0.99 × 0.99 ≒ 0.98 になります。
稼働率を停止時間に直すと実感がわきます。1 か月 30 日で 99.9% なら、許される停止は 43,200 分の 0.1% で約 43.2 分です。
評価の観点は RASIS で整理します。バスタブ曲線は故障率の変化を、初期故障期・偶発故障期・摩耗故障期の 3 つで表します。処理能力を高めるときは、台数を増やすスケールアウトと、1 台を強くするスケールアップを処理の性質で選びます。性能の指標にはスループットやターンアラウンドタイムがあります。
| つなぎ方 | 全体の稼働率の式 | 例(各 0.9) |
|---|---|---|
| 直列 2 台 | A × B | 0.9 × 0.9 = 0.81 |
| 並列 2 台 | 1 −(1 − A)×(1 − B) | 1 − 0.1 × 0.1 = 0.99 |
| 並列 2 台の後ろに 0.95 を直列 | (1 −(1 − A)²)× 0.95 | 0.99 × 0.95 = 0.9405 |
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「システムの評価指標」(IPA)/信頼性ターゲットを定義するためのアーキテクチャ戦略(Microsoft Learn)/スケーリングとパーティション分割を最適化するためのアーキテクチャ戦略(Microsoft Learn)/Bathtub curve(NIST/SEMATECH e-Handbook of Statistical Methods・米国国立標準技術研究所)
オペレーティングシステム
OS:スケジューリングと仮想記憶は手を動かして解く
SJF は処理時間の短いジョブから実行し、平均の待ち時間を短くします。同時に届いた 6・2・4 秒のジョブなら、2・4・6 の順で終了時刻は 2・6・12 秒、平均ターンアラウンドタイムは約 6.7 秒です。到着順なら約 8.7 秒です。
Windows は優先度の高いスレッドが実行可能になると、低いスレッドをタイムスライスの途中でも止めます。これがプリエンプティブ方式です。同じ優先度のスレッドどうしはラウンドロビンで回します。
仮想記憶のページングでは、参照したページが主記憶にないとページフォールトが起きます。LRU は最も長く参照されていないページを、FIFO は最も先に読み込んだページを追い出します。参照列を表に書いて 1 つずつ追うのが確実です。
アドレス変換を速くするのが TLB です。各プロセスのワーキングセットが主記憶に収まらないと、ページの入れ替えばかりで処理が進まないスラッシングになります。多重度を下げるか主記憶を増やします。
セマフォはカウントで資源の数を管理し、待機で 1 減り、解放で増えます。デッドロックは、すべての処理で資源を確保する順序をそろえると防げます。
| 方式 | 追い出す・選ぶもの | 特徴 |
|---|---|---|
| FIFO(ページ置換え) | 最も先に読み込んだページ | 単純だが、よく使うページも追い出しうる |
| LRU(ページ置換え) | 最も長く参照されていないページ | 参照の新しさを記録する必要がある |
| SJF(ジョブ) | 処理時間の最も短いジョブ | 平均の待ち時間が短い。長いジョブは待たされやすい |
| ラウンドロビン(タスク) | 決まった時間ごとに順番に交代 | 応答が公平になりやすい |
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 5「オペレーティングシステム」(IPA)/優先度のスケジュール設定(Microsoft Learn)/Working Set(Microsoft Learn)/セマフォ オブジェクト(Microsoft Learn)/Concepts overview(Linux kernel documentation)
ミドルウェア・ファイルシステム・開発ツール・OSS
ミドルウェア・ファイル・OSS:バックアップの復元手順とライセンス
差分バックアップは直近のフルバックアップからの変化をすべて保存し、増分バックアップは前回のバックアップからの変化だけを保存します。差分の復元は「完全 + 最新の差分」の 2 つ、増分の復元は「完全 + それ以降の増分すべて」が必要です。
NTFS のリンクは 3 種類です。ハードリンクは同じボリュームの 1 つのファイルに複数のパス名を持たせ、どの名前からでも削除できます。ジャンクションはディレクトリを結び、別のローカルボリュームも指せます。シンボリックリンクはターゲットを指すオブジェクトです。
DLL は実行時に結び付けるライブラリで、複数のアプリがコードを共有するのでメモリを節約でき、更新もしやすくなります。
OSS のライセンスでは、GPL のようなコピーレフトに注意します。GPL バージョン 3 では、改変版を配布するとき作品全体を同じライセンスで提供し、実行形式を配布するときは対応するソースを入手できるようにします。コンテナの運用を自動化する OSS には Kubernetes があります。
| 方式 | 毎回保存するもの | 復元に必要なもの |
|---|---|---|
| フルバックアップ | 対象のデータすべて | 最新の完全バックアップだけ |
| 差分バックアップ | 直近の完全バックアップ以降の変化すべて | 完全 + 最新の差分 |
| 増分バックアップ | 前回のバックアップ以降の変化だけ | 完全 + それ以降の増分すべて |
出典: アーキテクチャの概要 - Azure Backup(Microsoft Learn)/ハード リンクとジャンクション(Microsoft Learn)/ダイナミック リンク ライブラリ(Microsoft Learn)/GNU General Public License version 3(Open Source Initiative)/Kubernetesとは何か?(Kubernetes ドキュメント)
ハードウェア
ハードウェア:論理回路・カスタム IC・省電力の技術
論理回路は、入力だけで出力が決まる組合せ回路と、状態を覚える順序回路に分かれます。半加算器は組合せ回路で、和は XOR、桁上がりは AND で求めます。1 ビットを保持するフリップフロップは順序回路です。
カスタム IC では、製造後に回路を書き換えられる FPGA と、専用に作り込む ASIC を対比します。少量生産や仕様変更がありうるなら FPGA、大量生産なら ASIC が候補です。TPU は Google が機械学習向けに独自開発した ASIC の例です。
組込み機器の省電力では、負荷に応じて電圧と周波数を下げる DVFS、使わない回路のクロックを止めるクロックゲーティング、電源ごと切るパワーゲーティングを区別します。Linux の資料は、周波数と電圧が高いほど単位時間の消費エネルギーが大きいと説明しています。
制御では、結果を測って目標との差を減らすフィードバック制御と、決めた順序で動かすシーケンス制御を区別します。
| 省電力の技術 | 止める・下げるもの | リーク電流 |
|---|---|---|
| DVFS | 電圧とクロック周波数を負荷に合わせて下げる | 電源は入ったまま |
| クロックゲーティング | 使わない回路へのクロック | 電源が入っているので残る |
| パワーゲーティング | 使わない回路ブロックの電源 | 電源を切るので抑えられる |
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 6「ハードウェア」(IPA)/CPU Performance Scaling(Linux kernel documentation)/Cloud TPU の概要(Google Cloud)
演習(52 問)
結果はこのブラウザに保存され、ハブの「自分の成績」と弱点モードに使われます。
第 1 問 / 52 問
問題を読み込んでいます…
全問と解説の一覧
正解と解説は折りたたんであります。先に自分で考えてから開いてください。
全 52 問
プロセッサ
クロック周波数 2 GHz の CPU で、転送命令 60%(CPI 1)、演算命令 30%(CPI 4)、分岐命令 10%(CPI 6)の割合で命令が現れるプログラムを動かす。この CPU の性能はおよそ何 MIPS か?
A. 約 500 MIPS B. 約 545 MIPS C. 約 833 MIPS D. 約 4,800 MIPS
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 1 秒間に約 5 億回の命令を実行する性能です。 2,000 ÷ 4 = 500 で、演算命令の CPI だけで割っている。命令の割合で重み付けした平均 CPI は 2.4 である。 【B(不正解)】 ? 1 秒間に約 5.5 億回の命令を実行する性能です。 3 種類の CPI を単純に平均(約 3.67)して割った値である。命令ごとの出現割合で重み付けしないと平均 CPI はずれる。 【C(正解)】 ? 1 秒間に約 8.3 億回の命令を実行する性能です。 平均 CPI = 1×0.6 + 4×0.3 + 6×0.1 = 2.4。2 GHz は毎秒 2,000 百万クロックなので、2,000 ÷ 2.4 ≒ 833 MIPS となる。 【D(不正解)】 ? 1 秒間に約 48 億回の命令を実行する性能です。 2,000 × 2.4 = 4,800 で、平均 CPI で割るべきところを掛けている。CPI が大きいほど性能は下がる。
5 段のパイプラインを持つ CPU があり、各段は 1 クロックで終わる。分岐などによる乱れが一度も起きないとき、100 個の命令をすべて実行し終えるのに何クロックかかるか?
A. 100 クロック B. 104 クロック C. 105 クロック D. 500 クロック
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 命令の数と同じクロック数です。 最初の命令が終わるまでには 5 段を通る時間がかかるので、命令数ちょうどでは終わらない。 【B(正解)】 ? 1 GHz の CPU なら約 104 ナノ秒にあたります。 最初の命令は 5 クロック目に終わり、その後は 1 クロックごとに 1 命令ずつ終わる。5 +(100 − 1)= 104 クロック。 【C(不正解)】 ? 命令の数に段の数を足したクロック数です。 最初の命令の 5 クロックの中に、100 命令のうちの 1 命令分がすでに含まれている。足すと 1 クロック多く数えてしまう。 【D(不正解)】 ? 命令の数に段の数を掛けたクロック数です。 命令を 1 つずつ順番に実行し、重ねない場合のクロック数である。パイプラインは段をずらして重ねるので短くなる。
パイプラインで、条件分岐命令の結果が出るまで次に取り出す命令の場所が決まらず、先に取り出した命令を捨てて取り直すことがある。このパイプラインハザードの種類はどれか?
A. データハザード B. 構造ハザード C. 制御ハザード D. スラッシング
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 前の命令の計算結果を、後の命令がすぐに使おうとして待たされる現象です。 命令どうしのデータの依存で起きる乱れであり、分岐先が決まらないことが原因ではない。 【B(不正解)】 ? 複数の命令が同じ演算器やメモリを同時に使おうとして待たされる現象です。 ハードウェア資源の取り合いで起きる乱れであり、分岐とは関係しない。 【C(正解)】 ? 分岐やジャンプで、次に実行する命令の流れが変わることで起きる現象です。 分岐の結果が出るまで次の命令が決まらず、先読みした命令を捨てることになる。分岐予測などで影響を小さくする。 【D(不正解)】 ? 仮想記憶でページの入れ替えが多発する現象です。 スラッシングは記憶管理で起きる現象で、パイプラインの乱れの種類ではない。
処理時間の 80% を並列化できるプログラムを、1 コアの CPU から 4 コアのマルチコアプロセッサに移す。並列化できる部分は 4 コアで均等に分けられ、ほかの負担は無視する。処理は約何倍速くなるか?
A. 約 1.7 倍 B. 2.5 倍 C. 3.2 倍 D. 4 倍
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 処理時間が約 6 割になる速さです。 並列化できる部分を 2 コア分しか速くしない計算(1 ÷ 0.6)に近い値である。4 コアで分けると 0.8 ÷ 4 = 0.2 になる。 【B(正解)】 ? 処理時間が 4 割になる速さです。 アムダールの法則より、1 ÷(0.2 + 0.8 ÷ 4)= 1 ÷ 0.4 = 2.5 倍。並列化できない 20% が上限を決めている。 【C(不正解)】 ? 並列化できる割合とコア数を掛けた数です。 0.8 × 4 = 3.2 は式として意味を持たない。並列化できない 20% の時間は、コアを増やしても縮まらない。 【D(不正解)】 ? コアの数と同じ倍率です。 すべての処理が並列化できる場合の値である。この問題では 20% が逐次処理なので 4 倍には届かない。
CPU の中に命令を処理するパイプラインを複数本持たせ、1 クロックの間に複数の命令を並行して実行する高速化の方式はどれか?
A. VLIW B. スーパーパイプライン C. マイクロプログラム制御 D. スーパースカラ
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 同時に実行できる操作をコンパイラが 1 つの長い命令にまとめる方式です。 VLIW は並列にできる操作を前もって命令語にまとめておく方式で、パイプラインを複数本持つ方式の名前ではない。 【B(不正解)】 ? パイプラインの各段をさらに細かく分ける方式です。 段を細かく分けてクロックを速くする方式であり、パイプラインを複数本並べる方式ではない。 【C(不正解)】 ? 1 つの機械語命令の手順を、内蔵した小さなプログラムで制御する方式です。 命令の実行手順を制御する仕組みであり、複数の命令を同時に実行する高速化の方式ではない。 【D(正解)】 ? 1 クロックあたりに終わる命令の数を 1 より大きくすることを狙う方式です。 スーパースカラはパイプラインを複数持ち、同時に実行できる命令を並行して流す。
写真編集ソフトで、画像のすべての画素の明るさに同じ値を足す処理を速くしたい。1 つの命令で多数の画素に同じ演算を同時に行う並列処理の方式はどれか?
A. SISD B. SIMD C. MISD D. MIMD
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 1 つの命令の流れで、1 つのデータを順に処理する方式です。 従来の逐次処理の形であり、多数の画素を同時に処理する方式ではない。 【B(正解)】 ? 1 つの命令の流れで、複数のデータを同時に処理する方式です。 SIMD は同じ演算を多数のデータに一度に行うので、画素ごとに同じ処理をする画像処理に向く。GPU の得意な処理でもある。 【C(不正解)】 ? 複数の命令の流れで、1 つのデータを処理する方式です。 1 つのデータに異なる命令をかける形で、画素ごとに同じ演算を並べる処理には合わない。 【D(不正解)】 ? 複数の命令の流れで、複数のデータをそれぞれ処理する方式です。 プロセッサごとに別の命令を実行する方式で、同じ演算の繰り返しには SIMD のほうが効率的である。
実行中のプログラムが 0 で割る演算を行い、処理が中断されて OS に制御が移った。この割込みの種類はどれか?
A. 入出力割込み B. タイマ割込み C. マシンチェック割込み D. プログラム割込み
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 入出力装置が、処理の終了や異常を CPU に知らせる割込みです。 CPU の外にある装置が起こす外部割込みであり、プログラムの演算が原因ではない。 【B(不正解)】 ? 決められた時間がたったことを知らせる割込みです。 時間の経過で起きる外部割込みで、演算の異常とは関係しない。 【C(不正解)】 ? 電源やハードウェアの故障を知らせる割込みです。 ハードウェアの異常で起きる割込みであり、プログラムの演算内容が原因ではない。 【D(正解)】 ? 内部割込みに分類される割込みです。 0 で割る、桁があふれるなど、命令の実行で起きる内部割込みである。
メモリ
キャッシュメモリのアクセス時間が 10 ナノ秒、主記憶が 60 ナノ秒、ヒット率が 95% である。ミスのときは主記憶のアクセス時間だけがかかるとすると、実効アクセス時間は何ナノ秒か?
A. 9.5 ナノ秒 B. 12.5 ナノ秒 C. 13.0 ナノ秒 D. 35.0 ナノ秒
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? キャッシュのアクセス時間より短い値です。 ヒットしたときの分(10 × 0.95)だけを足した値で、ミスしたときの 5% 分が抜けている。 【B(正解)】 ? キャッシュのアクセス時間の 1.25 倍にあたる値です。 10 × 0.95 + 60 × 0.05 = 9.5 + 3.0 = 12.5 ナノ秒。ヒットとミスの時間を、それぞれの確率で重み付けして足す。 【C(不正解)】 ? キャッシュのアクセス時間の 1.3 倍にあたる値です。 ミスのときにキャッシュと主記憶の両方の時間(70 ナノ秒)がかかるとした計算である。この問題の条件では主記憶の 60 ナノ秒だけを使う。 【D(不正解)】 ? 2 つのアクセス時間のちょうど真ん中の値です。 ヒット率を使わずに単純に平均した値である。95% はキャッシュで済むので、実効アクセス時間はキャッシュの時間に近くなる。
キャッシュのアクセス時間が 5 ナノ秒、主記憶が 50 ナノ秒の構成で、実効アクセス時間を 9.5 ナノ秒以下にしたい。ミスのときは主記憶の時間だけがかかるとすると、ヒット率は最低何%必要か?
A. 80% B. 85% C. 90% D. 95%
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 10 回に 8 回はキャッシュで済む割合です。 5 × 0.8 + 50 × 0.2 = 14.0 ナノ秒となり、9.5 ナノ秒を超える。 【B(不正解)】 ? 20 回に 17 回はキャッシュで済む割合です。 5 × 0.85 + 50 × 0.15 = 11.75 ナノ秒となり、まだ 9.5 ナノ秒を超える。 【C(正解)】 ? 10 回に 9 回はキャッシュで済む割合です。 5h + 50(1 − h)≦ 9.5 を解くと、50 − 45h ≦ 9.5 より h ≧ 0.9。90% でちょうど 9.5 ナノ秒になる。 【D(不正解)】 ? 20 回に 19 回はキャッシュで済む割合です。 95% なら 7.25 ナノ秒で条件を満たすが、最低限の値ではない。90% で条件を満たす。
ほかの装置も主記憶を直接読むため、CPU がキャッシュに書いた内容を、すぐに主記憶にも反映させたい。主記憶への書込み回数が増えても構わない。適したキャッシュの書込み方式はどれか?
A. ライトスルー B. ライトバック C. メモリインターリーブ D. セットアソシエイティブ方式
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 主記憶への書込みは増えるが、管理が単純な方式です。 ライトスルーは書込みのたびに主記憶も更新するので、両者の内容が常に一致する。代わりに主記憶への書込みが多くなる。 【B(不正解)】 ? キャッシュから追い出すときにまとめて主記憶へ書き戻す方式です。 ライトバックは書込みが速く主記憶への書込みも減るが、追い出すまでは主記憶の内容が古いままになる。 【C(不正解)】 ? 主記憶を複数のバンクに分けて並行にアクセスする方式です。 主記憶の読み書きを速くする方式で、キャッシュの書込みをいつ主記憶に反映するかを決めるものではない。 【D(不正解)】 ? 主記憶のブロックをキャッシュのどこに置くかの決め方です。 キャッシュ上の置き場所の決め方であり、書込みの反映のしかたとは別の話である。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「メモリシステムの構成と記憶階層」(IPA)
コンデンサに電荷をためて情報を記憶し、電荷が少しずつ抜けるため定期的なリフレッシュが必要な半導体メモリはどれか?
A. SRAM B. マスク ROM C. DRAM D. フラッシュメモリ
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? フリップフロップで記憶する、高速な半導体メモリです。 SRAM は電源が入っている間は記憶を保つのでリフレッシュは要らない。キャッシュメモリに使われる。 【B(不正解)】 ? 製造時に内容を書き込み、あとから書き換えられないメモリです。 読出し専用の不揮発性メモリで、電荷を保つためのリフレッシュは要らない。 【C(正解)】 ? 主記憶によく使われる、構造が簡単で大容量にしやすいメモリです。 DRAM はコンデンサの電荷で記憶するため、一定時間ごとにリフレッシュして電荷を補う必要がある。 【D(不正解)】 ? 電源を切っても内容が消えない、書換え可能なメモリです。 フラッシュメモリは不揮発性で、DRAM のような定期的なリフレッシュは必要としない。
主記憶を 4 つのバンクに分け、連続するアドレスを順に別々のバンクへ割り当てる。連続したデータを読むとき、あるバンクの準備を待つ間にほかのバンクへアクセスを始められる。この方式はどれか?
A. キャッシュメモリ B. ストライピング C. 仮想記憶 D. メモリインターリーブ
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? CPU と主記憶の間に置く、高速で小容量のメモリです。 よく使うデータを高速なメモリに置く方式で、主記憶をバンクに分ける方式ではない。 【B(不正解)】 ? データを分けて複数のディスクに順番に書き込む方式です。 ストライピングはディスク装置を並べて速くする考え方で、主記憶のバンクの割当て方の名前ではない。 【C(不正解)】 ? 補助記憶を使って、主記憶より大きなアドレス空間を見せる仕組みです。 仮想記憶は使えるアドレス空間を広げる仕組みで、連続アクセスを速くするバンク分けではない。 【D(正解)】 ? 主記憶の装置の構成を工夫する高速化の方式です。 メモリインターリーブは連続するアドレスを別々のバンクに置き、アクセスを重ねて主記憶を速くする。
いまのキャッシュは、主記憶の各ブロックを決まった 1 か所にしか置けず、同じ場所を取り合うブロックを交互に使うとミスが続く。置き場所の候補を複数にして衝突を減らしつつ、全域を探す回路は小さく抑えたい。適した方式は?
A. セットアソシエイティブ方式 B. ダイレクト方式 C. フルアソシエイティブ方式 D. ライトスルー
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 2 ウェイ、4 ウェイのように、組の中の場所の数で呼び分ける方式です。 セットアソシエイティブ方式は組の中に複数の置き場所を持つので、衝突によるミスを減らせる。探すのは組の中だけで済む。 【B(不正解)】 ? 主記憶のブロックごとに、キャッシュ上の置き場所が 1 か所に決まる方式です。 いまの構成そのものであり、置き場所が 1 つなので衝突によるミスは減らない。 【C(不正解)】 ? キャッシュのどこにでもブロックを置ける方式です。 衝突は最も少ないが、キャッシュ全体を同時に探す回路が大きくなる。回路を小さく抑える条件に合わない。 【D(不正解)】 ? 書込みのたびに主記憶も更新する方式です。 書込みの反映のしかたであり、ブロックをどこに置くかの決め方ではない。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「メモリシステムの構成と記憶階層」(IPA)
バス・入出力デバイス・入出力装置
大量のデータを補助記憶装置から主記憶へ移す間、CPU を転送に使わず別の処理を進めたい。装置と主記憶の間で、CPU を介さずにデータを転送する方式はどれか?
A. プログラム制御方式 B. ポーリング方式 C. スプーリング D. DMA 方式
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? CPU が命令を実行して 1 つずつデータを転送する方式です。 転送そのものに CPU を使うので、その間 CPU はほかの処理を進めにくい。 【B(不正解)】 ? CPU が装置の状態を定期的に見に行く方式です。 装置の状態を調べるやり方で、CPU を介さずにデータを転送する方式ではない。 【C(不正解)】 ? 低速な装置への出力をいったん補助記憶にためる仕組みです。 プリンタなどへの出力をためて CPU の待ちを減らす仕組みで、装置と主記憶の直接転送ではない。 【D(正解)】 ? 転送が終わると、割込みで CPU に知らせる方式です。 DMA 方式では転送を DMA コントローラが行い、CPU は転送が終わるまで別の処理を進められる。終わると割込みで知らせる。
データバスの幅が 64 ビット、バスのクロック周波数が 200 MHz で、1 クロックに 1 回データを転送するバスがある。このバスの最大転送速度は何 M バイト/秒か?
A. 200 M バイト/秒 B. 1,600 M バイト/秒 C. 12,800 M バイト/秒 D. 3,200 M バイト/秒
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? クロック周波数と同じ数字です。 1 回に 1 バイトしか送らない計算になっている。64 ビットのバスは 1 回に 8 バイト送る。 【B(正解)】 ? 毎秒 1.6 G バイトにあたる値です。 64 ビット = 8 バイト。8 バイト × 200 M 回/秒 = 1,600 M バイト/秒となる。 【C(不正解)】 ? バス幅のビット数とクロック周波数を掛けた数字です。 64 × 200 = 12,800 は M ビット/秒の値である。バイトに直すには 8 で割る。 【D(不正解)】 ? 1 クロックに 2 回転送する場合の値です。 この問題のバスは 1 クロックに 1 回の転送なので、2 倍にはならない。
回転数 6,000 回転/分、平均シークタイム 8 ミリ秒、1 トラックの容量 500 k バイトの磁気ディスク装置がある。10 k バイトのデータを 1 回読むときの平均アクセス時間は何ミリ秒か?
A. 8.2 ミリ秒 B. 13.2 ミリ秒 C. 18.2 ミリ秒 D. 23.0 ミリ秒
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? シークタイムに転送時間だけを足した値です。 目的のデータが回ってくるのを待つ時間(平均 5 ミリ秒)が抜けている。 【B(正解)】 ? シークタイムより 5.2 ミリ秒長い値です。 1 回転は 60,000 ÷ 6,000 = 10 ミリ秒で、平均サーチタイムはその半分の 5 ミリ秒。転送は(10 ÷ 500)× 10 = 0.2 ミリ秒。8 + 5 + 0.2 = 13.2 ミリ秒。 【C(不正解)】 ? 回転待ちを 1 回転分として足した値です。 平均の回転待ちは 1 回転(10 ミリ秒)の半分の 5 ミリ秒とする。1 回転分を足すと長すぎる。 【D(不正解)】 ? 1 トラック分をまるごと読む時間を足した値です。 読むのは 10 k バイトだけなので、転送時間は 1 回転分(10 ミリ秒)ではなく 0.2 ミリ秒である。
組込み機器のマイコンで、命令の読込みとデータの読み書きを同時に行って処理を速くしたい。命令用とデータ用でバスを分ける構成はどれか?
A. ハーバードアーキテクチャ B. プリンストンアーキテクチャ C. デイジーチェーン接続 D. メモリマップド I/O
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 命令とデータの経路の持ち方を表す構成の一つです。 ハーバードアーキテクチャはバスが分かれているので、命令の読込みとデータのアクセスを並行して行える。 【B(不正解)】 ? ノイマン型とも呼ばれる構成で、命令とデータを同じ経路で扱います。 1 本のバスを共有するので、命令の読込みとデータのアクセスを同時には行えない。 【C(不正解)】 ? 装置を数珠つなぎに接続する形です。 周辺装置のつなぎ方の形であり、CPU の中で命令とデータのバスを分ける構成ではない。 【D(不正解)】 ? 入出力装置のレジスタをメモリのアドレスとして扱う方式です。 入出力装置への命令の出し方の方式で、命令とデータのバスを分けるものではない。
ノート PC に新しいプリンタをつないだ。利用者が何も設定しなくても、OS が装置を認識し、割込み要求などの資源を割り当て、適したドライバを読み込んだ。この仕組みはどれか?
A. ホットプラグ B. デイジーチェーン接続 C. プラグアンドプレイ D. ポーリング
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 電源を入れたまま装置を抜き差しできる機能です。 ホットプラグは抜き差しのタイミングに関する機能で、資源の割当てやドライバの読込みを指す言葉ではない。 【B(不正解)】 ? 装置を数珠つなぎに接続する形です。 装置のつなぎ方の形であり、自動で認識して設定する仕組みではない。 【C(正解)】 ? ハードウェア、OS、ドライバの三者が協力して実現する機能です。 プラグアンドプレイでは、OS が装置を自動で認識し、資源を割り当て、適切なデバイスドライバを読み込む。 【D(不正解)】 ? CPU が装置の状態を定期的に見に行く方式です。 装置の状態の調べ方であり、新しい装置を自動で設定する仕組みではない。
出典: プラグ アンド プレイの概要(Microsoft Learn)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「デバイスドライバ」(IPA)
サーバの SSD の性能を引き出すため、ホストのソフトウェアが SSD と PCI Express を通じてやり取りする方法を定めた規格に対応した製品を選びたい。その規格はどれか?
A. シリアル ATA B. SCSI C. IEEE 1394 D. NVMe
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 補助記憶装置をケーブルでつなぐシリアル転送のインタフェースです。 ディスク装置をつなぐ一般的なインタフェースだが、PCI Express 上での SSD とのやり取りを定めた規格ではない。 【B(不正解)】 ? サーバの周辺装置の接続に使われてきた入出力の規格です。 古くからある周辺装置の接続規格で、PCI Express 上の不揮発性メモリとのやり取りを定めたものではない。 【C(不正解)】 ? 映像機器などをつなぐために使われたシリアルバスの規格です。 機器どうしをつなぐシリアルバスの規格で、SSD を PCI Express で使うための規格ではない。 【D(正解)】 ? NVM Express の略称です。 NVMe は、ホストのソフトウェアが PCI Express などを通じて不揮発性メモリとやり取りする方法を定めた、SSD の業界標準の規格である。
出典: NVM Express Specifications(NVM Express)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 3「バスの標準規格」(IPA)
システムの構成と信頼性設計
容量 2 T バイトのディスク 4 台で RAID 5 を組んだ。データの保存に使える容量と、データを失わずに耐えられる同時故障の台数の組合せはどれか?
A. 8 T バイト・0 台 B. 6 T バイト・1 台 C. 4 T バイト・2 台 D. 2 T バイト・3 台
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 4 台すべてをデータの保存に使う組合せです。 冗長性を持たない RAID 0(ストライピングだけ)の値である。1 台でも壊れるとデータを失う。 【B(正解)】 ? 3 台分を保存に使い、1 台分を予備の情報に使う組合せです。 RAID 5 は 1 台分のパリティを各ディスクに分散して持つ。2 ×(4 − 1)= 6 T バイトを使え、1 台の故障まで耐えられる。 【C(不正解)】 ? 2 台分を保存に使い、2 台分を予備の情報に使う組合せです。 パリティを 2 台分持つ RAID 6 の値である。RAID 5 のパリティは 1 台分である。 【D(不正解)】 ? 4 台すべてに同じデータを書く組合せです。 4 台すべてでミラーリングした場合の値である。RAID 5 はこれより多くの容量を使える。
出典: フォールト トレランスとストレージの効率(Microsoft Learn)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「ストレージ」(IPA)
6 台のディスクでストレージを組む。どの 2 台が同時に壊れてもデータを失わず、しかも 3 重のミラーリングより多くの容量を使いたい。適した RAID の方式はどれか?
A. RAID 0 B. RAID 1(2 重のミラーリング) C. RAID 5 D. RAID 6
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? データを分けて各ディスクに書き込むだけの方式です。 冗長性がないので、1 台が壊れるだけでデータを失う。 【B(不正解)】 ? 同じデータを 2 台に書き込む方式です。 コピーは 2 つなので、同じデータを持つ 2 台が同時に壊れるとデータを失う。 【C(不正解)】 ? 1 台分のパリティを分散して持つ方式です。 耐えられるのは 1 台の故障までで、2 台が同時に壊れるとデータを失う。 【D(正解)】 ? 2 種類のパリティを分散して持つ方式です。 RAID 6 は同時に 2 台の故障に耐えられる。一般的な RAID 6 では 6 台中 4 台分(約 67%)を使え、3 重ミラーの 33.3% より多い。
出典: フォールト トレランスとストレージの効率(Microsoft Learn)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「ストレージ」(IPA)
銀行の勘定系で、2 系統のコンピュータに同じ処理をさせ、結果を突き合わせて誤りを見つけたい。片方が故障しても、もう片方で処理を続ける。この構成はどれか?
A. デュアルシステム B. デュプレックスシステム C. タンデム結合 D. シンクライアント
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? ふだんから 2 系統とも稼働させておく構成です。 デュアルシステムは 2 系統で同じ処理をして結果を照合する。故障時は片方を切り離して処理を続ける。 【B(不正解)】 ? 主系が処理し、従系は待機する構成です。 デュプレックスシステムでは待機系は同じ処理をしないので、結果を突き合わせて誤りを見つけることはできない。 【C(不正解)】 ? 複数のプロセッサを直列につなぎ、処理を分担する構成です。 処理を段階ごとに分担する構成で、同じ処理を 2 回して照合する構成ではない。 【D(不正解)】 ? 端末側に最低限の機能だけを持たせ、処理をサーバで行う形態です。 利用者の端末の形態であり、2 系統で処理を照合する信頼性の構成ではない。
2 台の Web サーバで負荷を分け合うアクティブ-アクティブ構成にした。ふだんは 2 台とも CPU 使用率 60% で動いている。この設計で起きうる問題として適したものはどれか?
A. 1 台が止まると、残る 1 台に 120% 相当の負荷がかかる B. 2 台が同じ処理をするので、結果の照合で応答が遅れる C. 待機系が止まっているので、切替えに起動時間がかかる D. 負荷が分かれているので、片方の故障に気づけなくなる
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 片方が止まったときの、残る 1 台の負荷についての記述です。 2 台分の負荷(60% × 2)が 1 台に集まり、処理しきれなくなる。障害を吸収できる予備の能力を残して設計する。 【B(不正解)】 ? 2 系統の結果を突き合わせる構成についての記述です。 アクティブ-アクティブ構成は要求を分け合うだけで、同じ処理をして結果を照合する構成ではない。 【C(不正解)】 ? 待機系を止めておく構成についての記述です。 両方がふだんから動いているので、待機系の起動を待つ必要はない。これは待機系を止めておく構成の特徴である。 【D(不正解)】 ? 障害の検知についての記述です。 負荷分散そのものは故障の検知を妨げない。死活監視をすれば故障したサーバを切り離せる。
機器の部品の形を左右非対称にして、逆向きには取り付けられないようにした。人が誤った操作をしても障害が起きないようにする、この設計の考え方はどれか?
A. フェールセーフ B. フェールソフト C. フールプルーフ D. フォールトトレラント
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 故障が起きたとき、安全な側に止まるようにする考え方です。 フェールセーフは故障時の止まり方の考え方で、人の誤操作そのものを防ぐ設計ではない。 【B(不正解)】 ? 故障が起きても、機能を縮小して動き続けるようにする考え方です。 フェールソフトは故障後も処理を続けるための考え方で、誤操作を防ぐ設計ではない。 【C(正解)】 ? 信頼性設計の用語の一つで、英語の proof(〜に耐える)を含む言葉です。 フールプルーフは、逆向きに付けられない形のように、誤操作そのものを起こせないようにする。 【D(不正解)】 ? 装置を多重化して、故障しても止まらずに動き続ける考え方です。 フォールトトレラントは故障への耐性の考え方で、人の誤操作を防ぐものではない。
出典: フールプルーフ(職場のあんぜんサイト 安全衛生キーワード・厚生労働省)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「信頼性設計」(IPA)
1 台のサーバで多数のアプリケーションを隔離して動かしたい。アプリごとに OS のカーネルを持つ必要はなく、起動を速くし、CPU やメモリの消費を小さくしたい。適した方式はどれか?
A. ハイパーバイザー型の仮想マシン B. ホスト型の仮想マシン C. コンテナ D. デュアルシステム
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? ハードウェアの上の仮想化ソフトで、OS ごと動かす方式です。 ハイパーバイザー型の仮想マシンはそれぞれ自分のカーネルを含む OS を動かすので、資源を多く使う。 【B(不正解)】 ? ホスト OS の上の仮想化ソフトで、OS ごと動かす方式です。 仮想マシンごとに OS 全体を動かすうえ、ホスト OS も挟むので軽くはならない。 【C(正解)】 ? Docker などで作成して動かす実行環境です。 コンテナは OS のユーザーモード部分とアプリだけを持ち、ホストのカーネルを共有する。軽く、速く起動できる。 【D(不正解)】 ? 2 系統で同じ処理を行う信頼性の構成です。 信頼性を高める構成であり、1 台のサーバで多数のアプリを隔離する方式ではない。
出典: コンテナーと仮想マシン(Microsoft Learn)/What is a container?(Docker Docs)
物理サーバの部品交換のため、その上で動いている仮想マシンを、利用者に止まったと感じさせずに別の物理サーバへ移したい。使う技術はどれか?
A. サーバコンソリデーション B. ライブマイグレーション C. コールドサイト D. スナップショット
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 多数のサーバを少ない台数にまとめることです。 サーバを集約して台数を減らす取り組みで、動いている仮想マシンを止めずに移す技術ではない。 【B(正解)】 ? Hyper-V などの仮想化基盤が備える機能です。 ライブマイグレーションは、実行中の仮想マシンをダウンタイムを感じさせずに別のホストへ移せる。保守の前にホストを空けるのに使う。 【C(不正解)】 ? 災害に備えて用意しておく予備の拠点の一種です。 災害対策の拠点の種類であり、仮想マシンを移す技術ではない。 【D(不正解)】 ? ある時点のディスクや仮想マシンの状態を保存する機能です。 状態の保存はできるが、それだけでは動いているまま別のサーバへ移すことにはならない。
出典: ライブ マイグレーションの概要(Microsoft Learn)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「システム構成」(IPA)
システムの評価指標
MTBF が 480 時間、MTTR が 20 時間の装置がある。この装置の稼働率はどれか?
A. 96.0% B. 約 95.8% C. 約 4.2% D. 4.0%
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 全体の 25 分の 24 にあたる割合です。 稼働率 = MTBF ÷(MTBF + MTTR)= 480 ÷ 500 = 0.96。 【B(不正解)】 ? 1 から MTTR ÷ MTBF を引いた割合です。 1 − 20 ÷ 480 で計算しており、分母が違う。分母は動いている時間と止まっている時間の合計(500 時間)にする。 【C(不正解)】 ? MTTR を MTBF で割った割合です。 修理時間と動作時間の比であり、稼働率ではない。 【D(不正解)】 ? 全体の 25 分の 1 にあたる割合です。 20 ÷ 500 で、止まっている時間の割合(不稼働率)である。稼働率は 1 から引いた 96.0% になる。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「信頼性指標と信頼性計算」(IPA)/信頼性ターゲットを定義するためのアーキテクチャ戦略(Microsoft Learn)
稼働率 0.9 の Web サーバ 2 台を並列に置き(どちらか 1 台が動けばよい)、その後ろに稼働率 0.95 のデータベースサーバ 1 台を直列につないだ。システム全体の稼働率はどれか?
A. 0.7695 B. 0.8550 C. 0.9405 D. 0.9900
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 3 台すべてを直列につないだときの値です。 0.9 × 0.9 × 0.95 で、Web サーバ 2 台がどちらも動かないと止まる計算になっている。並列はどちらか 1 台で足りる。 【B(不正解)】 ? Web サーバ 1 台とデータベースサーバを直列にしたときの値です。 0.9 × 0.95 で、並列にした効果が入っていない。 【C(正解)】 ? 0.99 と 0.95 を掛けた値です。 並列部分は 1 −(1 − 0.9)² = 0.99。直列なので掛けて、0.99 × 0.95 = 0.9405 となる。 【D(不正解)】 ? Web サーバ 2 台の並列部分だけの値です。 データベースサーバとの直列を計算に入れていない。直列の部分は掛け算で全体を下げる。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「信頼性指標と信頼性計算」(IPA)/信頼性ターゲットを定義するためのアーキテクチャ戦略(Microsoft Learn)
稼働率 0.99 の装置 X と、稼働率 0.90 の装置 Y を直列につないだシステムがある。次の改善のうち、システム全体の稼働率が最も高くなるものはどれか?
A. X を 2 台の並列にする B. X の稼働率を 0.999 に上げる C. Y の稼働率を 0.95 に上げる D. Y を 2 台の並列にする
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 稼働率の高いほうの装置を二重にする改善です。 X の部分は 1 − 0.01² = 0.9999 になるが、全体は 0.9999 × 0.90 ≒ 0.8999 にとどまる。 【B(不正解)】 ? 稼働率の高いほうの装置をさらに改善する案です。 全体は 0.999 × 0.90 ≒ 0.8991。弱い装置 Y が足を引っ張ったままである。 【C(不正解)】 ? 稼働率の低いほうの装置を 1 台のまま改善する案です。 全体は 0.99 × 0.95 ≒ 0.9405。改善はするが、二重化ほどは上がらない。 【D(正解)】 ? 稼働率の低いほうの装置を二重にする改善です。 Y の部分は 1 − 0.10² = 0.99 になり、全体は 0.99 × 0.99 = 0.9801 で最も高い。直列では弱い部分を補うのが効く。
RASIS のうち、障害が起きたときに短い時間で修理・復旧できる度合いを表すものはどれか? 主な指標には MTTR がある。
A. Reliability(信頼性) B. Availability(可用性) C. Serviceability(保守性) D. Integrity(完全性)
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 故障しにくさを表す観点です。 故障せずに動き続ける度合いで、主な指標は MTBF である。 【B(不正解)】 ? 使いたいときに使える度合いを表す観点です。 必要なときに使える度合いで、主な指標は稼働率である。 【C(正解)】 ? RASIS の頭文字のうち、最初の S にあたる観点です。 障害からどれだけ早く直せるかを表し、主な指標は MTTR(平均修復時間)である。 【D(不正解)】 ? データが壊れたり矛盾したりしない度合いを表す観点です。 データの正しさや一貫性を表す観点で、修理のしやすさではない。
受注システムのデータベースはサーバ内に状態を持ち、複数台に分けて処理する作りになっていない。処理が追いつかなくなってきたときの対応として適したものはどれか?
A. サーバを追加してスケールアウトする B. より大きなサーバに替えてスケールアップする C. 使わない時間帯にスケールインする D. 待機系を用意してアクティブ-スタンバイ構成にする
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? サーバの台数を増やして処理を分け合う方法です。 スケールアウトは小さな部分に分けて動かせる処理に向く。分けて処理できない作りでは効果が出にくい。 【B(正解)】 ? 1 台の CPU やメモリを強化する方法です。 スケールアップは、分割しにくい処理や、複数台に広げる設計になっていないシステムに向く。 【C(不正解)】 ? サーバの台数を減らす方法です。 台数を減らすのは負荷が下がったときの対応で、処理が追いつかない問題は解決しない。 【D(不正解)】 ? 故障に備えて予備の系統を待たせる方法です。 アクティブ-スタンバイ構成は可用性を高めるが、待機系は処理を受け持たないので能力は増えない。
バスタブ曲線で、使い始めの時期に製造上の欠陥などで故障が多く、時間とともに故障率が下がっていく期間はどれか?
A. 初期故障期 B. 偶発故障期 C. 摩耗故障期 D. MTBF
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 曲線の左端にあたる期間です。 製造時の欠陥などによる故障が使い始めに出て、取り除かれるにつれて故障率が下がる。 【B(不正解)】 ? 曲線の底の平らな部分にあたる期間です。 故障が偶然に起き、故障率はほぼ一定になる。時間とともに下がる期間ではない。 【C(不正解)】 ? 曲線の右端にあたる期間です。 部品の劣化で故障率が上がっていく期間であり、下がる期間ではない。 【D(不正解)】 ? 故障から次の故障までの平均の動作時間です。 MTBF は信頼性の指標であり、バスタブ曲線の期間の名前ではない。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 4「信頼性指標と信頼性計算」(IPA)/Bathtub curve(NIST/SEMATECH e-Handbook of Statistical Methods・米国国立標準技術研究所)
1 か月を 30 日とする。あるサービスの稼働率の目標が 99.9% のとき、1 か月に許される停止時間はおよそどれか?
A. 約 4.3 分 B. 約 43.2 分 C. 約 7.2 時間 D. 約 8.8 時間
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 1 か月の 0.01% にあたる時間です。 稼働率 99.99% のときの停止時間である。99.9% ならその 10 倍になる。 【B(正解)】 ? 1 か月の 0.1% にあたる時間です。 30 日 × 24 時間 × 60 分 = 43,200 分。その 0.1% で 43.2 分となる。 【C(不正解)】 ? 1 か月の 1% にあたる時間です。 稼働率 99% のときの停止時間である。99.9% ならその 10 分の 1 になる。 【D(不正解)】 ? 1 年の 0.1% にあたる時間です。 1 年間(365 日)で数えた 99.9% の停止時間である。問われているのは 1 か月の値である。
オペレーティングシステム
時刻 0 に、ジョブ A(処理時間 6 秒)、B(2 秒)、C(4 秒)が同時に届いた。SJF 方式で 1 つずつ実行するとき、平均ターンアラウンドタイムは約何秒か? 切替えの時間は無視する。
A. 12.0 秒 B. 約 8.7 秒 C. 4.0 秒 D. 約 6.7 秒
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? すべてのジョブが終わる時刻と同じ値です。 最後のジョブの終了時刻であり、3 つのジョブの平均ではない。 【B(不正解)】 ? 到着順(A、B、C)に実行したときの平均です。 到着順だと終了時刻は 6、8、12 秒で、平均は約 8.7 秒。SJF は短いジョブを先に実行する。 【C(不正解)】 ? 3 つのジョブの処理時間の平均です。 待ち時間を含めていない。ターンアラウンドタイムは到着から処理が終わるまでの時間である。 【D(正解)】 ? 3 つの終了時刻の合計 20 秒を 3 で割った値です。 短い順に B、C、A と実行すると、終了時刻は 2、6、12 秒。平均は 20 ÷ 3 ≒ 6.7 秒となる。
ページ枠が 3 つの主記憶(最初は空)で、ページを 1, 2, 3, 1, 4, 1, 2, 5 の順に参照する。LRU 方式でページを置き換えるとき、ページフォールトは何回起きるか?
A. 5 回 B. 6 回 C. 7 回 D. 8 回
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 参照されたページの種類の数と同じ回数です。 最初の 1・2・3・4・5 の読込みだけを数えている。枠が 3 つなので、追い出したページを再び読む分も起きる。 【B(正解)】 ? 参照 8 回のうち 2 回がヒットになる回数です。 1・2・3 で 3 回。1 はヒット。4 で 2 を追い出し 4 回目。1 はヒット。2 で 3 を追い出し 5 回目、5 で 4 を追い出し 6 回目。 【C(不正解)】 ? 参照 8 回のうち 1 回だけがヒットになる回数です。 先に読み込んだページから追い出す FIFO 方式の回数である。LRU では最も長く使われていないページを追い出す。 【D(不正解)】 ? 参照のたびに読込みが起きる回数です。 1 を 2 回目と 3 回目に参照したときは主記憶にあるので、ページフォールトは起きない。
仮想記憶を使うサーバで同時に動かすプロセスを増やしたところ、ページフォールトが急増した。CPU 使用率は低いのに処理がほとんど進まない。対策として適したものはどれか?
A. 同時に動かすプロセスを減らすか主記憶を増やす B. タイムクウォンタムを短くしてタスクの切替えを増やす C. ページ置換えの方式を LRU から FIFO に変える D. プロセスをさらに増やして CPU 使用率を上げる
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 主記憶に置くページの量と主記憶の大きさの釣り合いを変える案です。 スラッシングは、各プロセスのワーキングセットが主記憶に収まらないと起きる。多重度を下げるか主記憶を増やす。 【B(不正解)】 ? CPU を割り当てる時間の単位を短くする案です。 切替えを増やしても、主記憶の不足は変わらない。かえってページの入れ替えが増えることもある。 【C(不正解)】 ? 追い出すページの選び方を変える案です。 置換えの方式を変えても、必要なページの量が主記憶を超える状態は解消しない。 【D(不正解)】 ? CPU の空き時間を埋めようとする案です。 原因はページの入れ替え待ちなので、プロセスを増やすと主記憶の取り合いがさらに悪化する。
出典: Working Set(Microsoft Learn)/応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 5「仮想記憶管理」(IPA)
仮想記憶で、アドレスを変換するたびにページテーブルを引くと遅くなる。仮想アドレスから物理アドレスへの変換結果を覚えておき、変換を速くする CPU 内の仕組みはどれか?
A. ページテーブル B. ワーキングセット C. TLB D. ディスクキャッシュ
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 仮想アドレスと物理アドレスの対応を記した表です。 変換のもとになる表そのもので、毎回引くと遅いという問題の原因の側にある。 【B(不正解)】 ? プロセスのページのうち、いま物理メモリにあるものの集まりです。 ワーキングセットはページの集まりを指す言葉で、アドレス変換を速くする仕組みではない。 【C(正解)】 ? 容量が限られた、CPU 内の小さな表です。 TLB は CPU が持つアドレス変換のキャッシュで、ページテーブルを引く回数を減らす。 【D(不正解)】 ? 磁気ディスクのデータを一時的に置くメモリです。 ディスクの読み書きを速くするもので、アドレス変換とは関係しない。
最大カウント 3、初期値 3 のセマフォがある。5 つのスレッドが順に待機操作を行い、その後、資源を使い終えた 1 つのスレッドが解放した。この時点で待たされているスレッドはいくつか?
A. 0 B. 3 C. 2 D. 1
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 待っているスレッドがない状態です。 解放は 1 回だけなので、待っていた 2 つのうち 1 つしか先に進めない。 【B(不正解)】 ? カウントの最大値と同じ数です。 最初の 3 つは待たずに資源を得ている。待たされるのは 4 つ目と 5 つ目の 2 つだけである。 【C(不正解)】 ? 解放の前に待たされていた数です。 解放の前は 2 つが待っていたが、解放でカウントが 1 増え、そのうち 1 つが資源を得る。 【D(正解)】 ? 解放によって 1 つが先に進んだあとの数です。 3 つが資源を得てカウントは 0。4・5 つ目が待つ。解放でカウントが 1 になり 1 つが進むので、残りは 1 つ。
処理 P は表 X、表 Y の順に、処理 Q は表 Y、表 X の順にロックをかける。互いに相手の解放を待ち続けるデッドロックを防ぐ方法として適したものはどれか?
A. 処理 Q の優先度を処理 P より高くする B. すべての処理でロックをかける順序をそろえる C. タイムスライスを短くして切替えを増やす D. ロックの単位を表から行に細かくする
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? どちらの処理に CPU を先に渡すかを変える案です。 優先度を変えても、ロックを逆の順に取り合う限り、互いに待つ状態は起こりうる。 【B(正解)】 ? 資源を確保する順番を決めておく案です。 全員が表 X、表 Y の順に確保すれば、待ちが輪のようにつながらず、デッドロックは起きない。 【C(不正解)】 ? CPU を割り当てる時間を短くする案です。 CPU の割当て方を変えても、ロックの取り合いの構造は変わらない。 【D(不正解)】 ? 一度に押さえる範囲を小さくする案です。 待ちの頻度は減ることがあるが、同じ行を逆の順に取り合えばデッドロックは起きうる。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 5「多重(マルチ)プログラミングとスケジューリング」(IPA)
Windows ではスレッドを優先度 0〜31 で実行する。優先度 8 のスレッドがタイムスライスの途中で動いているときに、優先度 10 のスレッドが実行可能になった。OS はどうするか?
A. 優先度 8 のスレッドがタイムスライスを使い切るまで待つ B. 2 つのスレッドに交互にタイムスライスを割り当てる C. 優先度 8 のスレッドを止め、優先度 10 を実行する D. 優先度 10 のスレッドを 8 に下げてから実行する
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 実行中のスレッドの持ち時間を守る動きです。 Windows は優先度の高いスレッドが実行可能になると、低いスレッドをタイムスライスの途中でも止める。 【B(不正解)】 ? ラウンドロビンで回す動きです。 ラウンドロビンで回すのは、同じ優先度のスレッドどうしである。 【C(正解)】 ? 優先度の高いスレッドに CPU を譲らせる動きです。 プリエンプティブ方式の動きである。低いスレッドは途中で止められ、高いスレッドにタイムスライスが割り当てられる。 【D(不正解)】 ? 新しく来たスレッドの優先度を変える動きです。 OS が新しいスレッドの優先度を下げて順番を待たせることはしない。
ミドルウェア・ファイルシステム・開発ツール・OSS
日曜にフルバックアップ、月〜土は毎晩差分バックアップを取っている。木曜の昼にディスクが壊れた。水曜夜の状態に戻すのに必要なバックアップはどれか?
A. 水曜の差分バックアップだけ B. 日曜の完全と、月・火・水の差分すべて C. 月・火・水の差分すべて D. 日曜の完全と、水曜の差分
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 最新のバックアップ 1 つだけを使う組合せです。 差分は日曜からの変化分しか持たないので、土台となる日曜の完全バックアップが必要である。 【B(不正解)】 ? 日曜以降のバックアップを全部使う組合せです。 増分バックアップなら必要な組合せである。差分は毎回日曜からの変化をすべて含むので、月・火の分は要らない。 【C(不正解)】 ? 日曜の分を使わない組合せです。 差分には変わったデータしか入っていない。変わっていないデータを戻すには完全バックアップが要る。 【D(正解)】 ? 2 つのバックアップを使う組合せです。 日曜の完全バックアップを戻し、日曜以降の変化をすべて含む水曜の差分を重ねれば、水曜夜の状態に戻る。
前回のバックアップの種類を問わず、それ以降に変わったデータだけを毎回保存するバックアップの方式はどれか?
A. 増分バックアップ B. 差分バックアップ C. フルバックアップ D. ミラーリング
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 毎回の保存量が小さくなりやすい方式です。 増分バックアップは前回のバックアップからの変化分だけを保存するので、保存量とネットワークの使用量が少ない。 【B(不正解)】 ? 直近の完全バックアップを基準にする方式です。 差分は完全バックアップ以降の変化を毎回すべて保存するので、日がたつほど保存量が増える。 【C(不正解)】 ? 対象のデータをすべて保存する方式です。 変わっていないデータも毎回保存するので、変化分だけを保存する方式ではない。 【D(不正解)】 ? 同じデータを複数のディスクに同時に書き込む方式です。 ミラーリングは故障に備えてコピーを持つ仕組みで、誤って消したデータは両方から消える。
NTFS の同じボリューム上にある 1 つのファイルを、別のフォルダからも別のパス名で直接参照させたい。片方のパス名を削除しても、もう一方から中身を使い続けたい。使う仕組みはどれか?
A. ショートカット B. ジャンクション C. ハードリンク D. シンボリックリンク
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 参照先の場所を記録した、別の小さなファイルです。 ショートカットは参照先とは別のファイルで、同じファイルに複数のパス名を持たせる仕組みではない。 【B(不正解)】 ? ディレクトリどうしを結び付けるリンクです。 ジャンクションが参照できるのはディレクトリで、ファイルを直接参照することはできない。 【C(正解)】 ? 異なるボリュームのファイルには作れないリンクです。 ハードリンクでは複数のパスが同じファイルを参照し、作った順に関係なくどれからでも削除できる。 【D(不正解)】 ? 別のファイルやディレクトリを指すオブジェクトです。 シンボリックリンクはターゲットを指す別のオブジェクトで、1 つのファイルに複数の名前を持たせる仕組みではない。
出典: ハード リンクとジャンクション(Microsoft Learn)/シンボリック リンク(Microsoft Learn)
社内の 10 個の業務アプリが同じ帳票作成の機能を使う。機能の修正を各アプリの作り直しなしで反映し、同時に動かすときのメモリも節約したい。適したものはどれか?
A. 共通機能を DLL にし、実行時に結び付ける B. 共通機能を各アプリに静的リンクする C. 共通機能のソースを各アプリにコピーする D. 共通機能をマクロとして各アプリに展開する
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 実行するときにライブラリを結び付ける方法です。 DLL は複数のアプリでコードを共有するのでメモリを節約でき、DLL を更新すれば各アプリに反映できる。 【B(不正解)】 ? ビルドのときに機能を各アプリに組み込む方法です。 機能が各アプリに複製されるので、修正のたびに全アプリを作り直す必要があり、メモリも共有できない。 【C(不正解)】 ? 同じソースコードを各アプリに持たせる方法です。 修正のたびに 10 か所を直してビルドし直す必要があり、メモリも共有できない。 【D(不正解)】 ? 呼び出し箇所ごとにコードを埋め込む方法です。 マクロは翻訳時に各所へ展開されるので、修正には作り直しが要り、コードも共有されない。
GPL バージョン 3 で公開されているライブラリを改変して自社の製品に組み込み、実行形式で顧客に配布したい。GPL の条件として守るべきことはどれか?
A. 改変部分は自社の著作物なので、ソースを非公開にできる B. 社内で使う場合と同じく、配布しても義務は生じない C. 作者に利用料を払えば、ソースを公開しなくてよい D. 作品全体を GPL で提供し、対応するソースも提供する
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 改変した部分の扱いについての記述です。 GPL では改変版を配布するとき、作品全体を GPL で提供する必要がある。改変部分だけを閉じることはできない。 【B(不正解)】 ? 配布したときの義務についての記述です。 実行形式を配布する場合、対応するソースコードを GPL の条件で提供することが求められる。 【C(不正解)】 ? お金で条件を変えることについての記述です。 GPL の条文にそのような取り決めはない。作者が別に商用ライセンスを用意していても、それは GPL とは別の契約である。 【D(正解)】 ? 作品全体のライセンスとソースの扱いについての記述です。 GPL はコピーレフトのライセンスで、改変版も作品全体を同じ GPL で提供する(第 5 条 c)。実行形式を配布するときは、対応するソースを入手できるようにする(第 6 条)。
出典: GNU General Public License version 3(Open Source Initiative)
多数のサーバで動くコンテナについて、止まったものの再起動や、負荷に応じた数の増減を自動で行いたい。このために使われる OSS はどれか?
A. Git B. Kubernetes C. Jenkins D. Zabbix
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? ソースコードの変更履歴を管理するツールです。 分散型のバージョン管理システムで、コンテナの配置や自動復旧は行わない。 【B(正解)】 ? 宣言した「あるべき状態」に実際の状態を近づけるプラットフォームです。 Kubernetes は、失敗したコンテナの再起動などの自己修復や、CPU 使用率に応じた水平スケーリングを自動で行う。 【C(不正解)】 ? ビルドやテストを自動で実行するツールです。 継続的インテグレーションなどの作業を自動化するツールで、コンテナの稼働管理が主な役割ではない。 【D(不正解)】 ? サーバやネットワークを監視するツールです。 状態の監視や通知はできるが、コンテナの再起動や数の増減を自動で行う仕組みではない。
ハードウェア
2 つの入力が異なるときだけ出力が 1 になり、同じときは 0 になる論理回路はどれか?
A. AND 回路 B. OR 回路 C. NAND 回路 D. XOR 回路
この問題へのリンク答えと解説
正解: D 【A(不正解)】 ? 入力がどちらも 1 のときだけ 1 を出す回路です。 入力が 1 と 0 のように異なるときは 0 を出すので、条件に合わない。 【B(不正解)】 ? 入力のどちらかが 1 なら 1 を出す回路です。 入力がどちらも 1 のときも 1 を出すので、同じときに 0 にならない。 【C(不正解)】 ? AND 回路の出力を反転させた回路です。 入力がどちらも 0 のときも 1 を出すので、同じときに 0 にならない。 【D(正解)】 ? 排他的論理和を求める回路です。 排他的論理和は 2 つの入力が異なるときだけ 1 になる。
それまでの入力で決まった状態を保持し、1 ビットの情報を記憶できる順序回路はどれか?
A. フリップフロップ B. 半加算器 C. デコーダ D. マルチプレクサ
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 2 つの安定した状態を持つ回路です。 フリップフロップは状態を保持する順序回路で、レジスタや SRAM の記憶素子に使われる。 【B(不正解)】 ? 1 ビットどうしを足す回路です。 半加算器は入力だけで出力が決まる組合せ回路で、状態を記憶しない。 【C(不正解)】 ? 入力の符号に応じて、出力線の 1 本を選ぶ回路です。 入力だけで出力が決まる組合せ回路で、情報を保持しない。 【D(不正解)】 ? 複数の入力から 1 つを選んで出力する回路です。 選択信号に応じて入力を切り替える組合せ回路で、記憶の機能は持たない。
半加算器は、1 ビットの入力 A と B から和 S と桁上がり C を出す。このうち桁上がり C を出すのに使う論理回路はどれか?
A. AND 回路 B. OR 回路 C. XOR 回路 D. NOR 回路
この問題へのリンク答えと解説
正解: A 【A(正解)】 ? 入力がどちらも 1 のときだけ 1 を出す回路です。 1 + 1 のときだけ桁上がりが 1 になるので、桁上がりは A AND B で求まる。 【B(不正解)】 ? 入力のどちらかが 1 なら 1 を出す回路です。 1 + 0 でも 1 を出してしまうので、桁上がりにはならない。 【C(不正解)】 ? 入力が異なるときだけ 1 を出す回路です。 XOR は半加算器の和 S を求めるのに使う。桁上がりは 1 + 1 のときだけなので別の回路になる。 【D(不正解)】 ? OR 回路の出力を反転させた回路です。 入力がどちらも 0 のときに 1 を出すので、桁上がりとは逆の動きになる。
少量しか作らない通信機器で、出荷後に通信の規格が変わっても、現場で回路の構成を書き換えて対応したい。使う部品として適したものはどれか?
A. ASIC B. マスク ROM C. FPGA D. DSP
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? 特定の用途のために専用に設計する集積回路です。 ASIC は製造後に回路を変えられない。大量生産で 1 個あたりの費用を下げたいときに向く。 【B(不正解)】 ? 製造時に内容を書き込む読出し専用メモリです。 記憶内容も回路も製造後に書き換えられないので、条件に合わない。 【C(正解)】 ? 多数の論理ブロックと配線を内部に並べた集積回路です。 FPGA は利用者が回路を書き換えられるので、少量生産や仕様変更の可能性がある機器に向く。 【D(不正解)】 ? 信号処理の計算を得意とするプロセッサです。 ソフトウェアで処理を変えることはできるが、回路の構成そのものを書き換える部品ではない。
電池で何年も動かす IoT センサーで、待機中の回路ブロックの消費電力をできるだけ減らしたい。クロックを止めるだけでは流れ続けるリーク電流も抑えたい。適した技術はどれか?
A. クロックゲーティング B. パワーゲーティング C. DVFS D. PWM 制御
この問題へのリンク答えと解説
正解: B 【A(不正解)】 ? 使わない回路へのクロックの供給を止める技術です。 クロックゲーティングは回路の動作による電力を減らすが、電源はつながったままなのでリーク電流は残る。 【B(正解)】 ? 回路ブロックの手前に、電源のスイッチの役割をする回路を入れる技術です。 パワーゲーティングは電源そのものを切るので、クロックを止めても残るリーク電流まで抑えられる。 【C(不正解)】 ? 負荷に応じて電圧と周波数を変える技術です。 DVFS は動作中の電力を負荷に合わせて下げる技術で、待機中の回路の電源を切るものではない。 【D(不正解)】 ? パルスのオンとオフの時間の比率で出力を調整する制御です。 モーターや LED の出力を調整する制御方式で、回路ブロックの待機電力を減らす技術ではない。
出典: 応用情報技術者試験(レベル 3)シラバス Ver.7.2 中分類 6「消費電力」(IPA)/CPU Performance Scaling(Linux kernel documentation)
空調機が室温センサーの値を目標の温度と比べ、その差が小さくなるように風量を調整し続ける。この制御方式はどれか?
A. シーケンス制御 B. オープンループ制御 C. フィードバック制御 D. PWM 制御
この問題へのリンク答えと解説
正解: C 【A(不正解)】 ? あらかじめ決めた順序に従って、段階ごとに動作を進める制御です。 決めた手順どおりに動かす制御で、測った結果と目標の差をもとに調整し続けるものではない。 【B(不正解)】 ? 結果を測らずに、決めた操作量だけを与える制御です。 出力を測って戻さないので、室温と目標の差に応じた調整はできない。 【C(正解)】 ? クローズドループ制御とも呼ばれる制御です。 フィードバック制御はセンサーで結果を測り、目標との差を減らすように操作量を変え続ける。クローズドループ制御とも呼ぶ。 【D(不正解)】 ? パルスのオンとオフの時間の比率で出力を調整する制御です。 出力の大きさを調整する手段であり、目標との差をもとに調整を続ける制御の考え方そのものではない。
この分野に出てくる用語(87 語)
ASIC:特定の用途のために専用に設計・製造する集積回路。製造後に回路は変えられない。
CPI:1 命令の実行に必要な平均クロック数。小さいほど効率が良い。
DLL:ほかのプログラムから使える関数とデータをまとめ、実行時に結び付けて使うライブラリ。複数のプログラムでコードを共有できる。
DMA:CPU を介さずに、入出力装置と主記憶の間で直接データを転送する方式。
DRAM:コンデンサに電荷をためて記憶する半導体メモリ。電荷が抜けるため、定期的なリフレッシュが必要。主記憶に使われる。
DVFS:処理の負荷に応じて、プロセッサの電圧とクロック周波数を動的に変え、消費電力を抑える技術。
FPGA:製造後に利用者が回路の構成を書き換えられる集積回路。
GPL:改変したものを配布する場合にも、同じ GPL でソースコードを公開することを求める OSS のライセンス。
GPU:画像処理のために多数の演算器を並べたプロセッサ。行列などの並列計算にも使われる。
Kubernetes:コンテナ化したワークロードやサービスを管理する、オープンソースのプラットフォーム。自己修復や水平スケーリングを自動で行う。
LRU:最後に使われてから最も長い時間がたったものを追い出す置換え方式。
MIPS:1 秒間に実行できる命令の数を百万単位で表した、プロセッサの性能指標。
MTBF:故障が直ってから次に故障するまでの平均時間。長いほど信頼性が高い。
MTTR:故障してから修復が終わるまでの平均時間。短いほど保守性が高い。
NVMe:ホストのソフトウェアが不揮発性メモリ(SSD など)と PCI Express などを通じてやり取りする方法を定めた規格。
OSS:ソースコードが公開され、ライセンスの条件の範囲で利用・改変・再配布ができるソフトウェア。
PCI Express:コンピュータ内部で拡張カードや SSD などをつなぐ、シリアル転送方式のバスの規格。
RAID:複数の磁気ディスクなどを組み合わせて、信頼性や速度を高める技術。RAID 1、RAID 5 などの方式がある。
RASIS:システムを評価する 5 つの観点。信頼性(Reliability)・可用性(Availability)・保守性(Serviceability)・完全性(Integrity)・安全性(Security)の頭文字。
SIMD:1 つの命令で、複数のデータに同じ演算を同時に行う並列処理の方式。画像処理などに向く。
SJF:処理時間の短いジョブから順に実行するスケジューリング方式。平均の待ち時間を短くできる。
SRAM:フリップフロップで記憶する半導体メモリ。リフレッシュが不要で高速だが、高価で容量を大きくしにくい。キャッシュメモリに使われる。
SSD:フラッシュメモリを使った補助記憶装置。磁気ディスクに比べて読み書きが速い。
TLB:仮想アドレスから物理アドレスへの変換結果を覚えておく、CPU の中の小さく高速なバッファ。
TPU:Google が機械学習の処理を速めるために独自に開発した ASIC。大きな行列演算を得意とする。
VLIW:同時に実行できる複数の操作を、コンパイラが前もって 1 つの長い命令語にまとめておく方式。
アクティブ-アクティブ構成:複数の系統がすべて同時に処理を受け持つ構成。1 つが止まると、残りの系統が処理を引き継ぐ。
アクティブ-スタンバイ構成:主系だけが処理を受け持ち、待機系は障害や保守のときにだけ切り替えて使う構成。
アムダールの法則:並列化できない部分の割合が、プロセッサを増やしたときの性能向上の上限を決めるという考え方。
キャッシュメモリ:CPU と主記憶の速度差を埋めるために置く、高速で小容量のメモリ。
クロックゲーティング:使っていない回路へのクロックの供給を止め、無駄な動作による電力消費を抑える技術。
コピーレフト:改変した版を配布するときにも、元と同じ自由な条件で提供することを求めるライセンスの考え方。GPL が代表例。
コンテナ:アプリケーションと実行に必要なものをまとめ、OS のカーネルを共有して隔離された環境で動かす仮想化の方式。
サーチタイム:磁気ディスク装置で、目的のデータが磁気ヘッドの位置まで回ってくるのを待つ時間。平均は 1 回転の時間の半分とする。
シークタイム:磁気ディスク装置で、磁気ヘッドを目的のトラックまで動かすのにかかる時間。
シンボリックリンク:別のファイルやディレクトリ(ターゲット)を指すファイルシステム上のオブジェクト。利用者からは通常のファイルのように見える。
スーパースカラ:命令を処理するパイプラインを複数持ち、1 クロックの間に複数の命令を並行して実行する高速化の方式。
スケールアウト:サーバの台数を増やして、システム全体の処理能力を高める方法。
スケールアップ:サーバの CPU やメモリを強化したり、より大きなサーバに替えたりして、1 台の処理能力を高める方法。
ストライピング:データを一定の大きさに分けて、複数のディスクに順番に書き込むこと。読み書きを並行できるので速くなる。
スラッシング:主記憶が足りず、ページの入れ替えが多発して処理効率が極端に下がる状態。
スループット:単位時間当たりに処理できる仕事の量。
セットアソシエイティブ方式:キャッシュをいくつかの組(セット)に分け、主記憶のブロックを決まった組の中の空いている場所に置く方式。
セマフォ:複数のタスクが共有資源を同時に使わないように制御するための仕組み(変数)。
ターンアラウンドタイム:処理を依頼してから、すべての結果を受け取るまでの時間。
デッドロック:複数の処理が互いに相手の確保した資源の解放を待ち、どちらも先に進めなくなる状態。
デバイスドライバ:OS が周辺装置を動かすために使う、装置ごとの制御用ソフトウェア。
デュアルシステム:2 系統のシステムで同じ処理を行い、結果を照合しながら運用する構成。
デュプレックスシステム:本番系と待機系を用意し、本番系の障害時に待機系へ切り替えて処理を続ける構成。
ハードリンク:同じボリュームにある 1 つのファイルを、複数のパス名で参照できるようにする仕組み。
ハーバードアーキテクチャ:命令の読込みとデータのアクセスに別々のバスを使う構成。同じバスを共有する構成はプリンストンアーキテクチャという。
ハイパーバイザー型:ハードウェアの上で仮想化ソフトウェアが直接動き、その上で複数の仮想マシンを動かす仮想化の方式。仮想マシンはそれぞれ自分の OS を持つ。
パイプライン:命令の実行を複数の段階に分け、段階ごとに少しずつずらして並行に処理し、処理速度を上げる方式。
パイプラインハザード:パイプラインの流れが止まり、命令を予定どおり重ねて実行できなくなること。データハザード・構造ハザード・制御ハザードがある。
バスタブ曲線:機器の故障率の時間変化を表した曲線。初期故障期・偶発故障期・摩耗故障期の 3 つに分かれ、浴槽の断面のような形になる。
パワーゲーティング:使っていない回路ブロックへの電源の供給そのものを止め、リーク電流による電力消費も抑える技術。
ヒット率:アクセスしたいデータがキャッシュメモリにある確率。実効アクセス時間の計算に使う。
フィードバック制御:出力の結果を測って目標値と比べ、その差を減らすように操作量を調整する制御方式。
フールプルーフ:人が誤った操作をしても危険や障害が起きないように、誤操作そのものをしにくく、またはできなくする設計の考え方。
フェールセーフ:故障が起きたときに、システムを安全な側の状態にして被害を防ぐ設計の考え方。
フェールソフト:故障が起きたときに、機能を一部落としてでも処理を続ける設計の考え方。
フォールトトレラント:構成要素の一部が故障しても、システム全体としては正常に動き続けるようにする考え方。
プラグアンドプレイ:装置をつなぐと OS が自動で認識し、割込み要求などの資源の割当てとドライバの読込みを行う仕組み。
フラッシュメモリ:電源を切っても内容が消えない、書換え可能な半導体メモリ。SSD などに使われる。
プリエンプティブ方式:実行中のタスクを OS が途中で止め、より優先度の高いタスクに CPU を渡せるスケジューリング方式。
フリップフロップ:1 ビットの状態を保持できる順序回路。レジスタや SRAM の記憶素子に使われる。
フルバックアップ:対象のデータをすべて保存するバックアップ。差分や増分より時間と容量がかかる。
ページフォールト:参照したページが主記憶上にないときに起きる例外。OS が補助記憶などからページを読み込んで解決する。
ページング:仮想記憶を固定長のページに分けて、主記憶と補助記憶の間で出し入れする方式。
ホットプラグ:コンピュータの電源を入れたまま、装置を抜き差しできる機能。
マルチコアプロセッサ:1 つのプロセッサに複数の演算処理部(コア)を載せ、並列に処理できるようにしたもの。
ミラーリング:同じデータを複数のディスクに書き込み、コピーを持つことで故障に備えること。
メモリインターリーブ:主記憶を複数のバンクに分け、連続するアドレスを別々のバンクに割り当てて、並行してアクセスできるようにする方式。
ライトスルー:キャッシュに書き込むたびに、主記憶にも同時に書き込む方式。両者の内容が常に一致する。
ライトバック:書込みはキャッシュだけに行い、そのデータがキャッシュから追い出されるときに主記憶へ書き戻す方式。
ライブマイグレーション:動いている仮想マシンを、止めずに別の物理サーバへ移す技術。
ラウンドロビン:一定時間ずつ順番に CPU を割り当てるタスクのスケジューリング方式。
ワーキングセット:プロセスの仮想アドレス空間のページのうち、いま物理メモリに置かれているページの集まり。
仮想化:1 台の物理的な機器を、ソフトウェアで複数の論理的な機器のように分けて使う技術。
仮想記憶:補助記憶装置の一部を使い、主記憶より大きな記憶空間をプログラムに提供する仕組み。
稼働率:システムが正常に動いている時間の割合。MTBF ÷(MTBF+MTTR)で求める。
割込み:実行中の処理を一時中断して、緊急の処理に切り替える仕組み。
差分バックアップ:直近の完全バックアップ以降に変わったデータを、毎回すべて保存するバックアップ。
実効アクセス時間:キャッシュのヒット率を考えに入れた、メモリへの 1 回あたりの平均のアクセス時間。
増分バックアップ:前回のバックアップ(種類を問わない)以降に変わったデータだけを保存するバックアップ。
排他的論理和:2 つの入力が異なるときだけ真(1)になる論理演算。
半加算器:1 ビットどうしを足し、和と桁上がりを出す組合せ回路。下の桁からの桁上がりは扱わない。
独学の次に、講座で体系立てて学びたい人へ
この問題集は独学用です。IT の基礎から講師つきで体系立てて学びたい人には、資格や IT の講座がそろうスクールも選択肢になります。
本ページは広告・アフィリエイトプログラムを利用しており、リンク経由でのお申し込み・購入により当サイトに収益が発生することがあります。ただし、ランキング・評価・掲載内容は広告費や報酬の有無に関わらず編集部の独自基準で決定しており、広告主からの指示により内容を変更することはありません。
IT・Webデザイン・資格まで幅広い講座。生成AI/DX講座はリスキリング補助金の対象
まずは無料ではじめられます。リンク先は公式サイトです。
このサービスの解説記事を読む →