戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2022年 午後1 問02


競泳計時システムに関する次の記述を読んで、設問に答えよ。

 B社は、50m×8レーンの競泳競技用プールに設置され、競技の審判、計時、記録、及び競技結果の表示を行う、競泳計時システム(以下、本システムという)を開発している。本システムは、審判計時機、競技サーバ、電光掲示板、合図機、スタート台、及びタッチ板で構成される。本システムの概要を図1に、本システムの主な構成要素を表1に、審判計時機の構成を図2に、それぞれ示す。
エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 図1)
エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 表1)
エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 図2)
〔競技の流れ〕  本システムを使用した、競技の流れを次に示す。  (1) 競技サーバには、その日に行われる、全ての競技の競技情報が保存されている。  (2) 審判員は、審判計時機の操作部にある“準備”ボタンを押し、競技準備を始める。  (3) 合図員は、合図機のヘッドセットを装着し、電子ピストルを携える。  (4) 審判計時機の表示部に“準備完了”が表示されたことを確認した審判員が、操作部にある“選手セット”ボタンを押すと、合図機のスピーカーからホイッスル音が出力される。ホイッスル音を合図に、競技に参加する選手はスタート台に乗る。全ての選手がスタート台に乗ると、合図機のヘッドセットからセット完了音が出力される。  (5) 合図員は、選手に構えるよう号令し、全ての選手がスタート姿勢で静止したことを確認したら、電子ピストルのトリガーを引く(以下、開始合図という)。  (6) 合図機のスピーカーからスタート音が出力され、競技が開始される。  (7) 審判計時機の表示部及び電光掲示板に、競技開始からの経過時間(以下、競技時間という)が、1/100秒ごとに更新・表示される。また、選手がタッチ板に触れて折り返すと、折返し区間までの経過時間(以下、途中経過タイムという)が表示部及び電光掲示板に表示される。計測単位は、いずれも1/100秒である。  (8) 開始合図よりも先に、又はリレー競技において前の選手がタッチ板に触れるよりも先に、選手がスタート台を離れると、フライングと判定される。フライングした選手又はチームは、ゴールした後に失格となる。  (9) 全ての選手がゴールしたら、競技開始から選手又はチームがゴールするまでの経過時間(以下、競技タイムという)又は失格の情報が、審判計時機の表示部及び電光掲示板に表示される。以後、最終競技の終了まで、(2)からの手順を繰り返す。   〔審判計時機のタイマー部〕  審判計時機のタイマー部の仕様を次に示す。  ・基準タイマーは20ビットのカウントアップタイマーで、サブタイマーの値が0になるたびにカウントアップする。サブタイマーは16ビットのカウントダウンタイマーで、1/32ミリ秒でカウントダウンする。  ・どちらのタイマーもMPUから読み書き可能である。読み出すとタイマーのカウント値が得られ、値を書き込むと、その値を初期値として、タイマーが動作する。  ・基準タイマーがカウントアップしたとき、MPUに“基準タイマー割込み”が入力される。  ・サブタイマーは値が0になると、又は基準タイマーは値が16進数でFFFFFになると、どちらも、次にカウントダウン又はカウントアップをするまでの間に初期値がリロードされる。  ・計測レジスタ1~8は23ビットのレジスタで、接続されたスタート台及びタッチ板から信号が入力されるたびに、上位3ビットに信号の出力元を表す値(以下、出力元IDという)が、下位20ビットにそのときの基準タイマーの値がそれぞれ入る。  ・計測レジスタ1~8は、値を更新したら“計時割込み1~8”をMPUに入力する。計測レジスタ1~8の上位3ビットに入る出力元IDの一覧を表2に示す。
エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 表2)
〔競技開始時の故障判定とフライング判定〕  競技開始時の故障判定とフライング判定の処理を次に示す。  (1) “準備”ボタンが押されたら、競技開始時の故障判定とフライング判定を行うために、基準タイマーに16進数80000を、サブタイマーに1/100秒で0となる値を書き込む。  (2) 電子ピストルのトリガーが引かれたら、合図機から汎用I/Oに信号が入力され、割込みが発生する。この割込みを検知したら、基準タイマーの値が16進数80000より大きくなっていることを確認する。確認できたら基準タイマーに0を、サブタイマーに1/100秒で0となる値を書き込んで、合図機にスタート音の出力を指示する。確認できなかった場合は、故障と判断して表示部に“故障”を表示する。  (3) 選手がスタート台に乗った後で、計時割込みを検知したら、対応する計測レジスタの値を読み出す。出力元IDが100で、下位20ビットが16進数で80000以上であれば、そのレーンのスタートはフライングと判定する。   〔審判計時機のソフトウェア構成〕  審判計時機のソフトウェアには、リアルタイムOSを使用する。審判計時機の主なタスク構成を図3に、審判計時機の主なタスクの処理概要を表3に示す。
エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 図3)

