Status transition of tasks

記事
IT・テクノロジー

Status transition of tasks

A computer processes many programs in parallel.
There are three statuses to make it possible.
・Executable
・Execute
・Wait
Status_1(ENG).png


Tasks are stored in memory.
(Tasks are instructions that a computer processes.)
Status_2(ENG).png


Task "A" is assigned to CPU and its status changes to "Execute".
A computer will process task "A" by doing this.
Status_3(ENG).png



Status_4(ENG).png



The next task is "B" for example.
Status_5(ENG).png


Task "B" is assigned to CPU and its status changes to "Execute".
Status_6(ENG).png


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)
Status_7(ENG).png



The status will change to "Executable" after printing is finished. 
Status_8(ENG).png


Let's go to the following case!
If high priority task is created when CPU processes other task,
what do you think will happen?
Status_9(ENG).png



Task "C" will be suspended and task "D" will be assigned to CPU.
Status_10(ENG).png



Status transition of tasks and medical examination are similar.
Status_11(ENG).png

①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 つの
状態があります。
・実行可能状態
・実行状態
・待ち状態
Status_1.png



まず始めに、メモリ(=主記憶)にタスク(=命令)が貯まります。
Status_2.png


実行可能状態のAタスクが CPUに割り当てられて実行状態となり、Aタスクが
処理されます。
Status_3.png


Aタスクの処理が完了します。
Status_4.png



続いて、Bタスクが「印刷のタスク」だった場合について解説します。
Status_5.png



BタスクもCPUに割り当てられて、実行状態になります。
Status_6.png



印刷を行うために「SVC割り込み」が発生し、Bタスクは待ち状態になります。待ち状態の間に、プリンターでBタスクの印刷が行われます。
SVC = Supervisor Call(スーパーバイザーコール)
Status_7.png



印刷が終わると、Bタスクは実行可能状態に遷移します。
Status_8.png




次は、CPUが別のタスクを実行中に、新たに優先度の高いタスクが生成された場合について解説します。
Status_9.png



Cタスクは中断され、CPUによってDタスクが処理されます。
Status_10.png



ここまで解説してきました「タスクの状態遷移」は、病院での診察と仕組みが似ています。
Status_11.png

①患者さんは病院の窓口で受付を済ませた後、診察の順番を待ちます。
②お医者さんの手が空いて患者さんの名前が呼ばれたら、お医者さんに
 診察してもらいます。
③「風邪ですので、薬を受け取って帰宅して大丈夫です。」とお医者さんに
 言われたら、患者さんの診察は終了です。
④もし、「点滴して、体調が改善されるかどうかを再度診察しましょう。」と
 言われたら、患者さんは点滴を打ちます。
⑤お医者さんが患者さんを診察中、別の重体の患者さんを緊急で手術しなけ
 ればならない場合、お医者さんは手術を優先します。




サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す