Status transition of tasks
A computer processes many programs in parallel.
There are three statuses to make it possible.
・Executable
・Execute
・Wait
Tasks are stored in memory.
(Tasks are instructions that a computer processes.)
Task "A" is assigned to CPU and its status changes to "Execute".
A computer will process task "A" by doing this.
The next task is "B" for example.
Task "B" is assigned to CPU and its status changes to "Execute".
SVC interruption will occur to process task "B" and its status will change to
"Wait". Task "B" is printed by a printer while it keeps status "Wait".
(SVC = Supervisor Call)
The status will change to "Executable" after printing is finished.
Let's go to the following case!
If high priority task is created when CPU processes other task,
what do you think will happen?
Task "C" will be suspended and task "D" will be assigned to CPU.
Status transition of tasks and medical examination are similar.
①A patient waits for own turn.
②A doctor see a patient after other medical check finished.
③If a doctor says "You have a cold. Please get some medicine and go home.",
medical check finished.
④If a doctor says "I see you after you have an IV. ", a patient has an IV.
⑤When a serious patient requires an emergency surgery,
a doctor gives priority to it.
-------------------------------------------------------------------------------
[Japanese]
タスクの状態遷移
コンピュータは複数のプログラムを並行して処理するため、タスクに 3 つの
状態があります。
・実行可能状態
・実行状態
・待ち状態
まず始めに、メモリ(=主記憶)にタスク(=命令)が貯まります。
実行可能状態のAタスクが CPUに割り当てられて実行状態となり、Aタスクが
処理されます。
Aタスクの処理が完了します。
続いて、Bタスクが「印刷のタスク」だった場合について解説します。
BタスクもCPUに割り当てられて、実行状態になります。
印刷を行うために「SVC割り込み」が発生し、Bタスクは待ち状態になります。待ち状態の間に、プリンターでBタスクの印刷が行われます。
SVC = Supervisor Call(スーパーバイザーコール)
印刷が終わると、Bタスクは実行可能状態に遷移します。
次は、CPUが別のタスクを実行中に、新たに優先度の高いタスクが生成された場合について解説します。
Cタスクは中断され、CPUによってDタスクが処理されます。
ここまで解説してきました「タスクの状態遷移」は、病院での診察と仕組みが似ています。
①患者さんは病院の窓口で受付を済ませた後、診察の順番を待ちます。
②お医者さんの手が空いて患者さんの名前が呼ばれたら、お医者さんに
診察してもらいます。
③「風邪ですので、薬を受け取って帰宅して大丈夫です。」とお医者さんに
言われたら、患者さんの診察は終了です。
④もし、「点滴して、体調が改善されるかどうかを再度診察しましょう。」と
言われたら、患者さんは点滴を打ちます。
⑤お医者さんが患者さんを診察中、別の重体の患者さんを緊急で手術しなけ
ればならない場合、お医者さんは手術を優先します。