設問1:本システムについて答えよ。

設問1(1)

問題文を見る
タイマー部について、(a)、(b)に答えよ。  (a) サブタイマーに設定する値は幾つか。10進数の整数で答えよ。  (b) 基準タイマーの最上位ビットを競技開始時のフライング判定に用いている。基準タイマーで計測できる競技時間は最大何分となるか。答えは小数点以下を切り捨て、10進数の整数で答えよ。ここで、16ビットで表現できる最大の数は65,535である。

模範解答

(a):320 (b):87

解説

解答の導き方

(a)
本文には、サブタイマーが「1/32ミリ秒でカウントダウンする」とあります。1/100秒は10ミリ秒なので、サブタイマーが0になるまでのカウント数は、10ミリ秒を1カウント当たりの時間で割って求めます。
したがって、サブタイマーには320を設定します。これは16ビットで表現できる最大の数である65,535以下なので、設定可能です。
(b)
サブタイマーが0になるたびに基準タイマーが1増えます。(a)で求めた設定値は1/100秒ごとにサブタイマーを0にするため、基準タイマーは1/100秒ごとに1増えることになります。
基準タイマーは20ビットですが、最上位ビットは競技開始時のフライング判定に使います。そのため、競技時間として使えるのは残りの19ビットです。最大値は となります。
これを時間に直すと、次のとおりです。
小数点以下を切り捨てるので、計測できる競技時間の最大は87分です。

誤りやすいポイント

  • (a)で、1/100秒を100カウントと考えないようにします。サブタイマーの単位は1/32ミリ秒なので、10ミリ秒に相当するカウント数を求めます。
  • (b)で、基準タイマーの20ビット全てを競技時間に使えると考えないようにします。最上位ビットはフライング判定に使うため、時間の計測には残りの19ビットを使います。
  • 分に換算した値は小数点以下を切り捨てます。四捨五入ではありません。

FAQ

Q: 基準タイマーが1増える時間は、なぜ1/100秒なのですか?
A: サブタイマーが0になるたびに基準タイマーが1増え、サブタイマーは設定値320で1/100秒後に0になるためです。
Q: 20ビットの最大値まで競技時間に使えないのはなぜですか?
A: 最上位ビットを競技開始時のフライング判定に使うためです。競技時間に使えるビット幅は19ビットになります。
Q: 87.38分を87分にするのはなぜですか?
A: 設問で小数点以下を切り捨てるよう指定されているためです。

関連キーワード: カウントダウンタイマー、カウントアップタイマー、タイマ分解能、ビット幅、オーバフロー

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問1(2)

問題文を見る
4×100mリレー競技の引継ぎにおいて、フライングを検出する方法を、計測レジスタの出力元IDを踏まえて40字以内で答えよ。ここで、4×100mリレー競技とは、50mプールを4人の選手が1人1往復ずつ泳ぐ競技である。

模範解答

出力元ID000の記録の前に、出力元ID100の記録を検出する。

解説

