JP2000105708A - Task managing method and multitask os - Google Patents

Task managing method and multitask os

Info

Publication number
JP2000105708A
JP2000105708A JP10274863A JP27486398A JP2000105708A JP 2000105708 A JP2000105708 A JP 2000105708A JP 10274863 A JP10274863 A JP 10274863A JP 27486398 A JP27486398 A JP 27486398A JP 2000105708 A JP2000105708 A JP 2000105708A
Authority
JP
Japan
Prior art keywords
task
state
execution
waiting
sleep
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10274863A
Other languages
Japanese (ja)
Inventor
Tadakatsu Masaki
忠勝 正木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10274863A priority Critical patent/JP2000105708A/en
Publication of JP2000105708A publication Critical patent/JP2000105708A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a task managing method and multitask OS which can perform task management with a good memory efficiency and can perform programming easily and shorten the processing time. SOLUTION: The task managing method which allows tasks to share a last-in first-out common stack, allows a task put in a standby state from a halt state to enter an execution state in two ways, and puts the task in the execution state back into the halt state according to an end indication puts a task which is in the standby state and should not be executed in a halt waiting state wherein the task enters the halt state after a task of higher priority enters a halt state or is completed, and then puts the task in the halt waiting state in the halt state according to the principle when a task which is currently executed enters the halt state or is completed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のタスクを同
時に実行できるマルチタスクOSに関し、特に、メモリ
効率のよいタスク管理ができるとともに容易なプログラ
ミング(プログラムの設計・コーディング・テスト・デ
バッグなどプログラム作成に関すること全般)と処理時
間の短縮とを可能にしたタスク管理方法およびマルチタ
スクOSに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multitasking OS capable of simultaneously executing a plurality of tasks, and more particularly to a multitasking OS capable of performing task management with high memory efficiency and easy programming (program creation such as program design / coding / test / debug). The present invention relates to a task management method and a multi-task OS capable of reducing processing time.

【0002】[0002]

【従来の技術】ユーザが計算機に実行させる1つのまと
まった仕事であるジョブは一般にジョブステップと呼ば
れる複数の作業単位から成り立っているが、OS(Oper
atingSystem)からみた実行すべき単位は特にタスクと
呼ばれる。すなわちタスクは、CPUの使用権を与えら
れる基本単位であり、プログラムを実行する実体であ
る。また、上記タスクを同時に複数実行できるOSはマ
ルチタスクOSと呼ばれ、このマルチタスクOSは、タ
スク管理機能・ジョブ管理機能・ファイル管理機能など
OSの根幹をなす機能を実現する制御プログラムと、言
語プロセッサ・サービスプログラムなどユーザによるプ
ログラミングを支援する処理プログラムとに大別され
る。以下、上記マルチタスクOSの制御プログラムによ
ってなされるタスク管理について説明する。〔タスク管
理〕マルチタスクOSでは、複数のタスクの実行を円滑
に管理することを目的としており、このようなタスク管
理では、主記憶装置において、プログラムの流れを記憶
するためのスタック領域が必要となる。このスタック領
域はタスク毎に必要な領域であり、領域サイズは、当該
スタック領域を使用するタスクが必要とする最大サイズ
以上とするのが通常である。ところが現実には様々な制
約によって、全てのタスクが最大サイズのスタック領域
を同時に使用することはあり得ないため、タスク毎に異
なるスタック領域を割り当てることはメモリ(主記憶装
置)の利用効率面からみて好ましくない。
2. Description of the Related Art A job, which is a single job executed by a user on a computer, is generally composed of a plurality of work units called job steps.
A unit to be executed from the viewpoint of atingSystem) is particularly called a task. That is, a task is a basic unit to which the right to use the CPU is given, and is an entity that executes a program. An OS capable of executing a plurality of the tasks at the same time is called a multitask OS. The multitask OS includes a control program for realizing functions that are the basis of the OS, such as a task management function, a job management function, and a file management function. It is roughly divided into a processing program that supports programming by a user, such as a processor service program. Hereinafter, task management performed by the control program of the multitask OS will be described. [Task Management] The multi-task OS aims at smoothly managing the execution of a plurality of tasks, and such task management requires a stack area for storing a program flow in a main storage device. Become. This stack area is an area required for each task, and the area size is usually equal to or larger than the maximum size required by the task using the stack area. However, in reality, all tasks cannot use the maximum size stack area at the same time due to various restrictions. Therefore, allocating a different stack area for each task is difficult from the viewpoint of memory (main storage) utilization efficiency. It is not preferable.

【0003】このような問題を解消するため、同時に動
作しないことがプログラムの設計上明らかなタスクにつ
いては同一のスタック領域を割り当てるという方法が従
来より行われてきた。この方法によれば、同一のスタッ
ク領域を複数のタスクで共用することになるため上記メ
モリ効率の問題をかなり改善することができる。しか
し、この方法によっても、同時に動作する可能性がある
タスクについては個々にスタック領域が必要であり、上
記問題を完全に解決する方法とはいえない。そこで近年
では、タスクの状態を制限することによって全てのタス
クが同一のスタック領域を共用できるようにしたタスク
管理方法が提案されており、以下、このタスク管理方法
について説明する。
In order to solve such a problem, a method of allocating the same stack area to a task that is apparent from the design of a program that does not operate at the same time has been conventionally performed. According to this method, since the same stack area is shared by a plurality of tasks, the above-mentioned problem of memory efficiency can be considerably improved. However, even with this method, a stack area is required for tasks that may operate simultaneously, and it cannot be said that this method is a method for completely solving the above problem. Therefore, in recent years, a task management method has been proposed in which all tasks can share the same stack area by limiting the state of the task. Hereinafter, this task management method will be described.

【0004】まず上記タスク管理方法では、図11に示
すように、実行状態・待機状態・休止状態の3つの状態
でタスクを管理するようにしている。上記実行状態と
は、CPUが割り当てられ、当該タスクのプログラムが
命令を実行している状態であり、上記待機状態とは、実
行すべきプログラムにスタック領域が割り当てられた状
態でCPUの割り当てを待っている状態であり、上記休
止状態とは、例えば資源(入出力装置等)の割り当てを
待つ場合のようにプログラムでなんらかの処理を行った
結果を待っている状態であり実行すべきプログラムにス
タック領域が割り当てられていない状態である。
First, in the task management method, as shown in FIG. 11, tasks are managed in three states: an execution state, a standby state, and a sleep state. The execution state is a state in which a CPU is allocated and a program of the task is executing an instruction. The standby state is a state in which a program to be executed has a stack area allocated and waits for CPU allocation. The pause state is a state in which the program waits for the result of performing some processing, such as when waiting for the allocation of resources (such as input / output devices). Is not assigned.

【0005】ここで、タスク管理は、制御プログラムに
含まれるタスク管理プログラムによってなされ、タスク
管理に必要な情報は、タスク毎に、図12に示すような
主記憶装置内のタスクコントロールブロック(以下、
「TCB」という。)に記憶される。すなわちタスク管
理プログラムは、TCBの「タスク名」「状態」「中断
アドレス」「優先度」等のフィールドに記憶される情報
(以下、「タスク情報」という。)に基づいてタスク管
理を行う。
[0005] The task management is performed by a task management program included in the control program, and information necessary for the task management is provided for each task in a task control block (hereinafter, referred to as a task control block) in a main storage device as shown in FIG.
It is called "TCB". ) Is stored. That is, the task management program performs task management based on information (hereinafter, referred to as “task information”) stored in fields such as “task name”, “state”, “interruption address”, and “priority” of the TCB.

【0006】上記「タスク名」フィールドにはタスクに
対応するタスクIDが記憶され、上記「状態」フィール
ドには現在のタスクの状態すなわち実行状態か待機状態
か或いは休止状態かが記憶される。
[0006] The "task name" field stores a task ID corresponding to the task, and the "status" field stores the current state of the task, that is, whether it is in an execution state, a standby state, or a sleep state.

【0007】また、上記「中断アドレス」フィールドと
は、中断アドレスすなわち次に実行すべきスタック領域
上の番地を記憶するフィールドであり、タスク管理プロ
グラムは、この「中断アドレス」フィールドに記憶され
ている中断アドレスをCPUのスタックポインタにコピ
ーすることによってタスクの切り替えを行う。例えば、
割込みなど様々な要因に基づいて実行状態のタスクを待
機状態に移行させて他のタスクを実行状態に切り替える
必要が生じた場合、タスク管理プログラムは、切り替え
前における上記実行状態タスクの上記中断アドレスを含
むタスク情報を当該タスクのTCBに一旦保存してお
き、このタスクの実行を再開する際には、上記TCBよ
りタスク情報を読み出したのち実行を再開する(この
時、中断アドレスをCPUのスタックポインタにコピー
する)ようにしている。
The "interrupt address" field stores an interrupt address, that is, an address on the stack area to be executed next, and the task management program is stored in the "interrupt address" field. The task is switched by copying the interruption address to the stack pointer of the CPU. For example,
When it becomes necessary to shift the task in the execution state to the standby state based on various factors such as an interrupt and switch another task to the execution state, the task management program sets the interruption address of the execution state task before the switching. The task information including the task information is temporarily stored in the TCB of the task, and when resuming the execution of the task, the task information is read from the TCB and the execution is resumed (at this time, the interrupt address is set to the stack pointer of the CPU). To copy).

【0008】このようにすれば、上記切り替え前の状態
でタスクの実行を再開することができる(CPUは、ス
タックポインタによって特定されるスタック領域に保持
されている番地より実行を再開する)。
In this way, the execution of the task can be resumed in the state before the switching (the CPU resumes the execution from the address held in the stack area specified by the stack pointer).

