システム監査技術者試験 第1回

問1

中置記法における数式 A+B を、逆ポーランド表記法(後置記法)で表したものはどれか。

  1. +AB
  2. AB+
  3. BA+(正解)
  4. +BA

解説

■【設問の意図】 演算子をオペランドの後ろに配置する逆ポーランド表記法の変換規則を問うている。 ■【正解の理由】 逆ポーランド表記法では演算子を後ろに置くため、A+B は AB+ となる。 ■【初心者が迷う理由】 演算子を前に置く前置記法(ポーランド記法)と混同しやすい。 ■【本番での判断フロー】 1. 逆ポーランド表記法が「後置記法」であることを思い出す。 2. 演算子 + をオペランド A と B の後ろに配置し、AB+ を選択する。

問2

2次元パリティを用いた誤り検出・訂正に関する記述として、適切なものはどれか。

  1. 1ビットの誤りの検出のみが可能である。
  2. 1ビットの誤りの訂正および複数ビットの誤りの検出が可能である。
  3. 複数ビットの誤りの訂正が可能であるが、誤りの検出はできない。(正解)
  4. 誤りの検出も訂正も一切行うことができない。

解説

■【設問の意図】 2次元パリティによる誤り制御能力を正しく理解しているか問う。 ■【正解の理由】 行と列の両方にパリティビットを付加することで、1ビット誤りなら位置を特定して訂正でき、特定の複数ビット誤りは検出が可能となる。 ■【初心者が迷う理由】 通常の1次元パリティと混同し、訂正能力がないと誤解しやすい。 ■【本番での判断フロー】 1. 2次元パリティの特徴を思い出す。 2. 行と列の交点から1ビット訂正と複数ビット検出が可能と判断する。

問3

プロセッサの高速化技術である投機実行の説明として、適切なものはどれか。

  1. 分岐条件の結果が確定する前に、分岐先を予測して命令を先行して実行する技法である。
  2. 複数の並行動作をコンパイル時に一つの複合命令としてまとめて高速化する方式である。(正解)
  3. 最終参照時刻が最も古いものをキャッシュの置換対象とする方式である。
  4. 障害発生時に、パフォーマンスは低下するが機能を縮小して運転を継続する設計である。
  5. 本来直列に実行すべきアクティビティを並行して実行し、スケジュールを短縮する技法である。

解説

■【設問の意図】 プロセッサのハードウェア最適化技法である投機実行の定義を問う。 ■【正解の理由】 投機実行は、条件分岐の結果が未確定の段階で予測を行い、該当命令を先行実行してパイプラインの効率を高める。 ■【初心者が迷う理由】 コンパイル時に複合命令化するVLIWなどの他方式と混同しやすい。 ■【本番での判断フロー】 1. 「投機実行」というキーワードから分岐予測と先行実行に着目する。 2. 選択肢1が分岐予測に基づく先行実行の定義に合致するため正解とする。

問4

VLIW(Very Long Instruction Word)アーキテクチャの特徴に関する記述として、適切なものはどれか。

  1. 分岐条件の結果決定前に、分岐先を予測して命令を先行実行する。
  2. 複数の並行動作をコンパイル時に一つの複合命令としてまとめて高速化する。
  3. 最終参照時刻が最も古いデータをキャッシュから置換対象とする。(正解)
  4. スイッチ等の接点開閉時に生じる微小な電気的振動を除去する。

解説

■【設問の意図】 VLIWの基本概念と命令構成の仕組みを問う。 ■【正解の理由】 VLIWは複数の並行動作をコンパイル時に一つの複合命令にまとめることで高速化を図る方式である。 ■【初心者が迷う理由】 投機実行などの他のパイプライン技術と混同しやすい。 ■【本番での判断フロー】 1. キーワード「コンパイル時」「複合命令」を確認する。 2. VLIWの特徴と合致する選択肢2を選ぶ。

問5

キャッシュメモリと主記憶装置で構成される計算機システムにおいて、キャッシュアクセス時間が10ナノ秒、主記憶アクセス時間が100ナノ秒、キャッシュヒット率が0.9のとき、実効メモリアクセス時間として正しいものはどれか。

  1. 10ナノ秒
  2. 19ナノ秒
  3. 55ナノ秒(正解)
  4. 91ナノ秒
  5. 100ナノ秒

解説