解答の導き方

  1. 本文では、リレー競技では「前の選手がタッチ板に触れるよりも先に、選手がスタート台を離れると、フライング」と判定するとあります。つまり、引継ぎでは、前の選手のタッチ板への接触と、次の選手がスタート台を離れることの、どちらが先に記録されたかを調べます。
  2. 表2で出力元IDを確認すると、タッチ板1は「000」、スタート台1で選手が乗っていない状態は「100」です。スタート台に選手が乗っている状態から離れると、スタート台1から「100」の記録が出ます。
  3. 4×100mリレーでは、各選手が50mプールを1往復します。したがって、前の選手は出発した側に戻ってタッチ板に触れ、次の選手もその側のスタート台から出発します。この側がスタート台1・タッチ板1であれば、前の選手の接触は「000」、次の選手が早くスタート台を離れた記録は「100」です。
  4. よって、引継ぎ時に「000」の記録より前に「100」の記録があれば、次の選手が前の選手のタッチより先にスタート台を離れたと判定できます。

誤りやすいポイント

  • 「100」をスタート台1の状態全般と考えないようにします。「100」は、選手が乗っていない状態を表す出力元IDです。
  • タッチ板1とタッチ板2、スタート台1とスタート台2のIDを取り違えないようにします。表2では、タッチ板2は「001」、スタート台2で選手が乗っていない状態は「101」です。
  • 引継ぎの判定では、どちらか一方の記録があるかどうかだけでなく、タッチ板とスタート台の記録の前後関係を確認します。

FAQ

Q: なぜ「100」の記録を調べるのですか?
A: 「100」はスタート台1で選手が乗っていない状態を表すため、次の選手がスタート台1を離れたことを示すからです。
Q: 「001」の記録を基準にしないのですか?
A: 「001」はタッチ板2の記録です。各選手が1往復する引継ぎでは、前の選手は出発した側に戻ってタッチするため、スタート台1側での引継ぎならタッチ板1の「000」を基準にします。
Q: 記録の前後関係は、どのように確認しますか?
A: 計測レジスタに記録された出力元IDを見て、スタート台の「100」がタッチ板の「000」より先に記録されているかを確認します。

関連キーワード: イベント記録、状態遷移、フライング判定、計時レジスタ

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2:審判計時機のタスクについて答えよ。

設問2(1)

問題文を見る
メインタスクについて、表3中のa~cに入れる適切な字句を答えよ。

模範解答

a:“選手セット”ボタン押下 b:競技タスク c:タイマー異常

解説

解答の導き方

  1. [a]は、メインタスクが競技タスクに「選手セット開始」を通知するきっかけです。表3では、メインタスクは「操作タスクを介して、操作部からの操作を受け付ける」とされています。また、図3では操作タスクからメインタスクへメッセージが送られています。したがって、操作部で行われる操作のうち、競技タスクに選手セット開始を通知するものを考えます。競技の流れでは、審判員が「選手セット」ボタンを押すと選手セットが始まるため、[a]は「“選手セット”ボタン押下」です。
  2. [b]と[c]は、メインタスクが故障表示を指示するまでの通知元と通知内容です。表3の競技タスクの説明には、合図機からの割込み通知を受けて基準タイマーを確認し、異常があればメインタスクに「タイマー異常」を通知するとあります。よって、通知元の[b]は「競技タスク」、受け取る通知の[c]は「タイマー異常」です。
  3. ここで、メインタスクが表示タスクに表示させる「故障」と、メインタスクが受け取る通知「タイマー異常」は役割が異なります。前者は画面に表示する内容で、後者は競技タスクからメインタスクへ送られる異常の通知です。

誤りやすいポイント

  • [a]を「準備」ボタン押下と取り違えないようにします。「準備」ボタン押下では競技情報を取得して「準備開始」を通知し、選手セット開始の通知は「選手セット」ボタン押下を受けたときに行います。
  • [b]を合図機としないようにします。合図機からの割込み通知を受けてタイマーを確認し、異常を判定するのは競技タスクです。
  • [c]を表示内容の「故障」と混同しないようにします。メインタスクが競技タスクから受ける通知は「タイマー異常」で、その通知を受けた後に表示タスクへ「故障」の表示を指示します。

