HOME»応用情報技術者試験掲示板»令和元年秋期 午前問15

応用情報技術者試験掲示板

掲示板検索:

令和元年秋期 午前問15[2042]

あばば無人君さん(No.1)

タイトルの問題文中に「n件目の書込みと並行してn+1件目のCPU処理とn+2件目の読取りを実行〜」とあるのですが、この動作ですとたとえば最初の1件目の読取り/CPU処理/書込みを行っていると書込みのタイミングでn+2件目の読取りが実行されるので、2件目(n+1件目)の読取りは行われない様に(つまり処理に漏れが生じるのではないか?と)感じました。
私の問題の解釈が間違っていますでしょうか?
この問題の意味が分かる方がいらっしゃいましたら解説を頂きたいです。

2020.06.26 16:42
さん(No.2)

この投稿は投稿者により削除されました。(2020.06.27 13:17)

2020.06.27 13:17
さん(No.3)

プログラムが読み取り→CPU処理→書き込みという流れであるとして、
今回の問題では並行してn件目が書き込み、n+1件目がCPU処理、n+2件目が読み取りを行っています。
つまり、この時点でn+1件目はCPU処理の前段階の読み取りは既に終わっています。
解説の図がわかりやすいかと

2020.06.27 13:18
おわ!さん(No.4)

ベストアンサーの後で恐れ入ります。
以下の方法でも、「n件目の書込みと平行して(n+1)件目のCPU処理と(n+2)件目の読取りを実行する」手前の、n件目と(n+1)件目の処理状況が把握しやすくなると思います。

解説の図「並列処理の流れ」の左側の「〜件目の数字」を「−2」ずらし、
(n−2)、(n−1)、n、(n+1)、(n+2)、(n+3)件目に読替えます。

次に、右側の並列処理の絵はいじらず、区間を50ミリ秒間隔の横4つに区切り、
     n件目の「読取り」を行う区間:区間n、
(n+1)件目の「読取り」を行う区間:区間(n+1)、
(n+2)件目の「読取り」を行う区間:区間(n+2)、
(n+3)件目の「読取り」を行う区間:区間(n+3)とします。

区間n、区間(n+1)、区間(n+2)における
n件目、(n+1)件目、(n+2)件目の処理のみ抜粋します。

・区間n
  n件目:読取り、(n+1)件目:−、(n+2)件目:−

・区間(n+1)
  n件目:CPU、(n+1)件目:読取り、(n+2)件目:−

・区間(n+2)
  n件目:書込み、(n+1)件目:CPU、(n+2)件目:読取り

以上、「n件目の書込みと(n+1)件目のCPU処理と(n+2)件目の読取り」を並列処理する区間(n+2)の手前で、区間(n+1)の処理により、n件目はCPU処理まで、(n+1)件目は読取りが、既に終わっていることが分かります。

2020.06.28 16:13
あばば無人君さん(No.5)

ささん、おわ!さん、こんなに早く返信して頂きありがとうございます。
というか私の返信が遅れて申し訳ありません。

ただ、私の理解が悪いためか、記載して頂いた内容で理解(納得?)できていません。
私の疑問としましては以下図の通り、1件目の書込みと並行して「CPU30(2件目)」と「読取り(3件目)」が行われると、「読取り(2件目)」が存在しないので処理漏れがあるのではないか?というものです。
(私ももちろん解説の図は見ております)

1件目|読取り40|CPU30|書込み50
                      |CPU30(2件目)
                      |読取り(3件目) ←読取り(2件目)が無くいきなり3件目!

こういった類の設問では1件目だけ
1件目|読取り40|CPU30|書込み50
                      |CPU30(2件目)
                      |読取り(2件目)
                      |読取り(3件目)
という感じになっていると理解すべきでしょうか?(ささんの返信内容はこれです?)

あと、最初の投稿で未記載でしたが、ささんご記載の通り処理の流れは
「読み取り→CPU処理→書き込み」という認識です。記載漏れ、済みませんでした。

長くなってしまい申し訳ありません。どなたかご解説いただきたいです。

2020.06.29 11:19
助け人さん(No.6)

横から失礼します。

読取り、CPU処理、書込みをそれぞれ処理a、処理b、処理cと置き換えます。

解説のようなn件目〜n+5件目だと分かりにくいようなので、1件目から6件目を、下記の図で説明します。(縦がまっすぐにそろえばいいのですが)

区間   1  2  3  4  5  6  7  8
1件目  a  b  c
2件目     a  b  c
3件目        a  b  c
4件目           a  b  c
5件目              a  b  c
6件目                 a  b  c

解説の図は、区間3〜6を切り出したものです。

2020.06.29 20:32
あばば無人君さん(No.7)

助け人さん、丁寧な表で回答いただきありがとうございます。

記載の表、念のため等幅フォントのエディタに張り付けて確認しましたところ
ご記載の通り「解説の図は、区間3〜6の切り出し」であることが理解できました。

問題文では
「n件目の書込みと並行してn+1件目のCPU処理とn+2件目の読取りを実行〜」
とありますが、これは助け人さんの表でいうと
「n件目のCPU処理が始まると、n+1件目の読取りが並行して開始される」
となる訳ですね。
(問題文もこんな感じで書いてもらえれば混乱しなかったのに…)

ささん、おわ!さん、助け人さん、ご回答いただきありがとうございました。
本件、これでクローズとさせて頂きます。

2020.06.30 09:33

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

記事削除用パスワード(20文字以内)

プレビュー

※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2020 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop