応用情報技術者平成29年春期 午後1
ファイル:2017h29h_ap_pm_qs.pdf
参照:
https://www.ap-siken.com/kakomon/29_haru/pm07.html
メモを簡単に記載します。
詳細の分析は、上記リンクをご参照くだいますようよろしくお願いします。
1、ウォッチのソフトウェアについて,(1)~(3)に答えよ。
(1)、図2中のa~dに入れる適切なタスク名を答えよ。
(2)、割込みマスクに関する次の記述中のe,fに入れる適切な字句を答えよ。
割込みハンドラとメインタスクは,どちらもタッチ操作割込みのマスクを操作している。これは,例えば,ウォッチがフォンからメール受信通知を受信した直後に,利用者がウォッチのタッチパネルにタッチした場合の不都合を避けるためである。その不都合とは,eを表示した後,利用者が表示されたeを確認する前に,画面がfに切り替わってしまうことである。
eメールの内容 (私の答え)
f新しいメール通知 (私の答え)
→
e:メールの内容(参考答え)
f:機能選択画面(参考答え)
ウォッチの動作仕様により、タッチパネルにタッチすると、「機能選択画面を表示する」。
なお、ウォッチの機能によりフォンが受信したらメールの内容を表示する。
そうすると、ウォッチがフォンからメール受信通知を受信した直後に、利用者がウォッチのタッチパネルをタッチをすると、受信したメールの内容を確認する前に機能選択画面に切り替わってしまいます。本問のウォッチでは、これを避けるために、各割込みハンドラの起動時にタッチ操作割込みをマスク(受付無効に)し、メインタスクが適切なタイミングで解除する仕様になっています。
(3)、タスクの動作に関する次の記述中のgに入れる適切な字句を答えよ。また,次の記述中の,"意図しない現象"とはどのような現象か。15字以内で述べよ。
画面表示タスクが画面の更新を行っているときに,画面作成タスクが動作を開始すると,意図しない現象が発生した。この問題を解決するために,画面表示タスクが画面の更新を行っているときに,画面作成タスクが動作を開始しないように,それぞれのタスクのgを,適切に設定した。
g 起床条件 (私の答え)
現象:画面の更新ができない (私の答え)
→
g 優先度 (参考答え)
現象:複数画面が混在表示される(参考答え)
表2より、
画面表示タスクは「画面情報の内容を基に、画面の更新を行う」。
画面作成タスクは「メインタスクから受けた情報を基に、表示画面を作成し、画面情報に書き込む。」とあり、画面情報を更新。
つまり、「画面情報」というものがメモリにあります。
正常な流れは、
・画面作成タスクが「画面情報」に書き込む⇒
・画面表示タスクが「画面情報」を読みだして表示する
今回は画面表示タスクと画面作成タスクは並行して実行されるため、
今回の流れは、
・画面表示タスクが「画面情報」を読みだして表示する (まだ終わっていない)
・画面作成タスクが「画面情報」に書き込む
そうすると、既に画面表示タスクが読み出した情報は正常に表示されたが、
まだ読み出していない情報が上書きされて、画面表示タスクが読み出してしまった。
そうすると、画面に表示されている情報は、複数画面が混在している情報ですね。
混在するより、複数の各画面の一部だけ、同じ画面に表示されるとのこと。
もし、メモリが大きいで、足りる場合、メモリには、両画面の情報が全て含んだとすると、画面表示タスクは複数画面を同じ画面に表示しますね。
この問題を解決するためには、それぞれのタスクに優先度を付けて、画面表示タスクを実行中に画面作成タスクを動作しないようにする必要があります。これらのことから、gは「優先度」、"現象"は「複数画面が混在表示される」が適切です。