FAQ

Q: [a]はなぜボタン名だけではなく「ボタン押下」まで含むのですか?
A: メインタスクが受けるのは操作タスクからの操作通知です。ここでは、ボタンを押したという操作が、競技タスクへの通知を始めるきっかけになります。
Q: 「故障」と「タイマー異常」は同じ意味ですか?
A: この表では役割が異なります。「タイマー異常」は競技タスクからメインタスクへの通知で、「故障」はメインタスクが表示タスクに表示させる内容です。
Q: 合図機からの割込み通知は、どのタスクが処理しますか?
A: 表3の処理概要では、競技タスクが割込み通知を受けて基準タイマーを確認し、異常の有無を判断します。

関連キーワード: タスク間通信、イベント通知、割込み処理、リアルタイムOS、状態管理

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2(2)

問題文を見る
競技タスクについて、表3中のd~jに入れる適切な字句を答えよ。

模範解答

d:表示タスク e:“準備完了”の表示 f:合図機タスク g:ホイッスル音の出力 h:セット完了音の出力 i:全ての使用タスク j:競技終了

解説

解答の導き方

競技タスクは、競技全体の準備から終了までを管理します。表3では、各レーンタスクやメインタスクから通知を受け、それに応じて表示タスクや合図機タスクへ指示する役割が示されています。競技の流れと照らし合わせると、空欄ごとの役割を判断できます。
  1. 競技の準備完了を知らせる処理
    使用する全てのレーンタスクから「準備完了」を受けた時点で、各レーンの準備が整っています。競技の流れでは、審判員は審判計時機の表示部に「準備完了」が表示されたことを確認してから、“選手セット”ボタンを押します。
    そのため、競技タスクは表示タスクに準備完了を表示させます。[d]には「表示タスク」、[e]には「“準備完了”の表示」が入ります。
  2. 選手セット開始時の音声
    メインタスクから「選手セット開始」を受けたときは、競技の流れにあるとおり、スピーカーからホイッスル音を出して選手にスタート台へ乗るよう知らせます。表3では、音声の出力は合図機タスクが担当し、競技タスクから指示を受けます。
    したがって、[f]は「合図機タスク」、[g]は「ホイッスル音の出力」です。
  3. 全選手のセット完了後の音声
    全ての使用タスクから「選手セット完了」を受けた後は、全ての選手がスタート台に乗った状態です。競技の流れでは、この段階でヘッドセットからセット完了音が出力されます。
    音声の出力先を制御するのは同じ合図機タスクなので、[f]への指示内容である[h]は「セット完了音の出力」です。
  4. 競技結果をまとめるタイミング
    表3では、選手がゴールしたレーンタスクが、競技タスクに「競技終了」を通知します。また、競技の流れでは、全ての選手がゴールした後に競技結果を表示します。
    したがって、競技タスクは全ての使用タスクから通知を受けてから競技結果をまとめ、競技サーバへ送信します。[i]は「全ての使用タスク」、[j]は「競技終了」です。

誤りやすいポイント

  • 準備完了を通知する相手と、準備完了の表示を行うタスクを混同しないようにします。各レーンタスクから通知を受けた競技タスクが、表示タスクに表示を指示します。
  • ホイッスル音とセット完了音は、どちらも合図機から出力されますが、出力するタイミングが異なります。ホイッスル音は選手セット開始時、セット完了音は全ての選手のセット完了後です。
  • 一つのレーンでゴールしただけでは、競技結果を確定できません。全ての使用タスクから「競技終了」を受ける必要があります。

FAQ

Q: ホイッスル音やセット完了音を、競技タスクが直接出力するのですか?
A: いいえ。競技タスクは合図機タスクに出力を指示し、合図機タスクが音声を出力させます。
Q: 一部のレーンで競技が終了した時点で、競技結果を送信できますか?
A: いいえ。全ての使用タスクから競技終了の通知を受けてから、競技タスクが結果をまとめます。
Q: 準備完了の表示は、全てのレーンタスクの準備が完了した後に行われるのですか?
A: はい。競技タスクは全ての使用タスクから準備完了を受けた後、表示タスクに表示を指示します。

