HOME»応用情報技術者試験掲示板»H27秋 午後 組み込み設問1
投稿する

[1468] H27秋 午後 組み込み設問1

 ogさん(No.1) 
設問1に関して、解答は
「時計の補正機能によって,時計の時刻が1秒以上変化したとき」
とあります。
表2管理タスクによって時刻の誤差が0.5sを超えないように制御しているものだと認識しています。
つまり、補正によって時刻が動いても最大で0.5sとなり、1秒を超えて補正されることはないと思っています。
どのような場合に1s以上の補正がかかるのでしょうか。

よろしくお願いします。
2019.02.26 16:44
助け人さん(No.2) 
AP ゴールドマイスター
図1の後の(3)に以下の通りあります。

電力量計は,時刻補正サーバ又は検針員用の専用端末を利用し,時計を十分な精度で補正できる。
2019.02.27 20:13
 ogさん(No.3) 
助け人さん

ご回答ありがとうございます。
「電力量計は,時刻補正サーバ又は検針員用の専用端末を利用し,時計を十分な精度で補正できる。」文中の”補正”が行われるのは管理タスクの制御により時刻のずれが0.5sを超えない範囲ではないのでしょうか。
つまり、1sを超えて補正されることはないと認識しました。
この点に関してご意見いただければ幸いです。
2019.03.01 16:08
助け人さん(No.4) 
AP ゴールドマイスター
設問4(2)の解答「17時間」を使って説明しますが、RTCの誤差が1日当たり±0.7秒で、この誤差が±0.5秒を超えないように、最大17時間ごとに時刻補正を行います。

例えば、電力計の00時00分00秒に時刻補正要求をするとして、その時点で0.5秒遅れてしまっているとします(正しい時刻は00時00分00秒50)。時刻補正サーバとはネットワーク経由ですから往復時間がかかります。これが0.8秒として、電力計の00時00分00秒80に時刻補正サーバから「00時00分00秒90」を入手することになり、往復時間の半分を加味して「00時00分01秒30」で時刻補正します。

つまり、時刻を00時00分00秒80から00時00分01秒30に0.5秒ほど進ませます。これにより何が起こるかというと、00時00分01秒の1秒データを採りそこないます。

ネットワーク上で、往路と復路で時間に大きな開きがある場合は、時刻の補正幅は0.5秒を超えてしまい、1秒を超えることも考えられます。1秒を超えれば、確実に1秒データは抜けたりダブったりしますし、0.5秒以下でも、時刻の補正が秒の切れ目をまたがった場合は、やはり1秒データは抜けたりダブったりします。

試験会場で問題を解いているときは、こんなことを全部考える余裕はなく、直感しかありません。

なお、IPAの解答例にある「1秒以上」は、その必要はないので、解答としては不適切だと思います。「電力計の時計が秒の切れ目をまたがって補正されたとき」がいいと思います。
2019.03.01 18:05
助け人さん(No.5) 
AP ゴールドマイスター
ちょっと思いついたことがあるので、追記します。

この問題の電力計では、時刻の補正を徐々にではなく一気に行いますので、時間が不連続になります。つまり、時刻の抜けが発生したり、時刻の戻りが発生し、誤動作の元となります。例えば、決まった時間間隔で動作する処理があれば、一定時間内のその処理回数が減ったり増えたりすることにつながることを思い浮かべなければなりません。

ところで、電波時計は、(詳しくは知りませんが)時刻の補正を徐々に行うものと理解しています。NTPでは、STEPモード(一気に補正)とSLEWモード(徐々に補正)があるようです。
2019.03.01 22:45
今さら聞けないさん(No.6) 
たぶんですけど、単純に回答すると、
スレ主さんが言うとおり、実際の時刻は0.5秒以内で補正され正確だと解釈できます。
ずれていくのはRTCの方だと思います。ただ、それでも1日で0.7秒となっていますが。。。
助け人さんが言うように、「1秒以上」は自分も怪しいと思っていました。
次で4回目の受験になるのですが、ときどきこういう問題ありますね。
2019.03.08 16:48
助け人さん(No.7) 
AP ゴールドマイスター
IPAの解答例よりもよっぽど良い内容の解答を書いても、解答例を基準にして採点されますから、そこは運次第です。運で得点がブレますから、安全得点分だけ上積みしないといけません。
2019.03.09 13:36

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop