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

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


通信機能をもつ電子血圧計を用いた健康管理システムに関する次の記述を読んで、設問1~3に答えよ。

 B社は、電子血圧計(以下、血圧計という)を開発している。この血圧計は、通信機能をもち、ネットワーク経由で接続したデータセンタと通信することで、血圧値や脈拍数などの保存及び照会ができる。また、持ち運びができて単体でも使用できる。血圧計の外観及び健康管理システムの概要を図1に、血圧計のハードウェア構成を図2に示す。利用者は、カフに腕を通して自分の血圧を測定する。キーボードには、利用者キー、テンキー、測定開始キー、決定キー、緊急停止キー及び送信キーが付いている。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 図1)
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 図2)
〔血圧計の機能概要〕 (1) 血圧測定機能  アクチュエータでカフの加圧と減圧を行い、血管の圧迫によって生じる血液の渦が脈拍に応じて血管に当たる音(コロトコフ音)を、マイクで取り込む。コロトコフ音の発生間隔から脈拍数を求め、コロトコフ音の有無及び圧力センサ値から最高血圧及び最低血圧を求める。求めた結果をLCDに表示するとともに、プリンタで印字する。  マイクから取り込んだコロトコフ音の信号の変化のイメージ図を、図3に示す。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 図3)
(2) 利用者管理機能  操作部のフラッシュメモリには、最大200人分の利用者IDが登録できる。血圧計は、登録された利用者IDごとに、性別や生年月日などの個人情報、暗証番号及びその血圧計で測定された回数をフラッシュメモリに保存する。利用者IDの管理テーブルを、表1に示す。ここで、利用者IDは、この健康管理システムの利用者それぞれに割り当てられた固有の番号で、ほかの利用者の利用者IDと重複することはない。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 表1)
(3) 測定結果保存機能  フラッシュメモリには、登録した利用者全体で200回分の測定結果を保存できる。1回の測定で保存する測定結果の項目と各項目のメモリサイズの一覧を、表2に示す。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 表2)
 1回の測定が完了すると、表1中の“その血圧計での測定回数”に1を加えて保存する。その後、表2の測定結果を保存する。ここで、表2中の“利用者ごとの、その血圧計での測定回数”には、表1中の“その血圧計での測定回数”を格納する。 (4) 通信機能  血圧計がネットワークに接続されているときは、データセンタとの間で測定結果などを送受信できる。データセンタでは、利用者IDが同じであれば、異なる血圧計で測定した結果でも同一利用者の測定結果として扱う。   〔血圧の測定手順〕  利用者が、利用者キーを押した後に、利用者IDと暗証番号を入力すると、性別や生年月日などの個人情報がLCDに表示される。利用者は表示内容を確認し、間違いがなければ決定キーを押す。  利用者がカフに腕を通し、測定開始キーを押すと、血圧計は、次に示す順序で最高血圧、脈拍数及び最低血圧を測定する。  なお、測定を中止したいときは、いつでも緊急停止キーを押すことでカフを減圧し、血圧計の動作を停止できる。  (1) コロトコフ音を検出できるまで、カフを加圧する。  (2) コロトコフ音を検出した後、コロトコフ音を検出できなくなるまで、更にカフを加圧する。  (3) コロトコフ音を検出できなくなった後、50ミリ秒ごとに0.2mmHgずつカフを減圧していって、コロトコフ音を検出したとき、その時点の圧力センサ値を血圧値に変換して最高血圧とする。  (4) コロトコフ音を検出する間隔から、脈拍数を求める。  (5) 更に減圧していって、コロトコフ音を検出できなくなったとき、その時点の圧力センサ値を血圧値に変換して最低血圧とする。  (6) カフを減圧する。  なお、(1)においてコロトコフ音を一定時間検出できなかった場合には、測定準備エラーのメッセージを表示した後、カフを減圧し、腕を入れ直すように促す。   〔測定結果の保存及び削除〕  測定完了後、測定結果をフラッシュメモリに保存する。既に200回分の測定結果が保存されている場合は、最も古い測定結果を1回分削除する。   〔データセンタへの送信〕  データセンタへの送信は、血圧を測定していないときに行う。利用者IDと暗証番号を入力し、決定キーを押した後で送信キーを押すと、血圧計は、血圧計の機器番号と、フラッシュメモリに保存されているその利用者の測定結果を、測定データとしてデータセンタに送信する。送信に成功した場合は、フラッシュメモリからその測定結果を削除する。送信に失敗した場合は、その測定結果をフラッシュメモリに残したままとする。  なお、血圧計の機器番号は、血圧計ごとに割り当てられた3バイトの固有の番号であり、データセンタで保存している測定結果が、どの血圧計で測定されたものかを区別するために使用される。データセンタでは、血圧計の機器番号と測定結果を関連付けて保存する。   〔測定レポートの印字〕  測定結果をフラッシュメモリに保存した後、測定レポートを印字する。測定レポートには、その利用者の今回と過去の測定結果を合わせて最大21回分の測定日時、最高血圧、最低血圧及び脈拍数が表とグラフで、古いものから順に印字される。  これを実現するために、次の処理を行う。血圧計は、データセンタに対して、データセンタに保存されている測定データを要求する。データセンタは、すべての血圧計で測定されたその利用者の直近の過去20回分の測定データをその血圧計に送信する。血圧計は、データセンタから受信した測定データとフラッシュメモリ内の測定結果を用いて、今回と過去の測定結果を合わせて最大21回分の表とグラフを印字する。この場合、データセンタから受信した測定データの中の測定結果は、フラッシュメモリに保存しない。  さらに、血圧計はデータセンタから受信した測定データの中の測定結果及びフラッシュメモリの測定結果を調べ、データセンタに送信する前に削除された測定結果があることが明らかな場合は、測定レポートの最後に、一部の測定結果が削除された旨のメッセージを印字する。   〔ソフトウェア構成〕  血圧計のソフトウェアには、リアルタイムOSを使用している。主要タスクの処理概要と処理時間を表3に示す。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問2 表3)
 血圧測定制御タスクの状態遷移図を図4に示す。図4の状態遷移図において、“/”の左側は状態遷移条件、右側は状態遷移時に実行する処理又は指示を示す。ここで、“-”は該当する処理又は指示が存在しないことを示す。