関連キーワード: タスク間通信、イベント通知、状態遷移、リアルタイムOS、並行処理

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2(3)

問題文を見る
レーンタスクについて、(a)~(c)に答えよ。  (a) 表3中のkに入れる適切な内容を25字以内で答えよ。  (b) 表3中の下線①の処理を行うのは計測レジスタの値がどのようなときか。15字以内で答えよ。  (c) 競技タスクに、失格の有無を通知するのはどのタイミングか。20字以内で答えよ。

模範解答

(a)k:出力元IDが110の計時割込みを検知する (b)上位2ビットが00のとき (c)“競技終了”を通知するとき

解説

解答の導き方

(a)
表3では、レーンタスクが競技タスクに「選手セット完了」を返した後、自レーンの計時割込みを処理するとされています。選手セットの段階で確認すべきなのは、選手がスタート台に乗ったことです。
表1によると、スタート台1は競技の最初のスタート側に設置されます。表2では、スタート台1に選手が乗っている状態を示す出力元IDは110です。したがって、スタート台1に選手が乗ったことを示す計時割込みを検知したときに、「選手セット完了」を返す処理になります。
(b)
下線①の処理は、途中経過タイムが更新されたとき、または競技タイムが確定したときに行います。どちらも、選手がタッチ板に触れたことを契機にタイムが記録される処理です。
表2では、タッチ板1の出力元IDは000、タッチ板2の出力元IDは001です。計測レジスタの上位3ビットが出力元IDなので、これらのIDはいずれも上位2ビットが00になります。よって、計測レジスタの値がその条件を満たすときに、表示とLAN通信の処理を行います。
(c)
本文には「フライングした選手又はチームは、ゴールした後に失格となる」とあります。つまり、フライングを検知した時点では失格が確定するのではなく、ゴールした後に失格となります。
表3では、選手がゴールしたらレーンタスクが競技タスクに「競技終了」を通知します。その通知時に、失格の有無も競技タスクへ伝えることになります。

誤りやすいポイント

  • (a) 出力元IDの110と111を取り違えないようにします。110はスタート台1に選手が乗っている状態、111はスタート台2に選手が乗っている状態です。競技の最初のスタート側にあるのはスタート台1です。
  • (b) タッチ板1とタッチ板2では出力元IDが異なりますが、どちらも上位2ビットは00です。片方のタッチ板だけを条件にしないようにします。
  • (c) フライングの検知時点と、失格の確定時点を混同しないようにします。失格となるのはゴールした後なので、「競技終了」の通知時が判断のポイントです。

FAQ

Q: なぜ出力元IDを110に限定するのですか?
A: 「選手セット完了」は、競技開始位置となるスタート台1に選手が乗ったことを確認して返すためです。スタート台2に乗ったことを示す111とは区別します。
Q: タッチ板1とタッチ板2で出力元IDが違うのに、同じ条件で扱えるのはなぜですか?
A: 出力元IDはそれぞれ000と001ですが、どちらも上位2ビットは00です。この共通部分でタッチ板からの入力を判別できます。
Q: フライングを検知した時点で失格を通知しないのはなぜですか?
A: 本文では、フライングした選手又はチームはゴールした後に失格となります。そのため、ゴールを示す「競技終了」の通知時に失格の有無を伝えます。

関連キーワード: 割込み処理、ビットフィールド、イベント駆動処理、状態遷移、リアルタイムOS

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3:審判計時機の機能追加について答えよ。

 可用性を向上させるため、審判計時機を2台設置して、一方を主機、他方を補機として、主機が故障しても補機によって競技を続けられるようにする。スタート台、タッチ板、及び合図機は、主機と補機の双方に等しく接続し、主機と補機を4本の信号線で接続する。4本の信号線のうち2本は、主機で“準備”ボタン又は“選手セット”ボタンが押されたことを補機に伝える、操作通知信号線として用いる。1本は、主機から補機に定期的に割込みを入力することで、正常動作していることを伝える監視用信号線として用いる。残りの1本は、補機の汎用I/Oから主機のMPUのリセット信号に接続され、主機が故障したと判断した補機が、主機のMPUを動作させないように信号出力するために使用する。  審判計時機は、電源投入後1分以内に“準備”ボタンと“選手セット”ボタンが同時に押された場合は補機として、それ以外は主機として動作させる。主機、補機どちらも競技の進行、審判、計時の動作を行うが、合図機への指示及び競技サーバへの競技時間、途中経過タイム、競技結果の送信は、主機だけが行い、補機は、主機が故障したと判断したら、主機の動作を代行する。  審判計時機の主なタスクの変更概要を表4に示す。ここで、機器間通信・監視タスクは新規に追加するタスクである。 エンベデッドシステムスペシャリスト試験(令和4年 午後1 問2 表4)

設問3(1)

問題文を見る
メインタスクが、主機・補機の変更を通知するタスクを全て答えよ。

模範解答

競技タスク、機器間通信・監視タスク、LAN通信タスク

解説

解答の導き方

この設問では、主機と補機の役割が切り替わったときに、動作を切り替える必要があるタスクを見つけます。表4では、主機として動作する場合と補機として動作する場合で処理が異なるタスクに注目します。
まず、競技タスクは「補機として動作するときは」と、補機の場合の処理が別に定められています。主機へ切り替わったときには競技タスクの動作も切り替える必要があるため、メインタスクから通知を受ける対象です。
次に、機器間通信・監視タスクは、主機の場合には信号線へパルスを出力し、補機の場合には信号線からの割込みを数えて主機の異常を検知します。このように役割によって処理が明確に異なるため、切替え時に通知が必要です。
さらに、LAN通信タスクは補機として動作している間、「通知を無効にする」とされています。補機から主機に切り替わった後は競技サーバへの情報送信を行う必要があるので、このタスクにも切替えを知らせます。
一方、レーンタスクやタイマータスクには、主機か補機かによって処理を変える記述がありません。したがって、主機・補機の変更を通知する対象には含めません。

誤りやすいポイント

  • 表4に登場するタスクをすべて通知対象と考えないようにします。役割によって処理を変えるタスクを選びます。
  • 補機が競技の進行や計時も行うことと、競技サーバへ情報を送信することは別です。補機中にLAN通信タスクが通知を無効にする点が判断の手掛かりです。
  • 機器間通信・監視タスクは、主機と補機で信号の送受信の役割が逆になるため、役割切替えの通知が必要です。

FAQ

Q: レーンタスクにも主機・補機の切替えを通知しないのですか?
A: レーンタスクは途中経過タイムやフライング、ゴールの判定を行いますが、表4には主機か補機かによって処理を変える記述がありません。そのため、通知対象には含めません。
Q: LAN通信タスクに通知が必要なのはなぜですか?
A: 補機として動作中は、競技情報などの通知を無効にするためです。主機に切り替わった後は競技サーバへの送信が必要になるので、役割の変更を知らせます。
Q: 合図機タスクにも通知が必要ではありませんか?
A: 合図機タスクは、競技タスクから指示された音声を出力します。役割によって処理を切り替える記述があるのは競技タスク側であり、合図機タスクにはありません。

関連キーワード: 冗長化、フェイルオーバー、タスク間通信、状態遷移、監視機構

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3(2)

問題文を見る
表4中のlに入れる変更点を20字以内で答えよ。

模範解答

l:合図機タスクに指示を送らない

解説

