平成15年春期 午前問27
広告
ABさん
(No.1)
タスクの実行状態について、図の中でタスクBやCで『WAIT➔RUN』になっている部分があるのですが、優先度の高いタスクの実行可能状態(READY)は一瞬過ぎるため慣例的に図示しないものなのでしょうか?
疑問に至った理由としては、タスクの状態遷移は下図だと学習し、WAITからいきなりRUNになることはない認識だったためです。
READY ⇄ RUN
↖ WAIT ↙
↑タスクの状態遷移
問題を読んだとき、RUN➔READYになったときが優先度の高いタスクが来たと考えることができるなと思いました。そのため、図を見るとタスクAが、タスクCよりも優先度が低いことはわかりました。しかし、それ以外については判断がつきませんでした。
解説を読んで理解はできたのですが…。
下図は、RUNの前には必ずREADYを記載するとして、想定した図(D>F)なのですが、解説にある考え方(READYとRUNの状態だけ見て決める)では、どちらが優先度高いか決めれないなと思い。
タスクD WAIT ➔READY ➔RUN ➔WAIT
タスクF RUN ➔RUN ➔READY➔RUN
改めて質問になりますが、
優先度の高いタスクの実行可能状態(READY)は一瞬なため慣例的に図示しないものなのでしょうか?
(説明わかりづらかったらすみません)
疑問に至った理由としては、タスクの状態遷移は下図だと学習し、WAITからいきなりRUNになることはない認識だったためです。
READY ⇄ RUN
↖ WAIT ↙
↑タスクの状態遷移
問題を読んだとき、RUN➔READYになったときが優先度の高いタスクが来たと考えることができるなと思いました。そのため、図を見るとタスクAが、タスクCよりも優先度が低いことはわかりました。しかし、それ以外については判断がつきませんでした。
解説を読んで理解はできたのですが…。
下図は、RUNの前には必ずREADYを記載するとして、想定した図(D>F)なのですが、解説にある考え方(READYとRUNの状態だけ見て決める)では、どちらが優先度高いか決めれないなと思い。
タスクD WAIT ➔READY ➔RUN ➔WAIT
タスクF RUN ➔RUN ➔READY➔RUN
改めて質問になりますが、
優先度の高いタスクの実行可能状態(READY)は一瞬なため慣例的に図示しないものなのでしょうか?
(説明わかりづらかったらすみません)
2024.06.24 03:03
タマルさん
(No.2)
https://www.ap-siken.com/kakomon/15_haru/q27.html
ABさんの質問を読んで、私もどういうことなのだろうと気になっておりました。
ABさんの質問の答えにはなっておりませんが、WAIT状態から直接RUNになることはないというのは、私もABさんと共通する認識です。皆さんも認識は同じだと思います。
よって、やはり一瞬のREADY状態が省略されているとしか考えられません。
一瞬であれば遷移状態を省くことができるというのは、決して慣例ではないと思いますが、この問題に関してはそのように考えないと、正解を導き出すことはできないですよね。
一瞬のREADY状態があることも想定して正答してね!というのがこの問題なのでしょうね。
慣例的には、一瞬の状態は省くんだよーって方がいらっしゃったら教えていただけますでしょうか。
ABさんの質問を読んで、私もどういうことなのだろうと気になっておりました。
ABさんの質問の答えにはなっておりませんが、WAIT状態から直接RUNになることはないというのは、私もABさんと共通する認識です。皆さんも認識は同じだと思います。
よって、やはり一瞬のREADY状態が省略されているとしか考えられません。
一瞬であれば遷移状態を省くことができるというのは、決して慣例ではないと思いますが、この問題に関してはそのように考えないと、正解を導き出すことはできないですよね。
一瞬のREADY状態があることも想定して正答してね!というのがこの問題なのでしょうね。
慣例的には、一瞬の状態は省くんだよーって方がいらっしゃったら教えていただけますでしょうか。
2024.06.24 14:24
momochanさん
(No.3)
WAITからいきなりRUNというよりも、READYに遷移するけれど、2つのタスク(READY)を比べた時に優先度の高いタスクがすぐにRUNに遷移すると解釈すれば良いのでは。
WAITの要因が解消されれば、READYに遷移する。
最優先のタスクの実行が終了したり、一時的にWAITになると、READYのタスクの中で最も優先度が高いタスクがRUNに回される。
RUN中のタスクよりも優先度が高いタスクがREADYに入るとすぐにRUNに遷移し、今までRUN中だったタスクがREADYに回される。
WAITの要因が解消されれば、READYに遷移する。
最優先のタスクの実行が終了したり、一時的にWAITになると、READYのタスクの中で最も優先度が高いタスクがRUNに回される。
RUN中のタスクよりも優先度が高いタスクがREADYに入るとすぐにRUNに遷移し、今までRUN中だったタスクがREADYに回される。
2024.06.24 18:20
ABさん
(No.4)
タマルさん
返信ありがとうございます。
認識合っていてひとまず安心しました。
経験値低い質問ですみませんが、
実務であれば、一瞬のREADY状態でも図示すべきで、解説の方法で、タスク優先度を判別することはないですよね?
であれば、試験ではそういう書き方だと納得して、考えるほかなさそうですね
返信ありがとうございます。
認識合っていてひとまず安心しました。
経験値低い質問ですみませんが、
実務であれば、一瞬のREADY状態でも図示すべきで、解説の方法で、タスク優先度を判別することはないですよね?
であれば、試験ではそういう書き方だと納得して、考えるほかなさそうですね
2024.06.24 19:31
ABさん
(No.5)
momochan さん
返信ありがとうございます。
返信ありがとうございます。
2024.06.24 21:29
タマルさん
(No.6)
ABさん
私は技術系ではありませんので、実務はわからないのですが、業務であれば、誰でも明確、且つ迅速に理解できるよう、省略すべきではないと思います。
でも、明確&迅速ではないところから解答を導き出すのが、試験というものでありまして……😅
> 実務であれば、一瞬のREADY状態でも図示すべきで、解説の方法で、タスク優先度を判別することはないですよね?
私は技術系ではありませんので、実務はわからないのですが、業務であれば、誰でも明確、且つ迅速に理解できるよう、省略すべきではないと思います。
でも、明確&迅速ではないところから解答を導き出すのが、試験というものでありまして……😅
2024.06.25 10:10
boyonboyonさん
★AP シルバーマイスター
(No.7)
問題の図の縦線をREADYと見たらどうでしょう。
例外としてRUN→WAITに移る時の縦線は、READYと見なしません。
RUN→READY→WAITという遷移はないと思うので。
左端を除いて1本目の縦線
A:READY ではありません。
B:READY
C:READY
Bが、RUNに遷移するので B>C
2本目の縦線
A:WAIT継続中
B:READY ではありません。
C:READY
Cが、RUNに遷移
3本目
A:READY
B:READY
C:READY ではありません。
Bが、RUNに遷移するので B>A
4本目
A:READY (1回待たされている)
B:READY ではありません。
C:WAIT継続中
Aが、RUNに遷移
5本目
A:READY
B:WAIT継続中
C:READY
Cが、RUNに遷移するので C>A
結果、B>C>Aになります。
別解として、READY状態で待たされることが少ない方が、優先度は高いと思います。
READYで待たされているのは、Aが2回、Bが0回、Cが1回です。
例外としてRUN→WAITに移る時の縦線は、READYと見なしません。
RUN→READY→WAITという遷移はないと思うので。
左端を除いて1本目の縦線
A:READY ではありません。
B:READY
C:READY
Bが、RUNに遷移するので B>C
2本目の縦線
A:WAIT継続中
B:READY ではありません。
C:READY
Cが、RUNに遷移
3本目
A:READY
B:READY
C:READY ではありません。
Bが、RUNに遷移するので B>A
4本目
A:READY (1回待たされている)
B:READY ではありません。
C:WAIT継続中
Aが、RUNに遷移
5本目
A:READY
B:WAIT継続中
C:READY
Cが、RUNに遷移するので C>A
結果、B>C>Aになります。
別解として、READY状態で待たされることが少ない方が、優先度は高いと思います。
READYで待たされているのは、Aが2回、Bが0回、Cが1回です。
2024.06.25 22:48