設問1:血圧計の仕様について、(1)~(3)に答えよ。

設問1(1)

問題文を見る
血圧測定後、測定データをデータセンタから取得するとき、血圧計から送信しなければならない情報は何か。

模範解答

利用者ID

解説

解答の導き方

測定レポートを印字するときは、血圧計内の測定結果だけでなく、データセンタに保存された過去の測定結果も取得します。本文には、血圧計が「データセンタに保存されている測定データを要求する」とあり、データセンタは「その利用者の直近の過去20回分の測定データ」を送信するとあります。
ここで、データセンタがどの利用者の記録を返せばよいかを判断できる情報が必要です。本文では「利用者IDは、この健康管理システムの利用者それぞれに割り当てられた固有の番号」と説明されています。また、「利用者IDが同じであれば、異なる血圧計で測定した結果でも同一利用者の測定結果として扱う」とあるため、利用者IDを指定すれば、複数の血圧計で測定した記録も含めて、その利用者のデータを取得できます。
一方、血圧計の機器番号は、データセンタで「どの血圧計で測定されたものかを区別するため」に使われます。これは測定データの測定元を識別する情報であり、どの利用者の過去データを要求するかを示す情報ではありません。したがって、データセンタから利用者の測定データを取得するために送る情報は、利用者IDです。

誤りやすいポイント

  • 血圧計の機器番号と利用者IDを混同しないようにします。機器番号は測定した血圧計を識別し、利用者IDは利用者を識別します。
  • 測定結果をデータセンタへ送るときの情報と、データセンタから過去の測定結果を取得するときの情報を混同しないようにします。
  • 利用者IDは血圧計ごとの番号ではありません。同じ利用者IDの記録は、異なる血圧計で測定されたものでも同一利用者のデータとして扱われます。