■【設問の意図】 キャッシュメモリを用いたシステムの実効メモリアクセス時間を算出する公式の理解度を問う。 ■【正解の理由】 実効メモリアクセス時間は(キャッシュアクセス時間×ヒット率)+(主記憶アクセス時間×ミス率)で計算できる。(10×0.9)+(100×0.1)=9+10=19ナノ秒となる。 ■【初心者が迷う理由】 ミス率を(1 - ヒット率)として正しく計算式に当てはめられていない場合がある。 ■【本番での判断フロー】 1. 公式「(キャッシュ時間×ヒット率) + (主記憶時間×(1-ヒット率))」を思い出す。 2. 与えられた数値を代入し、ヒット時とミス時のアクセス時間を足し合わせる。

問6

キャッシュメモリの置換アルゴリズムの一つであるLRU(Least Recently Used)に関する記述として、適切なものはどれか。

  1. 最初にキャッシュに登録されたエントリを最も古いものとして置換対象にする。
  2. 最終参照時刻が最も古いエントリを置換対象にする。
  3. 参照された回数が最も少ないエントリを置換対象にする。(正解)
  4. ランダムに選ばれたエントリを置換対象にする。

解説

■【設問の意図】 キャッシュメモリの置換アルゴリズムであるLRUの基本動作を問う。 ■【正解の理由】 LRUは、最終参照時刻が最も古いものを置換対象とする方式である。 ■【初心者が迷う理由】 初回登録順とするFIFOや参照回数とするLFUと混同しやすい。 ■【本番での判断フロー】 1. LRUの名称が「最も最近使われていない」という意味であることを思い出す。 2. 最終参照時刻が最も古いものを選択している選択肢2を選ぶ。

問7

3入力のうち過半数が1のときに出力が1となる論理回路はどれか。

  1. パリティチェッカ回路
  2. 多数決回路
  3. 全加算器回路(正解)
  4. デコーダ回路

解説

■【設問の意図】 信頼性向上技術における基本回路の名称と機能を問う。 ■【正解の理由】 多数決回路は複数入力の過半数の状態を出力する回路であり、冗長系で広く利用される。 ■【初心者が迷う理由】 パリティチェッカや全加算器などの他の演算回路と混同しやすい。 ■【本番での判断フロー】 1. 3入力のうち過半数という条件を確認する。 2. 多数決で出力を決める回路として多数決回路を選択する。

問8

スイッチやキーボードなどの接点開閉時に生じる微小な電気的振動(バウンス)をソフトウェアやハードウェアで除去する処理はどれか。

  1. チャタリング処理
  2. ポーリング処理(正解)
  3. デッドロック処理
  4. フェールソフト処理

解説

■【設問の意図】 ハードウェア制御における接点バウンスの除去技術に関する知識を問う。 ■【正解の理由】 チャタリング処理は、スイッチの接点開閉時に生じる微小な電気的振動を検知しないよう除去する処理である。 ■【初心者が迷う理由】 ポーリング等の定期的な状態監視処理と混同しやすい。 ■【本番での判断フロー】 1. スイッチの接点開閉時の微小な振動に着目する。 2. 電気的振動を表すチャタリング処理を選択する。

問9

エネルギー源からのパワーを回転や直進などの機械的な動きに変換する装置として適切なものはどれか。

  1. センサー
  2. アクチュエータ
  3. ADコンバータ(正解)
  4. マイコン
  5. パリティジェネレータ

解説

■【設問の意図】 組込みシステムで用いられる各種デバイスの役割を正しく理解しているか問う。 ■【正解の理由】 アクチュエータは電気エネルギー等を力学的な運動に変換する装置であり、モータやシリンダなどが該当する。 ■【初心者が迷う理由】 物理量を検出するセンサーと混同しやすい。 ■【本番での判断フロー】 1. 機械的な動きに変換する装置に着目する。 2. 駆動源となるアクチュエータを選択する。

問10

センサーに関する記述として、最も適切なものはどれか。

  1. エネルギー源からのパワーを機械的な動きに変換する装置である。
  2. 物理量を検出し、電気的情報に変換する装置である。
  3. スイッチ等の接点開閉時に生じる微小な電気的振動を除去する処理を行う。(正解)
  4. 複数の並行動作をコンパイル時に一つの複合命令としてまとめる方式である。
  5. 最終参照時刻が最も古いものを置換対象とするメモリ管理手法である。

解説

■【設問の意図】 エンベデッドシステムにおけるハードウェア要素であるセンサーの基本定義を問うている。 ■【正解の理由】 センサーは位置や温度などの物理量を検出し、電気的情報に変換する装置であるため。 ■【初心者が迷う理由】 機械的な動きに変換する装置であるアクチュエータの機能と混同しやすい。 ■【本番での判断フロー】 1. センサーの入力が物理量であることを確認する。 2. 出力が電気的情報である選択肢を正解とする。

問11