【0009】ところで、実行状態あるいは待機状態にあ
る複数のタスクの中からCPUの割り当てを行う(実行
状態にする)タスクを選択することをタスクスケジュー
リングという。このタスクスケジューリングにおけるタ
スクの選択動作を可能にするため、タスクには、上記選
択動作の優先度すなわち実行の優先度を示す情報が付さ
れ、この情報は上記TCBの「優先度」フィールドに記
憶される(上記優先度を示す情報は、コーディング時に
ユーザによって付される)。すなわちタスク管理プログ
ラムは、TCBの「優先度」フィールドを参照すること
によって上記タスクスケジューリングをすることができ
る。なお、実行状態のタスクが処理を完了(タスクを完
了)すると、タスク管理プログラムは、該タスクに割り
当てていたスタック領域を開放するとともに該タスクの
タスク情報をTCBより消去した後、タスクスケジュー
リングをする。
[0009] By the way, selecting a task to which a CPU is to be assigned (to be in an execution state) from a plurality of tasks in an execution state or a standby state is called task scheduling. In order to enable the task selection operation in this task scheduling, the task is provided with information indicating the priority of the selection operation, that is, the execution priority, and this information is stored in the “priority” field of the TCB. (The information indicating the priority is added by the user at the time of coding.) That is, the task management program can perform the task scheduling by referring to the “priority” field of the TCB. When the task in the execution state completes the process (completes the task), the task management program releases the stack area allocated to the task, erases the task information of the task from the TCB, and then performs task scheduling. .

【0010】以上のようにすれば、より高い優先度のタ
スクが起床される場合を除いて実行中のタスクのプリエ
ンプション(中断)を禁止することができるため、全て
のタスクが同一のスタック領域を共用できるようにな
り、メモリ効率のよいタスク管理が可能となる。
[0010] In this way, the preemption (interruption) of the running task can be prohibited except when a task with a higher priority is woken up, so that all tasks use the same stack area. The task can be shared and memory-efficient task management becomes possible.

【0011】[0011]

【発明が解決しようとする課題】ところで、上記タスク
管理におけるタスクの状態遷移(図11の状態遷移図に
おける矢印)は、実行中のタスクより或いはオペレータ
の指示に基づいてシステムコールが発行されることによ
ってなされる。上記システムコールとは、OSが提供す
る各種サービスをユーザが利用できるように開放したも
のであり、例えば、Windows系OSではファイル
入出力に関するシステムコールとして“CreateFile(),
ReadFile(), CloseHandle() ”等が開放されているた
め、ユーザは、これらのシステムコールを用いてプログ
ラムを作成することによって上記OSが提供するファイ
ル入出力サービスを利用することができる。すなわちシ
ステムコールを用いれば、該システムコールを受けたO
Sによって当該システムコールに対応するサービスが提
供されることになるため、ユーザが複雑なプログラムを
作成する必要はなくなる。
The task state transition (the arrow in the state transition diagram of FIG. 11) in the task management is performed by issuing a system call from a task being executed or based on an operator's instruction. Done by The system call is a system call that is opened so that a user can use various services provided by the OS. For example, in a Windows OS, “CreateFile (),
Since ReadFile (), CloseHandle () ", and the like are open, the user can use the file input / output service provided by the OS by creating a program using these system calls. If the call is used, O
Since the service corresponding to the system call is provided by S, the user does not need to create a complicated program.

【0012】ここで、同一のスタック領域を共用してタ
スクを管理する上記従来のマルチタスクOSには、待機
状態のタスクを休止状態に移行させるシステムコールを
実現できない(強制休止させることができない)という
制限がある。このような制限が生じるのは、スタック
が、最後に記憶されたデータを最初に取り出す“ラスト
インファーストアウト方式(図13参照)”を採用する
ためである。すなわち図14に従って説明すると、タス
クBが待機状態にあり、タスクBよりも優先度の高いタ
スクCが実行状態にある状態で、上記のタスクBをスタ
ック領域から取り出す(休止状態に移行させる)と、現
在実行中のタスクCを破壊してしまうことになるためで
ある。
Here, in the above-described conventional multitask OS that manages tasks by sharing the same stack area, a system call for shifting a task in a standby state to a sleep state cannot be realized (forced suspension cannot be performed). There is a restriction. Such a limitation occurs because the stack adopts a “last-in first-out method (see FIG. 13)” in which the data stored last is retrieved first. That is to say, referring to FIG. 14, when the task B is in the standby state, and the task C having a higher priority than the task B is in the execution state, and the task B is taken out of the stack area (transition to the sleep state), This is because the currently executing task C is destroyed.

【0013】このようなことから複数のタスクで同一の
スタックを共用した従来のマルチタスクOSでは、後述
するように、待機状態のタスクを休止状態に移行させた
い場合にはプログラムの構造が複雑になり設計やテスト
などに多くの時間が必要となってしまうという問題があ
った。
For this reason, in the conventional multitask OS in which the same stack is shared by a plurality of tasks, the structure of the program becomes complicated when it is desired to shift the task in the standby state to the sleep state, as described later. There is a problem that much time is required for designing and testing.

【0014】また、上記システムコールを実現できない
ことは、タスク管理における処理時間短縮という点にお
いても問題となっている。すなわち従来のマルチタスク
OSによれば、上記システムコールに代わる複数の処理
ステップが必要となり、その結果、処理時間が長くなっ
てしまう。この問題は、例えば当該マルチタスクOSの
用途が光ディスク装置の制御である場合など処理時間の
面でシビアな要求がされる場面で特に大きな障害とな
る。
Further, the inability to realize the above-mentioned system call poses a problem in that the processing time in task management is reduced. That is, according to the conventional multitask OS, a plurality of processing steps are required in place of the above system call, and as a result, the processing time becomes long. This problem becomes a particularly serious obstacle in a situation where a severe request is required in terms of processing time, for example, when the application of the multitask OS is control of an optical disk device.

【0015】以下、上述した問題を図15に従って更に
詳しく説明する。ここでは、待機状態のタスクT1 ・T
2 と実行状態のタスクT3 とがある場合にタスクT3
らタスクT1 に実行を遷移させるときの内部処理につい
て説明する。なお、タスクの優先度は、T3 ・T2 ・T
1 の順に高いものとする。
Hereinafter, the above problem will be described in more detail with reference to FIG. Here, the tasks T 1 and T in the standby state
2 and when there is a task T 3 of the execution states for internal processing when shifting the execution from the task T 3 to the task T 1 will be described. The task priority is T 3 · T 2 · T
Higher in order of 1 .

【0016】仮に、待機状態のタスクを休止状態に移行
させるシステムコール(タスク強制休止システムコー
ル)を実現できると想定すれば、図15(I) に示すよう
に、実行状態のタスクT3 がタスクT2 に対して上記
システムコールを発行した後自タスクを終了するため
のシステムコールを発行する、という2ステップで処理
が完了する(タスクT1 が待機状態から実行状態に移行
する)。
[0016] If, assuming that it can realize a system call to shift the task in a wait state to a rest state (task force deactivation system call), as shown in FIG. 15 (I), task T 3 of running task issuing a system call to terminate the current task after issuing the system call to T 2, the process in two steps that are completed (task T 1 is to shift to the execution state from the waiting state).

【0017】しかしながら図14において説明したよう
に、現在実行中のタスクT3 より先に、スタック上でそ
の下に位置するタスクT2 を休止状態にする(スタック
より取り出す)ことは、上記実行中のタスクT3 を破壊
することになるので、上記タスク強制休止システムコー
ルは実現できないことになる。従って、このような従来
のマルチタスクOSでは、図15(II)に示すように、実
行状態のタスクT3 が待機状態のタスクT2 に対して
終了要求を発行した後自タスクを終了するためのシス
テムコール(自タスクに対する終了指示)を発行し、
これによって待機状態から実行状態となったタスクT2
が自タスクを終了するためのシステムコールを発行す
る、という3ステップの処理が必要となる。更にこのよ
うな動作を可能にするためには、各タスクの中で、他の
タスクから終了要求があるか否かを監視し、他のタスク
から終了要求があった場合には自タスクを終了するため
のシステムコールを発行するようにしなければならな
い。
However, as described with reference to FIG. 14, prior to the task T 3 currently being executed, the task T 2 located below the stack is put into a sleep state (removed from the stack). it means to destroy the task T 3, the task force deactivation system call would not be realized. Therefore, in such a conventional multitask OS, as shown in FIG. 15 (II), the task T 3 in the execution state issues a termination request to the task T 2 in the standby state, and then terminates its own task. Issue a system call (end instruction for the invoking task)
As a result, the task T 2 changed from the standby state to the execution state
Issues a system call for terminating the invoking task. Furthermore, in order to enable such an operation, it is monitored whether there is a termination request from another task in each task, and if there is a termination request from another task, the own task is terminated. Issue a system call to do so.

【0018】以上のように、上記従来のマルチタスクO
Sによれば待機状態のタスクを休止状態に移行させるシ
ステムコールを実現できないため、プログラムの構造が
複雑になり多くの処理ステップが必要となる結果、プロ
グラミングが困難になるとともに処理に時間がかかると
いう問題があった。
As described above, the conventional multitask O
According to S, it is not possible to realize a system call for shifting a task in a standby state to a suspended state, so that the structure of a program is complicated and many processing steps are required. As a result, programming becomes difficult and processing takes time. There was a problem.