FAQ

Q: なぜ血圧計の機器番号では、取得する利用者のデータを指定できないのですか?
A: 機器番号が示すのは測定に使った血圧計です。利用者を識別する番号ではないため、利用者の過去データを検索する指定には使えません。
Q: 利用者IDを指定すると、別の血圧計で測定した結果も取得できますか?
A: はい。データセンタでは、利用者IDが同じであれば、異なる血圧計で測定した結果も同一利用者の測定結果として扱います。
Q: 測定結果をデータセンタへ送信するときも、利用者IDを使いますか?
A: 測定結果の送信時には、本文にあるとおり、血圧計の機器番号と測定結果を測定データとして送信します。過去の測定データを要求する場面とは区別して考えます。

関連キーワード: 識別子、データ検索、データ管理、通信処理

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

この設問をAIに質問する

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

設問1(2)

問題文を見る
測定レポートを印字するために、測定結果と測定日時だけでなく利用者ごとの測定回数も保存している。その目的を、45字以内で述べよ。

模範解答

データセンタに送信できずにフラッシュメモリから削除した測定結果を検出するため

解説

解答の導き方

  1. 測定結果が消える状況を確認します。
    測定結果はフラッシュメモリに最大200回分保存され、満杯のときに新しい測定結果を保存すると、最も古い測定結果が削除されます。削除された結果がデータセンタへの送信前であれば、血圧計にもデータセンタにも残らないことがあります。
  2. 測定回数が、測定結果ごとに記録される点に注目します。
    本文には、測定が完了するたびに「その血圧計での測定回数」に1を加え、その回数を測定結果にも保存するとあります。そのため、各測定結果には、その利用者がその血圧計で何回目に測定したかを示す番号が残ります。測定日時が順序を示すのに対し、この回数は測定の抜けを調べる手掛かりになります。
  3. 番号の抜けから、測定結果の欠落を見つけます。
    例えば、同じ利用者・同じ血圧計の記録で測定回数が連続せず、ある回の番号だけが欠けていれば、その回の測定結果が、現在のフラッシュメモリにもデータセンタにも見当たらない可能性があります。データセンタでは機器番号と測定結果を関連付けているため、異なる血圧計の回数を混同せずに照合できます。
したがって、利用者ごとの測定回数を測定結果と一緒に保存するのは、データセンタに送信できないままフラッシュメモリから削除された測定結果を検出するためです。

誤りやすいポイント

  • 測定回数を、測定レポートの並び順を決めるための情報と考えないようにします。本文では、レポートは測定日時の順に印字されます。
  • 利用者ごとの回数は、複数の血圧計で共通する通し番号ではありません。「その血圧計での測定回数」なので、機器ごとに分けて照合します。
  • データセンタへの送信に成功して削除された測定結果と、送信前に削除された測定結果は区別が必要です。送信に成功した結果はデータセンタに残りますが、送信前に削除された結果は照合対象から失われます。

FAQ

Q: 測定回数は、なぜ測定結果ごとに保存するのですか?
A: 利用者管理テーブルの現在の回数だけでは、過去の測定結果が何回目の測定だったか分かりません。測定結果ごとにその時点の回数を保存しておけば、過去の記録に番号の抜けがないか確認できます。
Q: 複数の血圧計で測定した結果を、単純に回数順で並べればよいですか?
A: いいえ。回数は血圧計ごとに増えるため、機器番号で測定元を区別してから、同じ血圧計の記録同士を照合します。
Q: 測定日時だけでは、削除された結果を検出できませんか?
A: 測定日時は残っている記録の時系列を示しますが、記録されていない測定があったかどうかまでは示しにくいため、測定回数の連続性が欠落の検出に役立ちます。

関連キーワード: フラッシュメモリ、シーケンス番号、データ欠損検出、機器識別、測定履歴

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

この設問をAIに質問する

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

設問1(3)

問題文を見る
測定レポートを印字するときにデータセンタから受信する測定データは、最大で何バイトになるか。ここで、受信した測定データの中の測定結果から、利用者IDを除いて求めるものとする。