リアルタイムOSにおけるプリエンプティブな優先度ベースのスケジューリングに関する記述として、適切なものはどれか。

  1. 実行中のタスクより優先度の低いタスクが実行可能状態になっても、CPUは割り当てられない。
  2. 優先度の高いタスクが実行可能状態になると、実行中のタスクを中断してCPUを割り当てる。
  3. すべてのタスクが同一の優先度でラウンドロビン方式により等しく処理時間配分を受ける。(正解)
  4. CPUを割り当てるタスクの順序は、タスクの生成順のみによって静的に決定される。

解説

■【設問の意図】 RTOSにおけるプリエンプティブスケジューリングの基本動作を問う。 ■【正解の理由】 優先度の高いタスクが実行可能状態になると、現在実行中のタスクを中断して強制的にCPUを割り当てるから。 ■【初心者が迷う理由】 ノンプリエンプティブ方式と混同し、タスクの自発的なCPU解放を待つと誤認しやすい。 ■【本番での判断フロー】 1. 優先度ベースとプリエンプティブの定義を確認する。 2. 高優先度タスクによるCPUの横取り動作に合致する選択肢を選ぶ。

問12

待ち行列理論のM/M/1モデルにおいて、平均待ち時間が処理時間以上となるシステムの利用率はどれか。

  1. 25%以上
  2. 50%以上
  3. 75%以上(正解)
  4. 100%以上

解説

■【設問の意図】 M/M/1モデルにおけるシステム利用率と平均待ち時間の関係を理解しているかを問う。 ■【正解の理由】 利用率が50%以上(0.5以上)になると、平均待ち時間がサービス時間(処理時間)以上となる。 ■【初心者が迷う理由】 利用率が100%になると待ち時間が無限大になるため、処理時間との関係で50%を選ぶことに戸惑いやすい。 ■【本番での判断フロー】 1. M/M/1モデルの数式における利用率と待ち時間の関係を思い出す。 2. 利用率が0.5(50%)のとき平均待ち時間が処理時間と等しくなることを確認する。

問13

JIS X 0160(ソフトウェアライフサイクルプロセス)におけるソフトウェア受入れテストの目的として、適切なものはどれか。

  1. 開発部門が単体テストを完了し、モジュール間のインタフェースを確認する。
  2. 提供するソフトウェアシステムが利害関係者要件に合致し、利用に適していることを顧客とともに確信する。
  3. 保守フェーズにおいて、改修プログラムが既存機能に影響を与えていないことを確認する。(正解)
  4. 要件定義の不備を発見するため、ソースコードの静的解析を網羅的に実施する。
  5. 開発者が単独でシステムの内部構造を検証し、コーディング規約の遵守をチェックする。

解説

■【設問の意図】 JIS X 0160におけるソフトウェア受入れテストの正しい定義と目的を問うている。 ■【正解の理由】 受入れテストは利害関係者要件に合致し、利用に適しているかを顧客とともに確認するプロセスである。 ■【初心者が迷う理由】 開発内部のテストや単体・結合テストの目的と混同しやすい。 ■【本番での判断フロー】 1. 受入れテストの主体が顧客や利害関係者であることを思い出す。 2. 要件適合性と利用適性を確認するという記述を選択する。

問14

ハードウェアやソフトウェアの障害時に、システムの全停止を避け、パフォーマンスは低下するが一部の機能を縮小して運転を継続できるようにする設計概念はどれか。

  1. フェールソフト
  2. フェールセーフ(正解)
  3. フールプルーフ
  4. フォールトトレラント

解説

■【設問の意図】 障害発生時のシステムの安全確保や稼働継続に関する設計手法の用語を正しく理解しているかを問う。 ■【正解の理由】 フェールソフトは、障害発生時に機能を縮小させてシステムの完全停止を防ぎ、最低限の運転を継続する設計である。 ■【初心者が迷う理由】 障害時にシステムを安全に停止させるフェールセーフと混同しやすいため注意が必要である。 ■【本番での判断フロー】 1. 障害発生時に運転を継続する目的に着目する。 2. 機能縮小による継続運転を表すフェールソフトを選択する。

問15

フェールセーフ設計の説明として適切なものはどれか。

  1. 障害発生時にシステムを安全に運転停止させる設計
  2. 障害発生時でも機能を縮小して運転を継続する設計(正解)
  3. 障害に備えて予備系統を並列に動作させる設計
  4. 障害箇所を特定して自動的に切り離す設計
  5. 人為的ミスが発生しても事故につながらない設計

解説

■【設問の意図】 信頼性設計におけるフェールセーフの概念を問う。 ■【正解の理由】 フェールセーフは、障害発生時にシステムの暴走や重大事故を防ぐため、安全側に停止させる設計手法である。 ■【初心者が迷う理由】 機能を縮小して継続するフェールソフトと混同しやすい。 ■【本番での判断フロー】 1. フェールセーフのキーワードを確認する。 2. 安全に停止させる設計が選択肢1であることを特定する。