【0019】本発明は上記従来の事情に基づいて提案さ
れたものであって、メモリ効率のよいタスク管理ができ
るとともに、容易なプログラミングと処理時間の短縮と
を可能にしたタスク管理方法およびマルチタスクOSを
提供することを目的とするものである。
The present invention has been proposed on the basis of the above-mentioned conventional circumstances, and a task management method and a multitasking method capable of performing task management with a high memory efficiency, enabling easy programming and reducing processing time. It is intended to provide an OS.

【0020】[0020]

【課題を解決するための手段】本発明は上記目的を達成
するために以下の手段を採用している。すなわち、本発
明は図2に示すように、複数のタスクがラストインファ
ーストアウト方式の共通のスタックを共有し、休止状態
から待機状態に遷移させたタスクを実行状態との間で双
方向に遷移可能とし、終了指示に基づいて実行状態にあ
るタスクを休止状態に戻すタスク管理方法を前提として
いる。
The present invention employs the following means to achieve the above object. That is, according to the present invention, as shown in FIG. 2, a plurality of tasks share a common stack of the last-in-first-out method, and a task that has transitioned from a sleep state to a standby state bidirectionally transitions to and from an execution state. It is assumed that a task management method is possible, in which a task in an execution state is returned to a suspended state based on a termination instruction.

【0021】上記のようなタスク管理方法において、待
機状態にあるタスクであって実行してはいけないタスク
を、該タスクより高い優先度のタスクが休止状態になる
か或いはタスクを完了したときに休止状態に移行する休
止待ち状態にスタック上で移行させた後、現在実行中の
タスクが休止状態になるか或いはタスクを完了したとき
に上記原則に基づいて上記休止待ち状態のタスクをスタ
ックから抜いて休止状態に移行させるようにしている。
このようにすれば、待機状態にあるタスクを強制休止さ
せることができる。
In the above-described task management method, a task that is in a standby state and must not be executed is set to a standby state when a task having a higher priority than the task enters a sleep state or when the task is completed, the task is suspended. After shifting on the stack to the sleep-waiting state, the currently executing task goes to sleep or when the task is completed, the task in the sleep-waiting state is removed from the stack based on the above principle. It is going to be in hibernation.
In this way, the task in the standby state can be forcibly suspended.

【0022】また、上記休止待ち状態にあるタスクを、
該タスクに対してタスク起動システムコールが発行され
た場合に待機状態と遷移条件が等価な状態である再待機
待ち状態に移行させるようにしている。このようにすれ
ば、休止待ち状態にあるタスクを復活させることができ
る。
The task in the sleep waiting state is
When a task activation system call is issued for the task, a transition is made to a re-waiting wait state in which the waiting state and the transition condition are equivalent. In this way, the task in the sleep waiting state can be restored.

【0023】更に、上記休止状態にあるタスクであって
実行すべきタスクを、該タスクより高い優先度のタスク
が休止状態になるか或いはタスクを完了したときに実行
状態に移行する待機待ち状態に移行させた後、現在実行
中のタスクが休止状態になるか或いはタスクを完了した
ときに上記原則に基づいて上記待機待ち状態のタスクを
実行状態に移行させるようにしている。このようにすれ
ば、休止状態にあるタスクを待機待ち状態を介して実行
状態に移行させることができる。
Further, the task which is in the sleep state and is to be executed is set to a standby state in which a task having a higher priority than the task enters a sleep state or shifts to an execution state when the task is completed. After the transition, the task in the waiting state is transitioned to the execution state based on the above principle when the task currently being executed is put into a sleep state or when the task is completed. In this way, the task in the sleep state can be shifted to the execution state via the waiting state.

【0024】ここで、待機状態にあるタスクを休止待ち
状態へ移行させるには、当該待機状態にあるタスクに対
してタスク強制休止システムコールが発行することによ
ってなされ、また、休止待ち状態にあるタスクを再待機
待ち状態に移行させるには、当該休止待ち状態にあるタ
スクに対してタスク起動システムコールが発行された場
合に行われ、更に、再待機待ち状態あるタスクを休止待
ち状態に移行させるには、当該再待機待ち状態にあるタ
スクに対してタスク強制休止システムコールが発行され
た場合に行われる。一方、休止状態にあるタスクを待機
待ち状態に移行させるには、当該休止状態にあるタスク
に対してタスク起動システムコールが発行された場合に
行われ、待機待ち状態にあるタスクを休止状態に移行さ
せるには、当該待機待ち状態にあるタスクに対してタス
ク強制休止システムコールが発行されることによってな
される。
The task in the waiting state is shifted to the waiting state by issuing a forced task suspension system call to the task in the waiting state. Is shifted to the re-waiting wait state when a task activation system call is issued for the task in the waiting state. Is performed when a task forced suspension system call is issued for the task in the waiting state. On the other hand, a task in the idle state is shifted to the standby state when a task activation system call is issued to the task in the idle state, and the task in the standby state is shifted to the idle state. This is done by issuing a task forced suspension system call to the task in the waiting state.

【0025】なお、上記タスク強制休止システムコール
およびタスク起動システムコールは、実行状態にあるタ
スクまたはハンドラによって発行される。
The task forcible suspension system call and the task activation system call are issued by a task or a handler in an execution state.

【0026】[0026]

【発明の実施の形態】以下に本発明の実施の形態を図面
に従って詳細に説明する。図1は、本実施の形態におけ
るマルチタスクOS10の要部の概略機能ブロック図で
あり、タスク管理プログラムに含まれるタスク切替手段
11・実行タスク決定手段12とTCBに含まれるタス
ク状態記憶手段13a・タスク優先度記憶手段13bと
を示している。以下、本実施の形態におけるマルチタス
クOS10の構成について、上記従来のマルチタスクO
Sと異なる点のみ説明する。 〔タスクの状態遷移〕本実施の形態におけるタスク管理
は、図2に示すように、実行状態・待機状態・休止状態
の3つの状態に休止待ち状態・再待機待ち状態・待機待
ち状態を加えて6つの状態でタスクを管理するようにし
ており、以下、休止待ち状態・再待機待ち状態・待機待
ち状態について説明する。なお、上記6つ状態の中、休
止状態・待機待ち状態を除いた他の4つの状態はすべて
スタック上にタスクが割り当てられる領域が存在してい
るタスクの状態である。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a schematic functional block diagram of a main part of a multitask OS 10 according to the present embodiment. The task switching unit 11 and the execution task determination unit 12 included in the task management program and the task state storage unit 13a included in the TCB are included. The task priority storage means 13b is shown. Hereinafter, regarding the configuration of the multitask OS 10 according to the present embodiment,
Only different points from S will be described. [Task state transition] As shown in FIG. 2, task management in this embodiment is performed by adding a pause wait state, a re-wait wait state, and a wait wait state to three states of an execution state, a standby state, and a pause state. Tasks are managed in six states. Hereinafter, a pause wait state, a re-wait wait state, and a wait wait state will be described. Note that, among the above six states, the other four states except the sleep state and the standby wait state are all the states of the tasks in which the area to which the task is allocated exists on the stack.

【0027】上記休止待ち状態とは、例えば実行状態の
タスクからのタスク強制休止システムコール等の終了指
示によって待機状態のタスクがとる状態であり、休止待
ち状態にあるタスクは、当該タスクより高い優先度のタ
スクがすべて休止状態になるか或いはタスクを完了する
と休止状態に移行する。
The pause waiting state is a state in which a task in a standby state is taken by an end instruction such as a task forced suspension system call from a task in an executing state, and a task in a pause waiting state has a higher priority than the task. When all tasks are in the sleep state or when the tasks are completed, the state shifts to the sleep state.

【0028】上記再待機待ち状態とは、例えば実行状態
のタスクからのタスク起動システムコール等の起動指示
によって休止待ち状態のタスクがとる状態であり、再待
機待ち状態にあるタスクは待機状態のタスクと同様に、
当該タスクより高い優先度のタスクがすべて休止状態に
なるか或いはタスクを完了すると実行状態に移行し、当
該タスクに対して上記タスク強制休止システムコールが
発行されると休止待ち状態に移行する。
The re-waiting waiting state is a state in which a task in a waiting state is taken by an activation instruction such as a task activation system call from a task in an executing state, and a task in a re-waiting state is a task in a waiting state. alike,
When all the tasks having higher priority than the task enter the sleep state or when the task is completed, the task is shifted to the execution state, and when the task forcible sleep system call is issued to the task, the task shifts to the sleep waiting state.

【0029】上記待機待ち状態とは、上記タスク起動シ
ステムコールによって休止状態のタスクがとる状態であ
り、待機待ち状態にあるタスクは、当該タスクより高い
優先度のタスクがすべて休止状態になるか或いはタスク
を完了すると実行状態に移行し、当該タスクに対して上
記タスク強制休止システムコールが発行されると休止状
態に移行する。
The above-mentioned waiting state is a state in which a task in a dormant state is taken by the above-mentioned task start system call. When the task is completed, the state transitions to the execution state, and when the task forced suspension system call is issued for the task, the state transitions to the suspension state.

【0030】すなわち、本実施の形態におけるタスク管
理では、待機状態にあるタスクであって実行してはいけ
ないタスクをスタック上で休止待ち状態に移行させた
後、必要に応じて待機状態と遷移条件が等価な再待機待
ち状態または休止状態に移行させる経路を形成する。ま
た、休止状態にあるタスクであって実行すべきタスクを
スタック上で待機待ち状態に移行させた後、必要に応じ
て実行状態に移行、または、休止状態に戻す経路を形成
する。
That is, in the task management according to the present embodiment, a task that is in a standby state and must not be executed is shifted to a sleep standby state on the stack, and then the standby state and the transition condition are changed as necessary. Form a path for transition to an equivalent re-waiting or hibernation state. In addition, after a task that is in a dormant state and is to be executed is shifted to a waiting state on the stack, a path is formed as necessary to shift to an executing state or to return to a dormant state.