模範解答

340

解説

解答の導き方

まず、データセンタから受信する測定結果の件数を確認します。本文には、データセンタが「その利用者の直近の過去20回分の測定データ」を送信するとあります。測定レポートは最大21回分ですが、そのうち今回の測定結果は血圧計側に保存されているため、データセンタから受信するのは過去20回分です。
次に、測定結果1回分のサイズを表2から求めます。問題では測定結果から利用者IDを除くので、数える項目は次のとおりです。
  • 利用者ごとの、その血圧計での測定回数:2バイト
  • 脈拍数:1バイト
  • 最高血圧:2バイト
  • 最低血圧:2バイト
  • 測定日時:7バイト
したがって、測定結果1回分は、バイトです。
さらに、本文では血圧計の機器番号は「3バイトの固有の番号」であり、データセンタは機器番号と測定結果を関連付けて保存すると説明されています。複数の血圧計で測定したデータが送信対象になるため、各測定データには測定結果に加えて機器番号も必要です。よって、1回分の受信データは、バイトです。
最後に、過去20回分について合計すると、バイトになります。

誤りやすいポイント

  • 測定レポートの最大回数である21回分を、そのまま受信件数として計算しないようにします。今回の結果は血圧計側にあり、受信するのは過去20回分です。
  • 利用者IDは問題の条件により除外しますが、機器番号は除外対象ではありません。
  • 表2の項目だけを合計すると、機器番号の分が抜けます。データセンタが測定結果をどの血圧計のものか区別するための情報も考慮します。

FAQ

Q: 今回の測定結果もデータセンタから受信するのですか?
A: いいえ。今回の測定結果は血圧計のフラッシュメモリ内の測定結果と合わせてレポートに使います。データセンタから受信するのは過去20回分です。
Q: 利用者IDを除くのに、機器番号は加えるのですか?
A: はい。利用者IDは条件で除外されています。一方、機器番号は測定結果を測定した血圧計と関連付ける情報であり、除外する指示はありません。
Q: 21回分のレポートと20回分の受信データの違いは何ですか?
A: レポートは今回の測定結果と過去の測定結果を合わせて最大21回分です。今回の結果は血圧計側に保存されているため、受信データは過去20回分です。

関連キーワード: データレコード、レコード長、メモリ容量計算、通信データ量

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

この設問をAIに質問する

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

設問2:血圧計のタスク設計について、(1)~(3)に答えよ。

設問2(1)

問題文を見る
測定の誤差をできるだけ小さくするために、圧力センサタスクのタスク優先度を、音検出タスクよりも高く設定した。音検出タスクのタスク優先度が圧力センサタスクよりも高い場合に考えられる問題を、35字以内で述べよ。

模範解答

圧力センサ値の読込みが遅れ、低い血圧値を示すことがある。

解説

解答の導き方

表3によると、圧力センサタスクは「50ミリ秒ごとに圧力センサ値を読み込み」、その値を保持します。一方、音検出タスクは「100ミリ秒ごとにコロトコフ音の有無を判定」し、処理時間は60ミリ秒です。
音検出タスクの優先度が圧力センサタスクより高いと、音検出タスクが実行中の間、圧力センサタスクの実行が後回しになることがあります。その結果、圧力センサ値を予定した時点で読み込めず、読込みが遅れる可能性があります。
血圧測定手順では、カフを「50ミリ秒ごとに0.2mmHgずつ」減圧します。つまり、読込みが遅れた時点では、予定した読込み時点よりカフの圧力が低くなっています。その圧力を血圧値として扱うと、実際より低い血圧値を示すことがあります。

誤りやすいポイント

  • タスクの処理時間が短くても、優先度が低ければ、優先度の高いタスクの実行によって処理が遅れることがあります。
  • 「測定値の読込みが遅れる」ことと、「血圧値が高くなる」ことを混同しないようにします。カフは減圧中なので、後の時点で読んだ圧力値は低くなります。
  • 音検出の精度だけに注目せず、圧力センサ値を一定間隔で読み込む処理への影響も考えます。

