HOME»応用情報技術者試験掲示板»平成30年秋  問16

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

掲示板検索:

[2286]平成30年秋  問16

nnaさん(No.1)

https://www.ap-siken.com/s/kakomon/30_aki/q16.html

3つのジョブを同時並列処理と書いてあるのに、解説を見ると3ジョブ×5分+2ジョブ×5分といった計算をしています。
並列なのだから全て合わせて15分で処理が終わるといったイメージなのですが、間違いなのでしょうか?

2020.10.17 05:43
さん(No.2)

「並列」と「並行」は似ていますが意味が違います。
並列:高速化のため、1つの処理を複数のコアで分散処理する。
並行:同時進行のため、1つのコアで処理を切替えながら進める。解説に出てきたのはこちら。

CPU(コア)がある瞬間にできる処理は1つだけです。「同時並行的」は「1ミリ秒ずつ区切って切替えながら処理すれば、人間の目には同時進行しているように見える」と解釈してください。

単純に処理するとAの完了は最速で5分後、最遅で30分後ですが、今回のようなスケジューリング処理をすれば安定的に15分くらいで終わります。

2020.10.17 09:47
あいういおさん(No.3)

ジョブA、ジョブB、ジョブCがそれぞれ処理時間が違うことに着目する必要があります。

また、スケジューリング方式として一定時間事に実行するジョブを変更すると記載があるので、
ジョブA→ジョブB→ジョブC→ジョブA→ジョブB→ジョブC→(繰り返し)
を一定時間に切り替えてジョブを実行していきます(ここでいう一定時間は非常に短いので数秒くらいと考える)

仮に10秒ごとにジョブの切替をするとして、
ジョブA(10s)→ジョブB(10s)→ジョブC(10s)→(繰り返し)
と実行していくと、ジョブAが5分実行したタイミングで完了するため、
ジョブAが完了する周回までに5分×3=15分

同様に残ったB,Cにおいても同様の計算をすると、
ジョブB(10s)→ジョブC(10s)→(繰り返し)
のようになり、5分×2=10分

問題ではジョブBが完了するまでの時間を問われているので、
15分+10分=25分  これが答えになるわけです。

2020.10.17 09:53
nnaさん(No.4)

みなさん回答ありがとうございます。
理解できました。

2020.10.18 17:20

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

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

プレビュー

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

投稿記事削除用フォーム

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

Pagetop