【0031】なお、このような移行処理は後述するよう
にタスク切替手段11または実行タスク決定手段12に
よってなされる。 〔システムコール発行時の処理概要〕以下、図3に従っ
て、タスク強制休止システムコールおよびタスク起動シ
ステムコールが実行状態のタスクによって発行された場
合に実行される処理の概要を説明する。
Note that such transition processing is performed by the task switching means 11 or the execution task determination means 12 as described later. [Outline of Processing at Issuance of System Call] An outline of processing executed when a task forcible suspension system call and a task activation system call are issued by a task in an execution state will be described below with reference to FIG.

【0032】タスク強制休止システムコールが実行状態
のタスクによって発行されると、図3(I) に示すよう
に、当該システムコールが対象とするタスクを強制休止
する“タスク強制休止処理”を行い、続いて上記処理後
に実行状態とすべきタスク(以下、「実行タスク」とい
う。)を決定する“実行タスク決定処理”を行った後、
上記実行タスクを実行状態に移行する処理すなわちタス
クを切り替える“タスク切替処理”を行う。
When a task forcible suspension system call is issued by a task in the execution state, "task forcible suspension processing" for forcibly suspending a task targeted by the system call is performed as shown in FIG. Subsequently, after performing an “execution task determination process” for determining a task to be brought into an execution state after the above process (hereinafter, referred to as “execution task”),
The process of shifting the execution task to the execution state, that is, “task switching process” for switching tasks is performed.

【0033】また、タスク起動システムコールが実行状
態のタスクによって発行されると、図3(II)に示すよう
に、当該システムコールが対象とするタスクを起動する
“タスク起動処理”を行い、続いて上記“実行タスク決
定処理”を行った後、上記“タスク切替処理”を行う。
When a task activation system call is issued by a task in the execution state, a "task activation process" for activating the task targeted by the system call is performed as shown in FIG. After performing the “execution task determination process”, the “task switching process” is performed.

【0034】以下、これらの処理を図4〜8に従って更
に詳しく説明する。 〔タスク強制休止処理〕タスク強制休止システムコール
が実行状態のタスクによって発行されると、まず、実行
タスク決定手段12は、タスク状態記憶手段13aを参
照することによって強制休止対象のタスクの状態が実行
状態であるか否かを判断し、実行状態であると判断した
場合には当該強制休止対象のタスクを休止状態に変更す
る(図4ステップ1→ステップ6、図7(a) )。
Hereinafter, these processes will be described in more detail with reference to FIGS. [Task forcible suspension processing] When a task forcible suspension system call is issued by a task in the execution state, first, the execution task determination unit 12 refers to the task state storage unit 13a to determine the state of the task to be forcibly suspended. It is determined whether or not the task is in a running state. If the task is determined to be in an executing state, the task to be forcibly suspended is changed to a suspended state (step 1 in FIG. 4 → step 6, FIG. 7 (a)).

【0035】一方、実行状態でないと判断した場合、実
行タスク決定手段12は更に強制休止対象のタスクの状
態が待機状態であるか否かを判断する(図4ステップ1
→ステップ2)。
On the other hand, if it is determined that the task is not in the execution state, the execution task determining means 12 further determines whether the state of the task to be forcibly suspended is in the standby state (step 1 in FIG. 4).
→ Step 2).

【0036】ここで実行タスク決定手段12は、待機状
態であると判断した場合には当該強制休止対象のタスク
をスタック上で休止待ち状態に変更する(図4ステップ
2→ステップ5→ステップ7→ステップ8、図7(b)
)。
Here, when the execution task determining means 12 determines that the task is in the standby state, the task to be forcibly suspended is changed to the suspension wait state on the stack (FIG. 4, step 2 → step 5 → step 7 → Step 8, FIG. 7 (b)
).

【0037】一方、待機状態でないと判断した場合、実
行タスク決定手段12は更に強制休止対象のタスクの状
態が待機待ち状態であるか否かを判断する(図4ステッ
プ2→ステップ3)。
On the other hand, if it is determined that the task is not in the standby state, the execution task determining means 12 further determines whether or not the state of the task to be forcibly suspended is in the standby state (FIG. 4, step 2 → step 3).

【0038】ここで実行タスク決定手段12は、待機待
ち状態であると判断した場合には当該強制休止対象のタ
スクを休止状態に変更する(図4ステップ3→ステップ
6、図7(c) )。
If the execution task determining means 12 determines that the task is in the waiting state, it changes the task to be forcibly suspended to the suspended state (FIG. 4, step 3 → step 6, FIG. 7 (c)). .

【0039】一方、待機待ち状態でないと判断した場
合、実行タスク決定手段12は更に強制休止対象のタス
クの状態が再待機待ち状態であるか否かを判断する(図
4ステップ3→ステップ4)。
On the other hand, when it is determined that the task is not in the standby waiting state, the execution task determining means 12 further determines whether the state of the task to be forcibly suspended is in the re-waiting standby state (FIG. 4, step 3 → step 4). .

【0040】ここで実行タスク決定手段12は、再待機
待ち状態であると判断した場合には当該強制休止対象の
タスクをスタック上で休止待ち状態に変更する(図4ス
テップ4→ステップ5、図7(d) )。
If the execution task determining means 12 determines that the task is to be in the waiting for re-waiting state, the task to be forcibly suspended is changed to the waiting for waiting state on the stack (FIG. 4, step 4 → step 5, FIG. 4). 7 (d)).

【0041】なお、再待機待ち状態でないと判断した場
合すなわち強制休止対象のタスクの状態が休止状態また
は休止待ち状態である場合には、そのままシステムコー
ルを終了する(図4ステップ4)。
If it is determined that the task is not in the re-waiting wait state, that is, if the state of the task to be forcibly suspended is in the suspended state or the suspended waiting state, the system call is terminated as it is (step 4 in FIG. 4).

【0042】以上の結果、強制休止対象のタスクは、実
行状態または待機待ち状態である場合には休止状態に移
行し、待機状態または再待機待状態である場合にはスタ
ック上で休止待ち状態に移行し、休止状態または休止待
ち状態である場合にはそのままの状態を維持することに
なる。すなわちタスク強制休止処理によって、当該強制
休止対象のタスクは、いかなる状態にあっても休止状態
・休止待ち状態のいずれかとなる。 〔タスク起動処理〕タスク起動システムコールが実行状
態のタスクによって発行されると、まず、実行タスク決
定手段12は、タスク状態記憶手段13aを参照するこ
とによって起動対象のタスクの状態が休止状態であるか
否かを判断し、休止状態であると判断した場合には当該
起動対象のタスクを待機待ち状態としてスタックに記憶
する(図5ステップ11→ステップ13、図8(a) )。
As a result, the task to be forcibly suspended shifts to the suspended state when the task is in the execution state or the waiting state, and enters the suspended state on the stack when the task is in the waiting state or the re-waiting state. The state shifts to a pause state or a pause wait state, and the state is maintained. That is, by the task forcible suspension processing, the task to be forcibly suspended enters any of a suspended state and a suspended waiting state regardless of the state. [Task Start Processing] When a task start system call is issued by a task in the execution state, first, the execution task determination means 12 refers to the task state storage means 13a to set the state of the task to be started to the sleep state. Then, if it is determined that the task is in the sleep state, the task to be started is stored in the stack as a standby state (step 11 in FIG. 5 → step 13, FIG. 8 (a)).

【0043】一方、休止状態でないと判断した場合、実
行タスク決定手段12は更に起動対象のタスクの状態が
休止待ち状態であるか否かを判断する(図5ステップ1
1→ステップ12)。
On the other hand, if it is determined that the task is not in the inactive state, the execution task determining means 12 further determines whether or not the state of the task to be activated is in the inactive state (step 1 in FIG. 5).
1 → Step 12).

【0044】ここで実行タスク決定手段12は、休止待
ち状態であると判断した場合には当該起動対象のタスク
をスタック上で再待機待ち状態に変更する(図5ステッ
プ12→ステップ14、図8(b) )。
If the execution task determination means 12 determines that the task is to be in the waiting state, the task to be started is changed to the waiting state for re-waiting on the stack (FIG. 5, step 12 → step 14, FIG. 8). (b)).

【0045】なお、休止待ち状態でないと判断した場合
すなわち起動対象のタスクの状態が実行状態・待機状態
・再待機待状態・待機待ち状態のいずれかである場合に
は、そのままシステムコールを終了する(図5ステップ
12)。
When it is determined that the task is not in the sleep waiting state, that is, when the state of the task to be activated is any of the execution state, the standby state, the re-waiting standby state, and the standby waiting state, the system call is terminated as it is. (FIG. 5, step 12).