FAQ

  • Q: なぜ読込みが遅れると、血圧値が低くなるのですか?
    A: 測定中はカフを減圧しているため、時間が経つほど圧力が下がります。したがって、遅れて読み込んだ圧力値は低くなります。
  • Q: 圧力センサタスクの処理時間が短ければ、遅れは起きないのではありませんか?
    A: 処理時間の短さだけでは決まりません。優先度の高い音検出タスクが実行されている間は、圧力センサタスクの開始が後回しになる可能性があります。
  • Q: 圧力センサタスクの優先度を高くする目的は何ですか?
    A: 圧力センサ値を所定のタイミングで読み込み、カフの圧力変化による測定誤差を小さくするためです。

関連キーワード: タスク優先度、リアルタイムOS、周期タスク、プリエンプション、サンプリング周期

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

この設問をAIに質問する

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

設問2(2)

問題文を見る
音検出タスクは、コロトコフ音を2回検出できたとき、“コロトコフ音検出”を血圧測定制御タスクに通知する。  血圧測定制御タスクは、この通知を受信して最高血圧を求めるが、通知を受けた後で血圧値を読み取っても、実際の値よりも低い値になるので、脈拍の間隔に応じた補正を考慮しなければならない。  コロトコフ音を検出できた間隔が1.0秒の場合、読み取った血圧値を補正する値は最大で何mmHgになるか。答えは小数第1位を四捨五入して、整数で求めよ。

模範解答

4

解説

解答の導き方

最高血圧は、コロトコフ音が初めて現れたときの圧力に対応します。しかし、音検出タスクは「コロトコフ音を2回検出できたとき」に血圧測定制御タスクへ通知するため、通知を受けて圧力を読み取るまでには、最初の音から次の音までの時間が経過しています。その間もカフは減圧されるので、読み取った圧力は実際の値より低くなります。
問題文では、カフを「50ミリ秒ごとに0.2mmHgずつ」減圧するとあります。コロトコフ音の検出間隔が1.0秒の場合、1.0秒の間に減圧される回数は次のとおりです。
したがって、圧力の低下分は、です。読み取った値には、この低下分を補正として加えます。

誤りやすいポイント

  • 減圧の間隔を、音検出タスクの判定間隔である100ミリ秒と取り違えないようにします。圧力の低下量は、問題文にある「50ミリ秒ごとに0.2mmHgずつ」から求めます。
  • コロトコフ音を2回検出するのは、脈拍の間隔を求めて通知するためです。1回分の減圧量だけでなく、1.0秒間に減圧される回数を計算します。
  • 読み取った圧力は低くなるため、補正ではその低下分を加えます。

FAQ

Q: なぜ、コロトコフ音を2回検出してから通知するのですか?
A: 2回の検出時刻の間隔から脈拍数を求めるためです。そのため、最初の音が検出されてから通知を受けるまでに時間が経過し、減圧分の補正が必要になります。
Q: 補正量を求めるとき、圧力センサの処理時間も使いますか?
A: この設問で求める補正量は、脈拍間隔の1.0秒間にカフが減圧される量です。圧力センサの処理時間ではなく、50ミリ秒ごとの減圧量を使って計算します。

関連キーワード: コロトコフ音、脈拍間隔、圧力センサ、サンプリング周期、血圧測定

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

この設問をAIに質問する

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

設問2(3)

問題文を見る
図4中のa~cに入れる適切な状態遷移条件を答えよ。

模範解答

a:コロトコフ音検出の通知を受信 b:緊急停止キー押下 c:コロトコフ音検出不可の通知を受信

解説

解答の導き方