解答の導き方

  1. 表4では、補機も「競技の進行、審判、計時の動作」を行います。したがって、補機だからといって競技タスク全体を停止するわけではありません。
  2. 一方、問題文では「合図機への指示及び競技サーバへの競技時間、途中経過タイム、競技結果の送信は、主機だけが行い」とされています。合図機への音声出力の指示は、主機だけが担当する必要があります。
  3. 表3では、競技タスクが合図機タスクに音声出力を指示し、合図機タスクが実際に音声を出力します。そのため、補機として動作している間は、競技タスクから合図機タスクへの指示を止めます。
  4. 主機が故障した場合、補機は「主機の動作を代行」します。このときは主機として動作するため、合図機への指示も行うことになります。つまり、補機として動作している間の変更点は、合図機タスクへの指示を送らないことです。

誤りやすいポイント

  • 補機は競技の進行、審判、計時も停止すると考えること。問題文では、これらは主機と補機の双方が行います。
  • 競技タスクそのものを動作させないと考えること。補機も競技タスクで競技の状態を把握し、主機の故障時に代行できるようにします。
  • 主機が故障した後も、合図機への指示を止めたままだと考えること。補機が主機の動作を代行する段階では、主機として合図機への指示を行います。

FAQ

Q: 補機も競技タスクを動作させるのはなぜですか?
A: 競技の進行や計時を続け、主機の故障時に代行できるようにするためです。
Q: 補機が通常時に合図機へ指示を送らないのはなぜですか?
A: 問題文では合図機への指示は主機だけが行うとされているためです。補機からも指示すると、主機と補機が同じ合図機を操作することになります。
Q: 主機が故障した後は、合図機タスクへの指示を再開しますか?
A: はい。補機が主機の動作を代行し、主機として動作するため、合図機への指示も行います。

関連キーワード: 冗長化、フェールオーバー、タスク間通信、可用性、役割分担

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3(3)

問題文を見る
表4中のm、nに入れる適切なタスク名を答えよ(順不同)。

模範解答

m:競技タスク n:レーンタスク

解説

解答の導き方

  1. 表4では、補機として動作中に、競技サーバへの送信を主機だけが行う仕組みになっています。問題文にも「競技サーバへの競技時間、途中経過タイム、競技結果の送信は、主機だけが行い」とあります。したがって、補機のLAN通信タスクは、競技時間や結果を送信させる通知を受けても処理しないようにする必要があります。
  2. 表3を見ると、競技タスクは競技時間を表示するようLAN通信タスクに指示します。また、レーンタスクは途中経過タイムが更新されたときや競技タイムが確定したときに、LAN通信タスクへ指示します。どちらのタスクからの通知も、競技サーバへの送信につながるため、補機では無効にします。
  3. 一方、メインタスクからLAN通信タスクへの通知は、競技情報の取得などにも使われます。そのため、補機が無効にする対象は、表3でタイムや競技結果をLAN通信タスクに通知する競技タスクとレーンタスクです。

誤りやすいポイント

  • 主機だけが競技サーバへ送信するからといって、補機のLAN通信タスクが受けるすべての通知を無効にするわけではありません。無効にする通知元を問われています。
  • 競技タスクだけを選ぶと、途中経過タイムやレーンごとの競技タイムを扱うレーンタスクを見落とします。
  • 通知を無効にするのはLAN通信タスクです。競技タスクやレーンタスクの計時・判定処理まで停止するという意味ではありません。

FAQ

Q: なぜ競技タスクとレーンタスクの両方が対象なのですか?
A: 表3では、競技タスクが競技時間を、レーンタスクが途中経過タイムや競技タイムをLAN通信タスクに通知します。どちらも競技サーバへの送信につながるためです。
Q: 補機では、メインタスクからの通知も無効にしますか?
A: いいえ。設問が対象としているのは、表3で競技時間やレーンごとのタイムを通知するタスクです。メインタスクからの通知まで一律に無効にすると、競技情報の取得などにも影響します。
Q: 補機でも競技の計時や判定は行いますか?
A: 行います。補機も競技の進行、審判、計時を行いますが、競技サーバへのタイムや結果の送信は主機だけが行います。

関連キーワード: 冗長化、フェイルオーバー、タスク間通信、メッセージ制御、リアルタイムOS

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について