【0046】以上の結果、起動対象のタスクは、休止状
態である場合には待機待ち状態としてスタックに記憶さ
れ、休止待ち状態である場合にはスタック上で再待機待
ち状態に移行し、実行状態・待機状態・再待機待状態・
待機待ち状態のいずれかである場合にはそのままの状態
を維持することになる。すなわちタスク起動処理によっ
て、当該起動対象のタスクは、いかなる状態にあっても
実行状態・待機状態・再待機待状態・待機待ち状態のい
ずれかとなる。 〔実行タスク決定処理〕上記タスク強制終了処理または
タスク起動処理を終えた実行タスク決定手段12は、続
いて、上記“実行タスク”を決定し、この“実行タス
ク”を示す情報(この情報は、“実行タスク”を特定で
きればよく特に限定されるものではない。)をタスク切
替手段11に通知する。
As a result, the task to be started is stored in the stack as a waiting state when the task is in a sleep state, and is shifted to a re-waiting state on the stack when the task is in a sleep state.・ Wait state ・ Re-wait state ・
If the state is any of the waiting states, the state is maintained. That is, by the task activation process, the task to be activated becomes any of the execution state, the standby state, the re-waiting standby state, and the standby waiting state in any state. [Executed Task Determination Processing] The execution task determination means 12 that has completed the task forcible termination processing or the task activation processing subsequently determines the “execution task” and obtains information indicating the “execution task” (this information is It is not particularly limited as long as the “execution task” can be specified, and the task switching unit 11 is notified.

【0047】ここで、実行タスク決定手段12は、実行
状態・待機状態・再待機待状態・待機待ち状態にあるタ
スクの中から優先度の最も高いタスクを“実行タスク”
として決定するようにしている。
Here, the execution task determining means 12 designates the task having the highest priority among the tasks in the execution state, the standby state, the re-waiting standby state, and the standby waiting state as an “executing task”.
As to decide.

【0048】従って、上記強制休止対象のタスクは“実
行タスク”として決定されることはなく、上記起動対象
のタスクは“実行タスク”として決定され得ることにな
る。 〔タスク切替処理〕実行タスク決定手段12より上記通
知を受けたタスク切替手段11は、まず、タスク状態記
憶手段13aを参照することによって実行タスクの状態
が実行状態であるか否かを判断し、実行状態であると判
断した場合には当該実行タスクの実行状態を維持する
(図6ステップ21→ステップ25)。
Therefore, the task to be forcibly suspended is not determined as an “execution task”, and the task to be activated can be determined as an “execution task”. [Task Switching Process] The task switching unit 11 having received the above notification from the execution task determination unit 12 first determines whether or not the state of the execution task is the execution state by referring to the task state storage unit 13a. If it is determined that the task is in the execution state, the execution state of the execution task is maintained (step 21 → step 25 in FIG. 6).

【0049】一方、実行状態でないと判断した場合、タ
スク切替手段11は更に実行タスクの状態が待機状態で
あるか否かを判断する(図6ステップ21→ステップ2
2)。
On the other hand, if it is determined that the state is not the execution state, the task switching means 11 further determines whether the state of the execution task is the standby state (FIG. 6, step 21 → step 2).
2).

【0050】ここでタスク切替手段11は、待機状態で
あると判断した場合にはTCB13からタスク情報を読
み出して、該タスク情報に含まれる中断アドレスから当
該実行タスクを実行する。なお、中断アドレスから実行
することによって中断前の実行状態を再開できることは
上記従来例において説明した通りである(図6ステップ
22→ステップ26→ステップ25)。
If the task switching means 11 determines that the task is in the standby state, the task switching means 11 reads the task information from the TCB 13 and executes the execution task from the interruption address included in the task information. It is to be noted that the execution state before the interruption can be resumed by executing from the interruption address as described in the above-mentioned conventional example (step 22 → step 26 → step 25 in FIG. 6).

【0051】一方、待機状態でないと判断した場合、タ
スク切替手段11は更に実行タスクの状態が待機待ち状
態であるか否かを判断する(図6ステップ22→ステッ
プ23)。
On the other hand, if it is determined that the state is not the standby state, the task switching means 11 further determines whether or not the state of the execution task is the standby state (FIG. 6, step 22 → step 23).

【0052】ここでタスク切替手段11は、待機待ち状
態であると判断した場合には初期実行アドレスから当該
実行タスクを実行する。この初期実行アドレスは、当該
実行タスクを初期実行するためのスタック領域上の番地
であり、TCB13に記憶されている情報である(図6
ステップ23→ステップ27→ステップ25)。
Here, when the task switching means 11 determines that the task is in the standby waiting state, the task switching means 11 executes the execution task from the initial execution address. This initial execution address is an address on the stack area for initial execution of the execution task, and is information stored in the TCB 13 (FIG. 6).
Step 23 → Step 27 → Step 25).

【0053】一方、待機待ち状態でないと判断した場
合、タスク切替手段11は更に実行タスクの状態が再待
機待ち状態であるか否かを判断する(図6ステップ23
→ステップ24)。
On the other hand, if it is determined that the state is not the waiting state, the task switching means 11 further determines whether or not the state of the execution task is the waiting state again (step 23 in FIG. 6).
→ Step 24).

【0054】ここでタスク切替手段11は、再待機待ち
状態であると判断した場合には当該実行タスクが使用し
ているスタック領域の先頭にスタックポインタを設定
(後述する。)し、初期実行アドレスから当該実行タス
クを実行する(図6ステップ24→ステップ28→ステ
ップ25)。
If the task switching means 11 determines that the task is in the re-waiting wait state, the task switching means 11 sets a stack pointer at the top of the stack area used by the execution task (described later), and sets the initial execution address. (Step 24 → step 28 → step 25 in FIG. 6).

【0055】以上のように本発明によれば、待機状態の
タスクを強制休止させる(休止待ち状態を経て休止状態
にする)ことができることになる。 〔動作例〕次に、図9に従って、本発明の動作の一例を
スタックおよびTCBの状態とともに説明する。ここで
は、4つのタスクT1 ・T2 ・T3 ・T4 について説明
することとし、タスクの優先度は、T4 ・T3 ・T2
1 の順に高いものとする。
As described above, according to the present invention, it is possible to forcibly suspend a task in a standby state (change to a suspended state via a suspended state). [Operation Example] Next, referring to FIG. 9, an example of the operation of the present invention will be described together with the state of the stack and the TCB. Here, four tasks T 1 , T 2 , T 3, and T 4 are described, and the priorities of the tasks are T 4 , T 3 , T 2 , and T 4.
And higher in the order of T 1.

【0056】まず、図9(1) に示す実行状態のタスクT
1 が休止状態のタスクT2 に対してタスク起動システム
コールを発行すると、図9(2) に示すようにタスクT1
が待機状態となりタスクT2 が実行状態となる。すなわ
ち、実行タスク決定手段12は、休止状態にあるタスク
2 を待機待ち状態にした後タスクT1 ・T2 のうち優
先度の最も高いタスクT2 を実行タスクとし、タスク切
替手段11は、実行状態のタスクT1 を待機状態にする
とともに実行タスクつまり待機待ち状態にあるタスクT
2 を実行状態にする。
First, the task T in the execution state shown in FIG.
When 1 issues a task activation system call to the task T 2 of the pause state, task T 1 as shown in FIG. 9 (2)
There task T 2 is in a standby state becomes the execution state. That is, the execution task determination unit 12, and executes the task with the highest task T 2 of the priority of the tasks T 1 · T 2 after the task T 2 in the rest state to the standby waiting state, the task switching unit 11, The task T 1 in the execution state is set to the waiting state, and the execution task, that is, the task T in the waiting state is set.
Put 2 in the running state.

【0057】同様に、タスクT2 によってタスクT3
起動された後タスクT3 によってタスクT4 が起動され
ると、図9(3) に示すようにタスクT1 ・T2 ・T3
待機状態となりタスクT4 が実行状態となる。
[0057] Similarly, when the task T 4 by the task T 3 after the task T 3 is activated by a task T 2 is started, the task T 1 · T 2 · T 3 as shown in FIG. 9 (3) task T 4 is in a standby state becomes the execution state.

【0058】ここで、実行状態にあるタスクT4 がタス
クT3 に対してタスク強制休止システムコールを発行す
ると、実行タスク決定手段12は、待機状態にあるタス
クT 3 を休止待ち状態にした後タスクT1 ・T2 ・T4
のうち優先度の最も高いタスクT4 を実行タスクとし、
タスク切替手段11は、実行状態にあるタスクT4 の状
態を維持する。
Here, the task T in the execution stateFourBut tas
K TThreeIssues a task forced suspension system call to
Then, the execution task determining means 12 outputs the task in the standby state.
K T ThreeTask T after suspending1・ TTwo・ TFour
Task T with the highest priorityFourIs the execution task,
The task switching means 11 outputs the task TFourShape
Stay state.

【0059】同様に、タスクT4 がタスクT2 に対して
タスク強制休止システムコールを発行すると待機状態に
あったタスクT2 も休止待ち状態となる。以上の結果、
図9(4) に示すように、待機状態にあったタスクT2
3 がスタック上で休止待ち状態に移行したことにな
る。
[0059] Similarly, task T 2 the task T 4 was in the standby state and to issue a task force deactivation system call to the task T 2 also becomes dormant wait state. As a result,
As shown in FIG. 9 (4), the task T 2.
T 3 is that the transition to the rest waiting state on the stack.

