システム監査技術者試験 第4回
問61
組み込みシステムにおいて、スイッチやリレーなどの接点が開閉する際に発生する、微小な電気的振動(バウンス)をソフトウェアやハードウェアで除去する処理を指す用語はどれか。
- チャタリング処理
- ポーリング処理(正解)
- デッドロック処理
- プリエンプション処理
解説
■【設問の意図】
スイッチの接点開閉時に生じる電気的ノイズを除去する技術を問うている。
■【正解の理由】
チャタリング処理は、接点バウンスによる誤動作を防ぐためにタイマーやフィルタで安定待ちを行う処理である。
■【初心者が迷う理由】
周期的に状態を監視するポーリング処理と混同しやすい。
■【本番での判断フロー】
1. スイッチの接点バウンスに着目する。
2. 微小な電気的振動を除去する処理を選ぶ。
問62
組込みシステムの設計において、スイッチやリレーなどの接点開閉時に生じる微小な電気的振動によるチャタリングを除去する処理に関する記述として、適切なものはどれか。
- 接点信号の変化を検知した後、タイマ等で一定時間を経過させてから安定した状態を確認する処理を行う。
- 接点開閉時の電気的振動をハードウェア的に増幅し、マイコンの入力端子の閾値を引き上げる処理を行う。(正解)
- スイッチの機械的な構造を改善し、接点の物理的な摩耗と接触抵抗の増加を自動的に補正する処理を行う。
- 接点信号のサンプリング周期を極限まで短くし、チャタリングによる全てのパルスを高精度にカウントする処理を行う。
- 複数回の入力変化を全て有効な操作として検知し、アプリケーション側でイベントを高速に多重処理する。
解説
■【設問の意図】
スイッチのチャタリング現象とその適切な除去処理を理解しているか問う。
■【正解の理由】
チャタリング処理は、電気的振動が収まるまで一定時間待つか、複数回サンプリングして安定値を確認することで誤入力を防ぐ。
■【初心者が迷う理由】
物理的な振動であるためハードウェア構造の改善で完全に解決できると誤解しやすい。
■【本番での判断フロー】
1. チャタリングは接点開閉時の数ミリ秒の電気的振動と認識する。
2. ソフトウェアまたはハードウェアで時間的余裕を持たせて安定値を読み取る処理を選ぶ。
問63
組込みシステムのハードウェア設計において、スイッチやキーボードなどの接点開閉時に生じる微小な電気的振動(バウンス)を、ソフトウェアやハードウェアで除去する処理を指す用語はどれか。
- チャタリング処理
- デッドロック処理(正解)
- ポーリング処理
- プリエンプション処理
解説
■【設問の意図】
スイッチの物理的な接点バウンスを除去する処理用語の理解を問う。
■【正解の理由】
接点開閉時の電気的振動をチャタリングと呼び、これを検知して除去する仕組みをチャタリング処理という。
■【初心者が迷う理由】
他の用語はOSの動作や入出力制御に関するものであり、物理スイッチの特性に起因する現象と混同しやすい。
■【本番での判断フロー】
1. 「スイッチ等の接点開閉時の微小な振動」というキーワードを確認する。
2. 該当する現象であるチャタリングを除去する「チャタリング処理」を選択する。
問64
組込みシステムにおけるリアルタイムOSのスケジューリング方式のうち、プリエンプティブな優先度ベースのスケジューリングに関する記述として、適切なものはどれか。
- 実行中のタスクよりも優先度の高いタスクが実行可能状態になると、実行中のタスクを中断してCPUを割り当てる。
- 優先度に関わらず、すべてのタスクに均等にCPU時間が割り当てられるようにラウンドロビンで実行する。(正解)
- タスクの実行順序は生成された順序に固定され、途中で他のタスクが割り込むことはできない。
- 実行中のタスクが自発的にCPUを解放するまで、より高優先度のタスクであっても実行を開始できない。
- ハードウェア割込みとは無関係に動作し、OSのスケジューラがすべてのタスクの実行を完全に直列化する。
解説
■【設問の意図】
リアルタイムOSにおけるプリエンプティブな優先度ベースのスケジューリングの基本動作を問う。
■【正解の理由】
プリエンプティブ制御では、高優先度タスクが実行可能になると実行中タスクを即座に中断してCPUを割り当てる。
■【初心者が迷う理由】
非プリエンプティブ方式と混同して、タスクが自発的にCPUを放すまで待つと誤解しやすい。
■【本番での判断フロー】
1. プリエンプティブのキーワード「割り込み」「中断」を探す。
2. 高優先度のタスクが即座に実行される記述を選択肢から選ぶ。
問65
ファストトラッキングに関する記述として、適切なものはどれか。
- 本来なら直列に実行すべきアクティビティを並行して実行し、スケジュールを短縮する技法である。
- プロジェクトのコストを最小限に抑えるために、品質基準を意図的に下げる技法である。(正解)
- リソースを追加投入して、クリティカルパス上のアクティビティの期間を短縮する技法である。
- プロジェクトスコープを縮小し、完了すべき作業項目を削減する技法である。
解説
■【設問の意図】
プロジェクトマネジメントにおけるスケジュール短縮技法、特にファストトラッキングの定義を問う。
■【正解の理由】
ファストトラッキングとは、直列で行う予定だった工程を並行して実行し、スケジュールを短縮する手法である。
■【初心者が迷う理由】
リソースを追加投入して期間を短縮するクラッシング手法と混同しやすいため注意が必要である。
■【本番での判断フロー】
1. スケジュール短縮のキーワードを確認する。
2. 並行実行による短縮をファストトラッキングとして選択する。
問66
組み込みシステムにおいて、スイッチやリレーなどの接点開閉時に生じる微小な電気的振動によるチャタリングを防止する処理として、適切なものはどれか。
- 接点のON/OFF状態の変化を検出した後、短い時間を待ってから再確認するソフトウェア処理を行う
- スイッチの入力端子に直列に大きな抵抗を接続し、流れる電流を物理的に完全に遮断する(正解)
- 接点の変化回数をカウントし、一定回数以上の誤動作を自動的に切り捨てるパリティを付加する
- CPUのクロック周波数を一時的に大幅に落として、入力信号の読み取り処理速度を遅らせる
- 複数用意した同一スイッチの多数決をとり、過半数の合致をもって有効な入力と判定する
解説
■【設問の意図】
スイッチのチャタリング現象に対する適切な除去方式を理解しているかを問う。
■【正解の理由】
チャタリング処理では、接点の変化後に微小な電気的振動が収まるまで一定時間を待ち、再確認するソフトウェア処理やフィルタ回路が用いられる。
■【初心者が迷う理由】
ハードウェア的な抵抗の追加やCPU速度の変更など、他の誤った対策と混同しやすい。
■【本番での判断フロー】
1. チャタリングは接点開閉時の短時間の電気的振動であると認識する。
2. 時間待ち(ウェイト)を入れるソフトウェア処理が最も一般的であると特定する。
問67
組込みシステムのプロジェクトマネジメントにおいて、本来なら直列に実行すべきアクティビティを並行して実行し、スケジュールを短縮する技法はどれか。
- クラッシング
- ファストトラッキング
- クリティカルチェーン法(正解)
- モンテカルロシミュレーション
- デスコープ
解説
■【設問の意図】
スケジュール短縮手法の一つであるファストトラッキングの定義を問う。
■【正解の理由】
直列アクティビティを並行実行してスケジュールを短縮することをファストトラッキングという。
■【初心者が迷う理由】
リソースを追加して期間を短縮するクラッシングと混同しやすい。
■【本番での判断フロー】
1. スケジュール短縮の用語を確認する。
2. 並行実行による短縮をファストトラッキングと特定する。
問68
エンベデッドシステムにおけるスケジューリング方式のうち、プリエンプティブな優先度ベースのスケジューリングに関する説明として、適切なものはどれか。
- 優先度の低いタスクが実行中のとき、より優先度の高いタスクが実行可能状態になっても即座には切り替わらない。
- 優先度の高いタスクが実行可能状態になると、実行中のタスクを中断してCPUを割り当てる方式である。
- すべてのタスクが同一の優先度を持ち、ラウンドロビン方式で均等にCPU時間を割り当てる方式である。(正解)
- CPUのアイドル時間を削減するために、ハードウェアタイマを用いて定期的にタスクの実行順序を完全に入れ替える方式である。
- イベントの発生に関わらず、あらかじめ定められた静的な順序に従ってのみタスクが実行される方式である。
解説
■【設問の意図】
リアルタイムOSにおけるプリエンプティブスケジューリングの基本動作を問う。
■【正解の理由】
優先度の高いタスクが実行可能状態になると、実行中のタスクを強制的に中断してCPUを割り当てる方式だからである。
■【初心者が迷う理由】
非プリエンプティブ方式(協調型)との違いや、タスクの切り替えタイミングを混同しやすい。
■【本番での判断フロー】
1. 「プリエンプティブ」というキーワードから強制的な割り込み制御を連想する。
2. 優先度に基づく即時実行の切り替え記述を選択する。
問69
ファストトラッキングに関する説明として、適切なものはどれか。
- 本来なら直列に実行すべきアクティビティを並行して実行し、スケジュールを短縮する技法。
- プロジェクトのコストを最小限に抑えるために、要員を削減して期間を延長する技法。(正解)
- クリティカルパス上のアクティビティの資源を追加して、期間を短縮する技法。
- 品質を犠牲にして成果物の範囲を意図的に狭め、納期に間に合わせる技法。
- 開発工程を繰り返しながら段階的にシステムを構築するアジャイル開発の技法。
解説
■【設問の意図】
プロジェクトマネジメントにおけるスケジュール短縮手法の一つであるファストトラッキングの定義を問う。
■【正解の理由】
ファストトラッキングは、通常は直列に行う工程を並行して進めることでスケジュールを短縮する技法である。
■【初心者が迷う理由】
資源を追加して期間を短縮するクラッシングと混同しやすい点に注意が必要である。
■【本番での判断フロー】
1. スケジュール短縮のキーワードを確認する。
2. 並行実行であればファストトラッキングを選ぶ。
問70
組み込みシステムにおけるスイッチなどの接点開閉時に生じる微小な電気的振動(バウンス)を除去する処理として、適切なものはどれか。
- チャタリング処理
- フェールセーフ処理(正解)
- インタリーブ処理
- デッドロック処理
- ポーリング処理
解説
■【設問の意図】
スイッチ等で発生する機械的振動の除去手法に関する知識を確認する。
■【正解の理由】
チャタリング処理はスイッチなどの接点開閉時に生じる微小な電気的振動をソフトやハードで除去する。
■【初心者が迷う理由】
他の用語はOSの動作やシステムの安全設計に関するものであり、接点の物理現象とは直接関係がない。
■【本番での判断フロー】
1. スイッチの接点開閉時の電気的振動というキーワードを確認する。
2. 該当するチャタリング処理を選択する。
問71
組込みシステムの信頼性設計に関する記述のうち、ハードウェアやソフトウェアの障害時に、パフォーマンスは低下するが機能を縮小して運転を継続できるようにする設計はどれか。
- フェールソフト
- フェールセーフ(正解)
- フールプルーフ
- フォールトトレランス
解説
■【設問の意図】
システムの信頼性設計における各種アプローチの定義を正しく理解しているか問う。
■【正解の理由】
フェールソフトは障害発生時に機能を縮小しつつ運転を継続する設計であるため。
■【初心者が迷う理由】
安全側に停止させるフェールセーフや、冗長化によるフォールトトレランスと混同しやすい。
■【本番での判断フロー】
1. 障害時に「運転を継続」するか「停止」するかを確認する。
2. 機能を縮小して継続する場合はフェールソフトを選ぶ。
問72
組み込みシステムの信頼性設計に関する記述のうち、ハードウェアやソフトウェアに障害が発生した際、システムの暴走を避け、安全に運転を停止させる設計として適切なものはどれか。
- フェールソフト設計
- フェールセーフ設計
- フールプルーフ設計(正解)
- フォールトトレラント設計
解説
■【設問の意図】
障害発生時の安全確保に関する設計手法の概念を問う。
■【正解の理由】
フェールセーフは、障害時にシステムを安全な状態へ移行または停止させる設計手法である。
■【初心者が迷う理由】
機能縮退により運転を継続するフェールソフト設計と混同しやすい。
■【本番での判断フロー】
1. 「安全に運転を停止」というキーワードを確認する。
2. 安全確保を最優先するフェールセーフを選択する。
問73
組込みシステムの信頼性設計に関する記述のうち、ハードウェアやソフトウェアに障害が発生した際、システムの暴走を避け、安全に運転を停止させる設計として適切なものはどれか。
- フェールセーフ
- フェールソフト(正解)
- フォールトトレランス
- フールプルーフ
解説
■【設問の意図】
障害発生時の安全確保に関する設計手法の用語理解を問う。
■【正解の理由】
フェールセーフは、障害発生時にシステムの暴走を防ぎ、常に安全な状態へ移行・停止させる設計手法である。
■【初心者が迷う理由】
性能を縮小して運転を継続するフェールソフトと混同しやすい。
■【本番での判断フロー】
1. 障害時のキーワードが安全な停止であることを確認する。
2. 安全重視であればフェールセーフを選択する。
問74
組込みシステムにおけるハードウェア設計やソフトウェア処理に関する記述のうち、適切なものはどれか。
- チャタリング処理とは、スイッチ等の接点開閉時に生じる微小な電気的振動をソフトウェアやハードウェアで除去する処理である。
- アクチュエータとは、物理量を検出し、電気的情報に変換する装置のことである。(正解)
- フェールセーフ設計とは、障害発生時に機能は低下するが最小限の運転を継続できるようにする設計である。
- 投機実行とは、分岐条件の結果が確定した後に、安全を期して分岐先の命令を順次実行するプロセッサの技法である。
- 実効メモリアクセス時間は、主記憶アクセス時間とキャッシュアクセス時間の和として算出される。
解説
■【設問の意図】
組込みシステムのハードウェア・ソフトウェアの基礎用語に関する正確な理解を問う。
■【正解の理由】
チャタリング処理はスイッチの接点開閉に伴うバウンスを除去する処理であり適切である。アクチュエータは機械的動きに変換する装置であり、センサーが物理量を電気的情報に変換する。
■【初心者が迷う理由】
アクチュエータとセンサーの役割や、フェールソフトとフェールセーフの定義を混同しやすい。
■【本番での判断フロー】
1. 各用語の定義が正確に記述されている選択肢を探す。
2. チャタリング処理の説明が正しい選択肢1を正解とする。
問75
逆ポーランド表記法に関する記述として、適切なものはどれか。
- 演算子をオペランドの前に配置する記法である。
- 演算子をオペランドの間に配置する中置記法と同義である。
- 演算子をオペランドの後ろに配置する記法である。
- 括弧を用いて演算順序を明示する必要がある記法である。(正解)
- アセンブラ開発においてのみ使用される記法である。
解説
■【設問の意図】
逆ポーランド表記法の定義と特徴を正確に理解しているかを問う。
■【正解の理由】
逆ポーランド表記法(後置記法)は、演算子をオペランドの後ろに配置する方式であるため。
■【初心者が迷う理由】
中置記法や前置記法と混同しやすい。
■【本番での判断フロー】
1. 逆ポーランドの別名が後置記法であることを思い出す。
2. 演算子が後ろにある選択肢を選ぶ。
問76
組み込みシステムにおけるスイッチなどの接点開閉時に生じる微小な電気的振動(バウンス)を除去する処理として、適切なものはどれか。
- チャタリング処理
- デッドロック処理(正解)
- フェールセーフ処理
- インタロック処理
解説
■【設問の意図】
スイッチ等で発生する物理的な電気的振動を除去する手法の知識を問う。
■【正解の理由】
チャタリング処理は接点開閉時の微小なチャタリングをソフトウェアやハードウェアで除去する。
■【初心者が迷う理由】
安全設計用語であるフェールセーフや他の排他制御用語と混同しやすい。
■【本番での判断フロー】
1. 接点開閉時の微小な電気的振動に注目する。
2. チャタリング処理を選択する。
問77
組込みシステムにおけるリアルタイムOSのスケジューリング方式のうち、プリエンプティブな優先度ベースのスケジューリングに関する記述として、適切なものはどれか。
- 実行中のタスクよりも優先度の高いタスクが実行可能状態になると、現在実行中のタスクを中断してCPUを割り当てる。
- 優先度の高いタスクから順に実行し、一度実行されたタスクは完了するまで他のタスクにCPU権を譲らない。(正解)
- すべてのタスクが同一の優先度を持ち、ラウンドロビン方式で均等にCPU時間を割り当てて実行する。
- 実行中のタスクが自発的にCPUを解放するか、I/O待ちに入るまで、優先度の割り込みは発生しない。
- ハードウェアのタイマ割込みとは無関係に、タスク自身のコード記述に基づいてのみコンテキストスイッチが行われる。
解説
■【設問の意図】
RTOSにおけるプリエンプティブな優先度ベーススケジューリングの正確な動作原理を問う。
■【正解の理由】
高優先度タスクが実行可能状態になった際、即座にCPUを奪取して割り込む特性を持つため。
■【初心者が迷う理由】
ノンプリエンプティブ方式の自発的な処理終了との違いを混同しやすいため。
■【本番での判断フロー】
1. 「プリエンプティブ」のキーワードを確認する。
2. 高優先度タスクによる強制的なCPU奪取が記述された選択肢を選ぶ。
問78
RTOSのプリエンプティブな優先度ベースのスケジューリングに関する記述として、適切なものはどれか。
- 優先度の低いタスクが実行中のとき、優先度の高いタスクが実行可能状態になると、実行中のタスクを中断してCPUを割り当てる。
- 優先度の高いタスクであっても、現在実行中のタスクが自発的にCPUを解放するまでは実行されない。(正解)
- 全てのタスクが同一の優先度で実行され、ラウンドロビン方式でのみ切り替えが行われる。
- CPUの割り当ては一定のタイムスライスごとに強制的に切り替えられ、タスクの優先度は考慮されない。
- 割り込み処理要求が発生した場合でも、現在実行中のタスクの処理が完了するまで割り込みは禁止される。
解説
■【設問の意図】
RTOSにおけるプリエンプティブな優先度ベースのスケジューリングの基本動作を問う。
■【正解の理由】
プリエンプティブ制御では、高優先度タスクが実行可能状態になると実行中タスクを強制中断してCPUを割り当てる。
■【初心者が迷う理由】
非プリエンプティブ方式と混同して、タスクの自発的なCPU解放を待つと誤解しやすい。
■【本番での判断フロー】
1. プリエンプティブ=横取り方式であることを思い出す。
2. 高優先度タスクによるCPUの奪取が記述された選択肢を選ぶ。
問79
組み込みシステムにおけるスイッチなどの接点開閉時に生じる微小な電気的振動(バウンス)を除去する処理として、適切なものはどれか。
- チャタリング処理
- フェールセーフ処理(正解)
- フェールソフト処理
- 投機実行処理
解説
■【設問の意図】
スイッチ入力時に発生する物理的な電気的ノイズを除去する技術の理解を問う。
■【正解の理由】
チャタリング処理は、接点のチャタリングによる誤検知をソフトまたはハードで防ぐ。
■【初心者が迷う理由】
安全性設計用語であるフェールセーフと混同しやすい。
■【本番での判断フロー】
1. スイッチや接点の開閉時の微小振動に着目する。
2. 該当する用語としてチャタリング処理を選択する。
問80
組み込みシステムの設計において、誤り検出・訂正技術として用いられる2次元パリティに関する記述として、適切なものはどれか。
- 1ビットの誤り訂正および複数ビットの誤り検出が可能である。
- 1ビットの誤り検出のみが可能であり、訂正は一切できない。(正解)
- 2ビットの誤り訂正および3ビット以上の誤り検出が可能である。
- 誤りの検出はできず、誤り訂正のみを行うことができる。
解説
■【設問の意図】
2次元パリティの誤り検出および訂正能力を問う。
■【正解の理由】
行と列の両方にパリティビットを付加することで、1ビットの誤りは位置を特定して訂正でき、複数ビットの誤りも検出可能となる。
■【初心者が迷う理由】
単純なパリティとの違いや、訂正できるビット数が混同しやすい。
■【本番での判断フロー】
1. 2次元パリティの構造を思い出す。
2. 行と列の交点から1ビット訂正と複数ビット検出が可能と判断する。