図4の状態遷移条件は、測定手順の進み方と、各タスクから届く通知を対応させると判断できます。
まず、音検出タスクは「コロトコフ音を2回検出できたとき」に脈拍数と「コロトコフ音検出」を血圧測定制御タスクへ通知します。また、コロトコフ音が周期的に検出できなくなったときは、「コロトコフ音検出不可」を通知します。この二つの通知が、図4にある状態遷移条件の候補になります。
測定準備の状態では、カフを加圧してコロトコフ音が検出されるのを待っています。音が検出されたら、測定手順に従ってさらに加圧する段階に移るため、測定準備から最高血圧測定開始への条件[a]は「コロトコフ音検出の通知を受信」です。
その後、コロトコフ音が検出されなくなるまで加圧し、検出されなくなったら減圧を始めます。したがって、最高血圧測定開始から最高血圧測定中への条件[c]は「コロトコフ音検出不可の通知を受信」です。
減圧中にコロトコフ音が検出されたときは、その時点の圧力センサ値から最高血圧を記録し、最低血圧の測定に移ります。よって、最高血圧測定中から最低血圧測定中への条件[a]も、コロトコフ音検出の通知を受信したことです。同じ通知でも、現在の状態によって次の状態と実行する処理が異なります。
最低血圧測定中にさらに減圧し、コロトコフ音が検出されなくなったときは、その時点の圧力センサ値から最低血圧を記録します。この遷移条件も、音検出タスクからの通知を受けることなので、条件[c]です。
最後に、測定中はいつでも緊急停止キーを押して動作を停止できます。図4でも、測定中の各状態から測定開始待ち状態へ戻る条件として緊急停止が示されているため、条件[b]は「緊急停止キー押下」です。

誤りやすいポイント

  • [a]と[c]は、それぞれ同じ条件が複数の遷移で使われます。現在の状態によって遷移後の状態や処理が変わるため、遷移ごとに別の条件を当てはめないようにします。
  • 測定準備中に一定時間コロトコフ音を検出できない場合は、図4に別の条件として示されています。[c]は単に「音がない状態」ではなく、音検出タスクから「コロトコフ音検出不可」の通知を受けたことです。
  • 緊急停止キー押下は、血圧測定の進み具合にかかわらず測定を中止する条件です。コロトコフ音の検出状況と混同しないようにします。

FAQ

Q: [a]が複数の遷移に使われるのはなぜですか?
A: どちらも音検出タスクからコロトコフ音検出の通知を受ける遷移です。測定準備中なら次の加圧段階へ進み、最高血圧測定中なら最高血圧を記録して最低血圧の測定へ進みます。
Q: 「一定時間経過」と「コロトコフ音検出不可の通知」は同じ条件ですか?
A: 同じではありません。前者は測定準備中に一定時間が経過したこと、後者は音検出タスクから音を検出できない旨の通知を受けたことです。
Q: 緊急停止キー押下が条件[b]になる根拠は何ですか?
A: 測定手順には、測定を中止したいときはいつでも緊急停止キーを押せるとあります。図4でも、測定中の状態から測定開始待ち状態へ戻る条件として扱われています。

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

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

この設問をAIに質問する

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

設問3:血圧計がネットワークに接続されているとき、利用者のデータセンタへの送信し忘れによって測定結果が削除されることがある。これを防ぐために、血圧の測定完了時に測定結果を自動的に送信する機能の追加を検討する。この機能を追加するに当たって、測定結果のフラッシュメモリへの保存処理とデータセンタにある測定データの送信要求を送信する処理の間に、測定データをデータセンタに送信し、送信に成功したときはフラッシュメモリからその測定結果を削除する処理をメインタスクに追加することにした。

設問3(1)

問題文を見る
この機能を追加してテストしたところ、血圧計がネットワークに接続されているとき、ほとんどの場合で測定レポートに最大20回分の測定結果しか印字されなくなった。この原因を35字以内で述べよ。

模範解答

送信に成功したことによって、最近の測定結果を削除したから

解説

解答の導き方

測定レポートは、データセンタから受信した測定データと、血圧計のフラッシュメモリに保存された測定結果を合わせて、最大21回分を印字する仕組みです。データセンタからは「直近の過去20回分」の測定データが送られるため、通常はその20回分に今回の測定結果を加えて、最大21回分になります。
今回追加した処理では、測定結果をデータセンタに送信し、送信が成功すると「フラッシュメモリからその測定結果を削除する」ことになっています。そのため、レポート印字時に、フラッシュメモリ内には今回の測定結果が残っていません。
一方、今回の測定結果はデータセンタに送信済みです。データセンタから受信する直近20回分の中に今回の測定結果が含まれるため、フラッシュメモリ内の結果を追加して21回分にすることができず、印字されるのは最大20回分になります。したがって、原因は送信成功によって最近の測定結果がフラッシュメモリから削除されたことです。