【0060】その後、実行状態のタスクT4 が、自タス
クを終了するためのシステムコール(自タスクに対する
終了指示)を発行し休止状態に移行すると(図9(5)
)、実行タスク決定手段12は、この状態ではタスク
3 より高い優先度のタスクがすべて休止状態に移行し
たので休止待ち状態にあるタスクT3 を休止状態に移行
し(図9(6) )、更に、この状態ではタスクT2 より高
い優先度のタスクがすべて休止状態に移行したので休止
待ち状態にあるタスクT2 も休止状態に移行し、次に、
待機状態にあるタスクT1 を実行状態に移行する(図9
(7) )。このように、休止待ち状態のタスク(ここでは
タスクT3 ・T2 )が、当該タスクより高い優先度のタ
スク(ここではタスクT4 )がすべて休止状態になるか
或いはタスクを完了すると休止状態に移行することは上
述した通りである。
Thereafter, when the task T 4 in the execution state issues a system call (end instruction for the own task) for ending the own task and shifts to the sleep state (FIG. 9 (5))
), Execution task determination unit 12 shifts the task T 3 in the rest waiting because higher priority task than the task T 3 has shifted to all dormant in this state to a rest state (Fig. 9 (6)) further task T 2 in the rest waiting because of higher priority than the task T 2 task is migrated to all dormant also goes into hibernation in this state, then,
To migrate tasks T 1 in the standby state to the execution state (FIG. 9
(7)). In this way, the task in the waiting state (here, the task T 3 · T 2 ) becomes the sleeping state when all of the tasks (here, the task T 4 ) having a higher priority than the task enter the sleeping state, or when the task is completed, the sleeping state is reached. The transition to is as described above.

【0061】以上が本発明における動作の一例である
が、従来技術で同じ目的を達成するために必要となる処
理を以下に説明する。なお、図9(1) 〜 (3)に示す処理
に関しては上記本発明の場合と同様である為ここでは説
明を省略することとし、以下、図9(3) の状態において
タスクT4 からタスクT1 に実行を遷移させるために必
要となる処理(本発明の場合は上述した通りである。す
なわち図10(I) に示す3ステップの処理が必要であ
る。)を説明する。
The above is an example of the operation in the present invention, but the processing required to achieve the same object in the prior art will be described below. Regarding the process illustrated in FIG. 9 (1) to (3) is set to be not described here because it is the same as in the case of the present invention, hereinafter, the task from the task T 4 in the state in FIG. 9 (3) processing required to transition the execution T 1 (in the case of the present invention are as described above. that is required a three-step process shown in FIG. 10 (I).) will be described.

【0062】まず、実行状態のタスクT4 が、待機状態
のタスクT3 ・T2 に対して終了要求を順次発行したの
ち自タスクを終了するためのシステムコールを発行する
(図10(II)〜)。これによってタスクT4 の次に
優先度の高いタスクT3 が待機状態から実行状態にな
る。
First, the task T 4 in the execution state issues end requests to the tasks T 3 and T 2 in the standby state sequentially, and then issues a system call for terminating the own task (FIG. 10 (II)). ~). This next higher priority task T 3 of the task T 4 is an execution state from the waiting state.

【0063】ここでタスクT3 は、タスクT4 から終了
要求を受けているため自タスクを終了するためのシステ
ムコールを発行する(図10(II))。これによってタ
スクT3 の次に優先度の高いタスクT2 が待機状態から
実行状態になる。
Here, since the task T 3 has received the termination request from the task T 4 , it issues a system call for terminating its own task (FIG. 10 (II)). This next higher priority task T 2 of the task T 3 is the execution state from the waiting state.

【0064】同様に、タスクT2 は、タスクT3 から終
了要求を受けているため自タスクを終了するためのシス
テムコールを発行する(図10(II))。これによって
タスクT2 の次に優先度の高いタスクT1 が待機状態か
ら実行状態になる。
Similarly, task T 2 issues a system call for terminating its own task because it has received a termination request from task T 3 (FIG. 10 (II)). This next higher priority tasks T 1 of the task T 2 is an execution state from the waiting state.

【0065】以上のように、従来技術によれば5ステッ
プで達成する処理を、本発明によれば3ステップで達成
することができる。 〔休止待ち状態・再待機待ち状態・待機待ち状態の追加
理由〕以下、タスクの状態として休止待ち状態・再待機
待ち状態・待機待ち状態を新たに加えた理由を説明す
る。
As described above, the processing achieved in five steps according to the conventional technique can be achieved in three steps according to the present invention. [Reason for adding sleep wait state / re-standby wait state / standby wait state] The reason why a sleep wait state / re-standby wait state / standby wait state is newly added as a task state will be described below.

【0066】休止待ち状態を加えた理由は図14を用い
て上述した通りである為ここでは説明を省略することと
し、まず、再待機待ち状態を加えた理由を説明する。再
待機待ち状態を加えた理由は、いったん休止待ち状態に
したタスクを復活させる(実行状態に移行させる)ため
であることは上述した通りであるが、このような理由の
みを考えれば、再待機待ち状態を加えるまでもなく休止
待ち状態から待機状態への経路を形成すればよいと思わ
れる。しかしながら、いったん休止待ち状態にしたタス
クを待機状態にあるタスクと同一の条件で実行すると不
具合が生じることになる。すなわち、タスクが、待機状
態にある場合にはこれまでの処理を継続して中断アドレ
スから実行する必要があるのに対して、休止待ち状態に
あった場合にはこれまでの処理経過を破棄して初期実行
アドレスから実行する必要がある。そこで本発明では、
待機状態と遷移条件が等価であり実行条件が異なる再待
機待ち状態という新たなタスクの状態を加えた。なお、
上記タスク切替処理において、実行タスクが再待機待ち
状態である場合(図6ステップ28)にスタックポイン
タの設定をするのはこれまでの処理経過を破棄するため
であり、実行タスクが待機状態や待機待ち状態である場
合(図6ステップ26・27)にスタックポインタの設
定をしないのはこれまでの処理を継続するためである。
The reason for adding the pause wait state is as described above with reference to FIG. 14, and therefore the description thereof will be omitted here. First, the reason for adding the re-standby wait state will be described. As described above, the reason for adding the re-waiting wait state is to restore the task that has been in the suspended waiting state (transition to the execution state), but considering only such a reason, the re-waiting state is considered. It seems that a path from the sleep waiting state to the waiting state may be formed without adding the waiting state. However, if the task that has been put into the waiting state is executed under the same condition as the task that is in the waiting state, a problem occurs. In other words, if the task is in the standby state, it is necessary to continue the previous processing and execute it from the interrupt address. Must be executed from the initial execution address. Therefore, in the present invention,
A new task state called the re-waiting wait state, in which the waiting state and the transition condition are equivalent and the execution conditions are different, has been added. In addition,
In the task switching process, when the execution task is in the re-waiting standby state (step 28 in FIG. 6), the stack pointer is set to discard the progress of the processing so far. The reason why the stack pointer is not set in the wait state (steps 26 and 27 in FIG. 6) is to continue the processing up to now.

【0067】次に、待機待ち状態を加えた理由を説明す
る。待機待ち状態を加えた理由は、休止状態にあるタス
クを実行状態に移行するためであるが、このような理由
のみを考えれば、待機待ち状態を加えるまでもなく従来
通り休止状態から待機状態への経路を形成すればよいと
思われる。しかしながら、例えば、休止状態から上記経
路を通じて実行状態に移行するタスクが待機状態にある
時点で強制休止を掛けられた場合、当該タスクは、スタ
ック上に存在するタスクの中で最も優先度が高いため待
機状態より休止待ち状態を介して休止状態に移行するこ
とになる(この場合、休止待ち状態を介すことなく待機
状態より直ちに休止状態に移行するのが好ましい)。そ
こで本発明では、必要に応じて実行状態に移行または休
止状態に戻すことが可能な待機待ち状態という新たなタ
スクの状態を加えた。
Next, the reason for adding the waiting state will be described. The reason for adding the wait state is to shift the task that is in the dormant state to the running state.Considering such a reason alone, the state changes from the dormant state to the standby state without adding the wait state. It would be good to form the route of. However, for example, if a task that transitions from the sleep state to the execution state through the above path is forcibly suspended at the time when the task is in the standby state, the task has the highest priority among the tasks existing on the stack. It shifts from the standby state to the sleep state via the sleep wait state (in this case, it is preferable to immediately shift from the standby state to the sleep state without going through the sleep wait state). Therefore, in the present invention, a new task state called a waiting state, which can be shifted to the execution state or returned to the halt state as needed, is added.

【0068】また、休止待ち状態にあるタスクと休止状
態にあるタスクとで、実行状態に移行する経路が異なる
(同一の状態を経て実行状態に移行しない)のは、いっ
たん休止待ち状態にしたタスクを休止状態にあるタスク
と同一の条件で実行すると不具合が生じることになるか
らである。すなわち、タスクが、休止状態にある場合に
はこれまでの処理を継続して初期実行アドレスから実行
する必要があるのに対して、休止待ち状態にある場合に
は上記したようにこれまでの処理経過を破棄して初期実
行アドレスから実行する必要がある。そこで本発明で
は、休止待ち状態にあるタスクは再待機待ち状態を経
て、休止状態にあるタスクは待機待ち状態を経て、それ
ぞれ実行状態に移行するようにしている。
The reason that the task in the sleep waiting state and the task in the sleep state have different paths for transition to the execution state (the task does not transition to the execution state through the same state) is that the task once in the suspension wait state Is executed under the same condition as the task in the dormant state, a problem occurs. That is, when the task is in the sleep state, it is necessary to continue the previous processing and execute it from the initial execution address, whereas when the task is in the sleep wait state, as described above, It is necessary to discard the progress and execute from the initial execution address. Therefore, in the present invention, a task in a sleep waiting state shifts to an execution state through a re-waiting wait state, and a task in a sleep state changes to an execution state through a standby waiting state.