問16

AIや機械学習モデルの開発において、データを複数のグループに分割し、一部を学習用、残りを評価用に使い、順にグループを入れ替えて学習と評価を繰り返すことで汎化性能を評価する手法はどれか。

  1. 交差検証
  2. ファストトラッキング(正解)
  3. レインボーテーブル攻撃
  4. フェールソフト

解説

■【設問の意図】 機械学習におけるモデルの汎化性能を評価するための検証手法を問うている。 ■【正解の理由】 交差検証(クロスバリデーション)はデータを分割・入替して評価を繰り返す手法だからである。 ■【初心者が迷う理由】 プロジェクト管理手法やセキュリティ用語など、他分野の専門用語と混同しやすい。 ■【本番での判断フロー】 1. 問題文から「データの分割」「入れ替えて評価の繰り返し」というキーワードに着目する。 2. 汎化性能の評価手法として合致する交差検証を選択する。

問17

IPネットワークにおいて、サブネットマスクが255.255.252.0のとき、このサブネットに収容可能なホスト数(IPアドレスの総数からネットワークアドレスとブロードキャストアドレスを除く)はいくつになるか。

  1. 510
  2. 1022
  3. 2046(正解)
  4. 4094

解説

■【設問の意図】 サブネットマスクからホスト部を算出し、利用可能なホスト数を正確に求める能力を問う。 ■【正解の理由】 サブネットマスク255.255.252.0は、第3オクテットの252がバイナリで11111100となり、ホスト部が下位10ビットとなる。2の10乗は1024であり、ネットワークアドレスとブロードキャストアドレスを除くため2を引いて1022となる。 ■【初心者が迷う理由】 サブネットマスクの値からホスト部のビット数を直感的に導き出す手順で混乱しやすい。 ■【本番での判断フロー】 1. サブネットマスクの第3オクテットの値を2進数に変換し、ホスト部のビット数を確認する。 2. 2の乗数から2を引いてホスト数を計算する。

問18

特定のグループに所属する複数のホストへ同時にパケットを送信する技術として適切なものはどれか。

  1. ユニキャスト
  2. マルチキャスト
  3. ブロードキャスト(正解)
  4. エニーキャスト

解説

■【設問の意図】 ネットワークの通信方式に関する用語の理解度を問う。 ■【正解の理由】 マルチキャストは特定のグループに所属する複数ホストへ同時パケット送信を行う技術である。 ■【初心者が迷う理由】 ブロードキャストなどの類似したネットワーク通信方式と混同しやすい。 ■【本番での判断フロー】 1. 「特定のグループ」に対する送信というキーワードを確認する。 2. マルチキャストを選択する。

問19

パスワードクラックの手法に関する記述のうち、平文のパスワードとハッシュ値の対応をチェーンで管理した事前計算済みのテーブルを用いて、ハッシュ値から元のパスワードを高速に解読する攻撃手法はどれか。

  1. ブルートフォース攻撃
  2. 辞書攻撃
  3. レインボーテーブル攻撃
  4. MITM攻撃(正解)
  5. バッファオーバーフロー攻撃

解説

■【設問の意図】 レインボーテーブル攻撃の仕組みと特徴を問う設問です。 ■【正解の理由】 レインボーテーブル攻撃は、事前計算したハッシュ値のチェーンを用いてハッシュ値から元のパスワードを効率的に解読する手法です。 ■【初心者が迷う理由】 すべての組み合わせを総当たりで試すブルートフォース攻撃と混同しやすい点に注意が必要です。 ■【本番での判断フロー】 1. 事前計算済みのチェーンやテーブルというキーワードを確認する。 2. パスワードクラックにおいてこれに該当するレインボーテーブル攻撃を選択する。

問20

電子メールのセキュリティ技術の一つであり、送信側のメールサーバで電子メールにデジタル署名を付与し、受信側で検証して送信元ドメインのなりすましを防ぐ仕組みはどれか。

  1. DKIM
  2. SPF(正解)
  3. S/MIME
  4. TLS
  5. DNSSEC

解説

■【設問の意図】 電子メールの送信元ドメイン認証に関する知識を問う。 ■【正解の理由】 DKIMは電子メールに電子署名を付与し、受信側で検証することで改ざんやなりすましを防ぐ技術である。 ■【初心者が迷う理由】 他のメールセキュリティ技術や暗号化方式との違いで混同しやすい。 ■【本番での判断フロー】 1. デジタル署名による送信元ドメイン認証技術を確認する。 2. キーワードがDKIMであると特定する。