誤りやすいポイント

  • データセンタに送信した測定結果が消失した、と考えないようにしましょう。削除されるのはフラッシュメモリ内の記録であり、送信成功後はデータセンタに保存されています。
  • 送信処理に時間がかかることを原因と考えないようにしましょう。問題は印字開始の遅れではなく、印字対象が最大20回分になることです。
  • 以前の最大21回分は、データセンタから受信する20回分に、フラッシュメモリに残っている今回の測定結果を加えられることで実現していました。

FAQ

Q: 送信に失敗した場合も、今回の測定結果はフラッシュメモリから削除されますか?
A: いいえ。本文では、送信に失敗した場合は測定結果をフラッシュメモリに残したままとされています。
Q: 今回の測定結果は、レポートにまったく表示されなくなりますか?
A: いいえ。送信に成功すればデータセンタ側に保存され、その直近20回分の測定データに含まれてレポートに表示されます。ただし、フラッシュメモリ内の結果を加えられないため、全体は最大20回分になります。

関連キーワード: フラッシュメモリ、データ保存、データ同期、測定履歴

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

この設問をAIに質問する

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

設問3(2)

問題文を見る
テスト中、フラッシュメモリに測定結果を保存した後の測定レポートの印字開始が機能追加前よりも更に3秒程度遅れる現象がまれに発生した。この原因を35字以内で述べよ。

模範解答

データ送信時又はデータ受信時に1回再送が発生したから

解説

解答の導き方

測定レポートの印字が遅れる原因を考えるには、追加された処理が印字開始より前に行われることと、通信制御タスクの再送条件を結び付けます。
まず、追加された処理は、測定結果をフラッシュメモリに保存した後、データセンタに測定データを送信し、その後に測定データの送信要求を送る流れです。したがって、追加された送信処理が完了するまでは、その後のデータ受信や測定レポートの印字に進めません。
次に、表3には、データ送信でエラーが起こると「3秒後に再送する」とあります。また、データ受信では、送信要求を送ってから「3秒以内に測定データが受信できないときは、直ちに測定データの送信要求を再送する」とあります。どちらの場合も、1回の再送が起きると、処理の進行におよそ3秒の遅れが生じます。
そのため、まれにデータ送信時又はデータ受信時に再送が発生し、その待ち時間が印字開始の遅れとして現れたと考えられます。

誤りやすいポイント

  • 測定結果の保存処理やプリンタ制御タスクの処理時間が原因だと考えること。問題の遅れは約3秒であり、表3にある通信の再送待ち時間と対応します。
  • 送信時の再送だけに注目すること。表3では、受信時にも3秒のタイムアウト後に送信要求を再送する条件が示されています。
  • 「再送でもエラーになった場合」の処理だけを見ること。約3秒の遅れは、再送が1回発生した時点で説明できます。

FAQ

Q: なぜ通信の再送が印字開始に影響するのですか?
A: 測定レポートの印字より前に通信処理が行われるためです。通信処理の完了が遅れると、後続の受信処理や印字開始も遅れます。
Q: 再送が起きると、必ず印字開始が3秒遅れますか?
A: およそ3秒の待ち時間が加わりますが、実際の遅れは通信処理の進み方にも左右されます。問題文では「3秒程度」遅れる現象として問われています。
Q: 送信と受信のどちらで再送が起きたかを特定できますか?
A: 問題文の情報だけでは特定できません。表3の送信時・受信時のどちらの再送条件でも、遅れの原因になり得ます。

関連キーワード: 再送制御、タイムアウト、通信処理、タスク制御、リアルタイムOS

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

この設問をAIに質問する

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

戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する→

すぐに利用可能!

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

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