【0069】なお、上記実施の形態では、実行状態・待
機状態・休止状態・休止待ち状態・再待機待ち状態・待
機待ち状態の6つの状態でタスクを管理するようにして
いるが、本発明はこれに限定されるものではない。例え
ば待機状態のタスクを強制休止させることのみを目的と
する場合、実行状態・待機状態・休止状態・休止待ち状
態の4つの状態で上記目的を達成できることはいうまで
もない。
In the above-described embodiment, tasks are managed in six states: an execution state, a standby state, a sleep state, a sleep wait state, a re-standby wait state, and a standby wait state. It is not limited to this. For example, when the purpose is only to forcibly suspend a task in a standby state, it is needless to say that the above-described object can be achieved in four states of an execution state, a standby state, a pause state, and a pause wait state.

【0070】また、上記の説明では、タスク強制休止シ
ステムコールやタスク起動システムコールが実行状態の
タスクによって発行される場合の処理について説明した
が、本発明はこれに限定されるものではない。すなわ
ち、上記のようなシステムコールが、例えば割込みハン
ドラ等のハンドラ(ハンドラは、プログラムを実行する
実体である点でタスクと共通するが、スタックやTCB
を持たない点でタスクと異なる。)によって発行される
場合についても同様に本発明を適用することができる。
In the above description, the processing in the case where the task forced suspension system call or the task activation system call is issued by the task in the execution state has been described, but the present invention is not limited to this. That is, a system call as described above is common to a task in that a handler such as an interrupt handler (a handler is an entity that executes a program, but a stack or TCB
Differs from tasks in that it does not have The present invention can be similarly applied to the case in which the present invention is issued.

【0071】更に、上記実施の形態では、フローチャー
トに従って各処理を説明したが、本発明は、図4〜6の
フローチャートに示す形態に限定されるものではなく、
例えば図6ステップ24の判断処理を省略する形態とし
てもよい。実行タスクは実行状態・待機状態・再待機待
状態・待機待ち状態のいずれかであるため、図4ステッ
プ23において“NO”と判断された実行タスクは必然
的に待機待ち状態となるからである。
Further, in the above-described embodiment, each process has been described according to the flowchart. However, the present invention is not limited to the embodiments shown in the flowcharts of FIGS.
For example, a configuration in which the determination process of step 24 in FIG. 6 is omitted may be adopted. Because the execution task is in any of the execution state, the standby state, the re-waiting standby state, and the standby waiting state, the execution task determined to be “NO” in step 23 in FIG. 4 necessarily enters the standby waiting state. .

【0072】[0072]

【発明の効果】以上のように、本発明のマルチタスクO
Sによれば、待機状態のタスクを強制休止させることが
可能となる。これにより、ユーザは、複雑な構造のプロ
グラムを作成する必要がなくなるため、プログラミング
が容易になる。また、従来のマルチタスクOSと比べて
処理ステップの数が少なくなるため、タスク管理におけ
る処理時間を短縮することができる。このことは、例え
ば当該マルチタスクOSの用途が光ディスク装置の制御
である場合など、処理時間の面でシビアな要求がされる
場面で特に有効である。
As described above, the multitasking O of the present invention
According to S, the task in the standby state can be forcibly suspended. This eliminates the need for the user to create a program having a complicated structure, thereby facilitating programming. Further, the number of processing steps is smaller than that of a conventional multitask OS, so that the processing time in task management can be reduced. This is particularly effective in a situation where a severe request is required in terms of processing time, for example, when the use of the multitask OS is control of an optical disk device.

【0073】また、本発明のマルチタスクOSでは、強
制休止したタスクを実行状態にすることもでき、自由度
の高いプログラミングが可能である。
Further, in the multitask OS of the present invention, a task that has been forcibly suspended can be put into an execution state, and programming with a high degree of freedom is possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のマルチタスクOSの要部の概略機能ブ
ロック図である。
FIG. 1 is a schematic functional block diagram of a main part of a multitask OS of the present invention.

【図2】本発明のマルチタスクOSにおけるタスクの状
態遷移図である。
FIG. 2 is a state transition diagram of a task in the multitask OS of the present invention.

【図3】本発明において、タスク強制休止システムコー
ル・タスク起動システムコールが発行された場合の処理
の概要を示すフローチャートである。
FIG. 3 is a flowchart showing an outline of processing when a task forced suspension system call / task activation system call is issued in the present invention.

【図4】本発明のタスク強制休止処理のフローチャート
である。
FIG. 4 is a flowchart of task forcible suspension processing of the present invention.

【図5】本発明のタスク起動処理のフローチャートであ
る。
FIG. 5 is a flowchart of a task activation process according to the present invention.

【図6】本発明のタスク切替処理のフローチャートであ
る。
FIG. 6 is a flowchart of a task switching process according to the present invention.

【図7】本発明のタスク強制休止処理の説明図である。FIG. 7 is an explanatory diagram of a task forcible suspension process of the present invention.

【図8】本発明のタスク起動処理の説明図である。FIG. 8 is an explanatory diagram of a task activation process according to the present invention.

【図9】本発明の動作例の説明図である。FIG. 9 is an explanatory diagram of an operation example of the present invention.

【図10】タスクT4 からタスクT1 に実行遷移すると
きの説明図である。
10 is an explanatory view when performing a transition from the task T 4 to task T 1.

【図11】従来のマルチタスクOSにおけるタスクの状
態遷移図である。
FIG. 11 is a state transition diagram of a task in a conventional multitask OS.

【図12】従来のタスク管理における主記憶装置の説明
図である。
FIG. 12 is an explanatory diagram of a main storage device in conventional task management.

【図13】ラストインファーストアウト方式の説明図で
ある。
FIG. 13 is an explanatory diagram of a last-in first-out method.

【図14】スタック領域の状態図である。FIG. 14 is a state diagram of a stack area.

【図15】タスクT3 からタスクT1 に実行遷移すると
きの説明図である。
15 is an explanatory view when performing a transition from the task T 3 to task T 1.

【符号の説明】[Explanation of symbols]

10 マルチタスクOS 11 タスク切替手段 12 実行タスク決定手段 13 タスクコントロールブロック(TCB) 13a タスク状態記憶手段 13b タスク優先度記憶手段 DESCRIPTION OF SYMBOLS 10 Multitask OS 11 Task switching means 12 Execution task determination means 13 Task control block (TCB) 13a Task status storage means 13b Task priority storage means

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】 複数のタスクがラストインファーストア
ウト方式の共通のスタックを共有し、休止状態から待機
状態に遷移させたタスクを実行状態との間で双方向に遷
移可能とし、終了指示に基づいて実行状態にあるタスク
を休止状態に戻すタスク管理方法において、 待機状態にあるタスクであって実行してはいけないタス
クを、該タスクより高い優先度のタスクが休止状態にな
るか或いはタスクを完了したときに休止状態に移行する
休止待ち状態に移行させた後、現在実行中のタスクが休
止状態になるか或いはタスクを完了したときに上記原則
に基づいて上記休止待ち状態のタスクを休止状態に移行
させることを特徴とするタスク管理方法。
1. A plurality of tasks share a common stack of a last-in first-out system, and a task that has transitioned from a sleep state to a standby state can be bidirectionally transitioned to and from an execution state. A task management method for returning a task that is in a running state to a sleep state by returning a task that is in a standby state and must not be executed to a task that has a higher priority than the task or is completed. After shifting to the sleep state, the currently executing task enters the sleep state or when the task is completed, the task in the sleep state is set to the sleep state based on the above principle. A task management method characterized by shifting.
【請求項2】 上記休止待ち状態への移行は、上記待機
状態にあるタスクに対して終了指示があった場合に行わ
れる請求項1に記載のタスク管理方法。
2. The task management method according to claim 1, wherein the transition to the sleep waiting state is performed when a termination instruction is issued to the task in the waiting state.
【請求項3】 上記休止待ち状態にあるタスクを、該タ
スクに対して起動指示があった場合に待機状態と遷移条
件が等価な状態である再待機待ち状態に移行させる請求
項1または2に記載のタスク管理方法。
3. The task according to claim 1, wherein the task in the waiting state is shifted to a re-waiting state in which a transition state and a transition condition are equivalent when a start instruction is issued to the task. The described task management method.
【請求項4】 上記再待機待ち状態にあるタスクを、該
タスクに対して終了指示があった場合に休止待ち状態に
移行させる請求項3に記載のタスク管理方法。
4. The task management method according to claim 3, wherein the task in the waiting-for-re-waiting state is shifted to a waiting-for-pause state when a termination instruction is given to the task.
【請求項5】 上記再待機待ち状態にあるタスクを、該
タスクより高い優先度のタスクが休止状態になるか或い
はタスクを完了したときに実行状態に移行させる請求項
3に記載のタスク管理方法。
5. The task management method according to claim 3, wherein the task in the waiting state for re-waiting is shifted to an execution state when a task having a higher priority than the task enters a sleep state or when the task is completed. .
【請求項6】 複数のタスクがラストインファーストア
ウト方式の共通のスタックを共有し、休止状態から待機
状態に遷移させたタスクを実行状態との間で双方向に遷
移可能とし、終了指示に基づいて実行状態にあるタスク
を休止状態に戻すタスク管理方法において、 上記休止状態にあるタスクであって実行すべきタスク
を、該タスクより高い優先度のタスクが休止状態になる
か或いはタスクを完了したときに実行状態に移行する待
機待ち状態に移行させた後、現在実行中のタスクが休止
状態になるか或いはタスクを完了したときに上記原則に
基づいて上記待機待ち状態のタスクを実行状態に移行さ
せることを特徴とするタスク管理方法。
6. A plurality of tasks share a common stack of a last-in first-out system, and a task that has transitioned from a sleep state to a standby state can be bidirectionally transitioned to and from an execution state. A task management method for returning a task in an execution state to a sleep state, wherein the task in the sleep state to be executed is changed to a task with a higher priority than the task or the task is completed. After shifting to the standby state, the currently executing task goes into the sleep state or when the task is completed, the task in the standby state is shifted to the execution state based on the above principle. A task management method characterized by causing a task to be executed.
【請求項7】 上記待機待ち状態にあるタスクを、該タ
スクに対して終了指示があった場合に休止状態に移行さ
せる請求項6に記載のタスク管理方法。
7. The task management method according to claim 6, wherein the task in the waiting state is shifted to a sleep state when a termination instruction is given to the task.
【請求項8】 上記待機待ち状態への移行は、当該休止
状態にあるタスクに対して起動指示があった場合に行わ
れる請求項6に記載のタスク管理方法。
8. The task management method according to claim 6, wherein the transition to the standby state is performed when a start instruction is issued to the task in the sleep state.
【請求項9】 上記終了指示は、実行状態にあるタスク
によって発行されるタスク強制休止システムコールであ
る請求項2、4、7のいずれかに記載のタスク管理方
法。
9. The task management method according to claim 2, wherein the end instruction is a task forcible suspension system call issued by a task in an execution state.
【請求項10】 上記終了指示は、ハンドラによって発
行されるタスク強制休止システムコールである請求項
2、4、7のいずれかに記載のタスク管理方法。
10. The task management method according to claim 2, wherein the end instruction is a task forcible suspension system call issued by a handler.
【請求項11】 上記起動指示は、実行状態にあるタス
クによって発行されるタスク起動システムコールである
請求項3または8に記載のタスク管理方法。
11. The task management method according to claim 3, wherein the activation instruction is a task activation system call issued by a task in an execution state.
【請求項12】 上記起動指示は、ハンドラによって発
行されるタスク起動システムコールである請求項3また
は8に記載のタスク管理方法。
12. The task management method according to claim 3, wherein the activation instruction is a task activation system call issued by a handler.
【請求項13】 ラストインファーストアウト方式で複
数のタスクを共有するスタック領域と、実行状態・待機
状態・休止状態のうちのいずれかをタスクの状態として
記憶するタスク状態記憶手段と、タスクの優先度を記憶
するタスク優先度記憶手段と、上記タスク状態記憶手段
に記憶されたタスクの状態および上記タスク優先度記憶
手段に記憶された優先度に基づいて実行タスクを決定す
る実行タスク決定手段と、上記実行タスク決定手段によ
って決定された実行タスクを実行状態に切り替えるタス
ク切替手段とを備えたマルチタスクOSにおいて、 実行状態・待機状態・休止状態に加えて休止待ち状態を
タスクの状態として記憶する上記タスク状態記憶手段
と、 待機状態にあるタスクであって実行してはいけないタス
クの状態を休止待ち状態に移行させた後、休止状態また
は休止待ち状態以外の状態にあるタスクの中から優先度
の最も高いタスクを実行タスクとして決定するととも
に、休止待ち状態にあるタスクを該タスクより高い優先
度のタスクが休止状態になるか或いはタスクを完了した
ときに休止状態に移行させる上記実行タスク決定手段
と、 を備えたことを特徴とするマルチタスクOS。
13. A stack area for sharing a plurality of tasks in a last-in first-out manner, a task state storage means for storing any one of an execution state, a standby state, and a sleep state as a task state, and a task priority. Task priority storage means for storing the degree, execution task determination means for determining the execution task based on the state of the task stored in the task state storage means and the priority stored in the task priority storage means, A multitask OS including a task switching unit that switches the execution task determined by the execution task determination unit to the execution state, wherein the sleep state is stored as a task state in addition to the execution state, the standby state, and the sleep state. Task state storage means, and waiting for the state of tasks that are in the waiting state and should not be executed After transitioning to the sleep state, the task with the highest priority is determined as the execution task from the tasks in the sleep state or the state other than the sleep wait state, and the task in the sleep wait state is assigned a higher priority than the task. A multitasking OS, comprising: the above-mentioned execution task determining means for causing a task to enter a suspended state or to transition to a suspended state when the task is completed.
【請求項14】 上記休止待ち状態への移行は、当該待
機状態にあるタスクに対して終了指示があった場合に行
われる請求項13に記載のマルチタスクOS。
14. The multitask OS according to claim 13, wherein the transition to the sleep waiting state is performed when a termination instruction is issued to the task in the waiting state.
【請求項15】 上記タスク状態記憶手段は、実行状態
・待機状態・休止状態・休止待ち状態に加えて待機状態
と遷移条件が等価な再待機待ち状態をタスクの状態とし
て記憶し、上記実行タスク決定手段は、休止待ち状態に
あるタスクであって実行すべきタスクの状態を再待機待
ち状態に移行させた後、上記実行タスクを決定する請求
項13に記載のマルチタスクOS。
15. The task state storage means stores, in addition to an execution state, a standby state, a sleep state, and a sleep wait state, a re-standby wait state in which a standby state and a transition condition are equivalent as a task state. 14. The multitask OS according to claim 13, wherein the determination unit determines the execution task after shifting a state of the task to be executed, which is a task in the suspension waiting state, to the standby state.
【請求項16】 上記再待機待ち状態への移行は、当該
休止待ち状態にあるタスクに対して起動指示があった場
合に行われる請求項15に記載のマルチタスクOS。
16. The multitask OS according to claim 15, wherein the transition to the re-waiting wait state is performed when a start instruction is issued to the task in the pause waiting state.
【請求項17】 上記終了指示は、実行状態にあるタス
クによって発行されるタスク強制休止システムコールで
ある請求項14に記載のマルチタスクOS。
17. The multitask OS according to claim 14, wherein the termination instruction is a task forcible suspension system call issued by a task in an execution state.
【請求項18】 上記終了指示は、ハンドラによって発
行されるタスク強制休止システムコールである請求項1
4に記載のマルチタスクOS。
18. The system according to claim 1, wherein the termination instruction is a task forced suspension system call issued by a handler.
4. The multitask OS according to 4.
【請求項19】 上記起動指示は、実行状態にあるタス
クによって発行されるタスク起動システムコールである
請求項16に記載のマルチタスクOS。
19. The multitask OS according to claim 16, wherein the activation instruction is a task activation system call issued by a task in an execution state.
【請求項20】 上記起動指示は、ハンドラによって発
行されるタスク起動システムコールである請求項16に
記載のマルチタスクOS。
20. The multitask OS according to claim 16, wherein the activation instruction is a task activation system call issued by a handler.
JP10274863A 1998-09-29 1998-09-29 Task managing method and multitask os Pending JP2000105708A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10274863A JP2000105708A (en) 1998-09-29 1998-09-29 Task managing method and multitask os

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10274863A JP2000105708A (en) 1998-09-29 1998-09-29 Task managing method and multitask os

Publications (1)

Publication Number Publication Date
JP2000105708A true JP2000105708A (en) 2000-04-11

Family

ID=17547630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10274863A Pending JP2000105708A (en) 1998-09-29 1998-09-29 Task managing method and multitask os

Country Status (1)

Country Link
JP (1) JP2000105708A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027846A1 (en) * 2001-09-20 2003-04-03 Ricoh Company, Ltd. Task switching system, task switching method and dsp modem
KR101988898B1 (en) * 2017-12-26 2019-06-13 국방과학연구소 Task Dead Rock Recovery Method through the Task Status Checking

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027846A1 (en) * 2001-09-20 2003-04-03 Ricoh Company, Ltd. Task switching system, task switching method and dsp modem
KR101988898B1 (en) * 2017-12-26 2019-06-13 국방과학연구소 Task Dead Rock Recovery Method through the Task Status Checking

Similar Documents

Publication Publication Date Title
KR100864964B1 (en) Arithmetic Processing System and Arithmetic Processing Control Method, Task Management System and Task Management Method, and Storage Medium
KR100934533B1 (en) Computer-readable recording medium recording arithmetic processing system, task control method on computer system, and computer program
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US5799188A (en) System and method for managing variable weight thread contexts in a multithreaded computer system
TWI426452B (en) Work processing device
US7325148B2 (en) Power supply management system in parallel processing system by OS for single processors and power supply management program therefor
TWI416413B (en) Work processing device
EP1031924A2 (en) Computer executing multiple operating system
CN108920267B (en) Task processing device
US7526673B2 (en) Parallel processing system by OS for single processors and parallel processing program
US20010034751A1 (en) Real-time OS simulator
JPWO2009157178A1 (en) Virtual machine control device, virtual machine control program, and virtual machine control circuit
CN101310257A (en) Multi-processor system and program for causing computer to execute multi-processor system control method
JP3938343B2 (en) Task management system, program, and control method
JPH06250853A (en) Management method and system for process scheduling
JPWO2008023427A1 (en) Task processing device
JP2000215072A (en) Program execution device and its process moving method, and storage medium stored with process movement control program
US7032099B1 (en) Parallel processor, parallel processing method, and storing medium
JP2000066904A (en) Method for controlling multitask and storage medium
JP2018180768A (en) Semiconductor device
JP2002297556A (en) Multiprocessor system, control method and program for multiprocessor, and computer readable recording medium with the program recorded thereon
JP2000105708A (en) Task managing method and multitask os
JP2013522710A (en) IT system configuration method, computer program thereof, and IT system
JPH09160790A (en) Device and method for task schedule
JPH0895803A (en) Task scheduling method