JP2693916B2 - Task scheduling method - Google Patents
Task scheduling methodInfo
- Publication number
- JP2693916B2 JP2693916B2 JP22781194A JP22781194A JP2693916B2 JP 2693916 B2 JP2693916 B2 JP 2693916B2 JP 22781194 A JP22781194 A JP 22781194A JP 22781194 A JP22781194 A JP 22781194A JP 2693916 B2 JP2693916 B2 JP 2693916B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- storage area
- processing
- scheduler
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000008569 process Effects 0.000 claims description 42
- 230000007704 transition Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Description
【0001】[0001]
【産業上の利用分野】本発明はタスクスケジュール方法
に関し、特にタスクの動作を優先順位により管理するリ
アルタイム・オペレーティングシステム(以下、RTO
Sと云う)に適用されるタスクスケジュール方法に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a task scheduling method, and more particularly, to a real-time operating system (hereinafter referred to as RTO) which manages task operations according to priority.
S)).
【0002】[0002]
【従来の技術】まず、最初に、RTOSについて説明す
る。制御用システム上におけるマルチタスクシステム導
入の大きな意義の一つに、仕事の分担がある。制御用シ
ステムをシングルタスクで構築する場合には、システム
機能の大きさ、または入出力の複雑さにもよるが、性能
が上らなかったり、難解な保守性の悪いプログラムが形
成されるという結果となる。これに対応する策として、
システム全体の機能を小さな仕事の単位であるタスクと
して細分化し、制御系システムのリアルタイム性を損な
うことなく容易に実現することができれば、生産性なら
びに保守性の向上を期待することができる。複数のタス
クが同時に(或るタイミングでCPUの実行権またはシ
ステム資源を分配しながら)動いているシステムをマル
チタスクシステムと云い、その制御機構をマルチタスク
OSと云う。マルチタスクシステムにおける各タスク
は、それぞれ独立したプログラムとして考えられる。前
記マルチタスクシステムにリアルタイム性が備えられ
て、タスク間またはシステム外部との同期をリアルタイ
ムにとることができるシステムがリアルタイムシステム
であり、また、その制御機構自体がRTOSである。2. Description of the Related Art First, an RTOS will be described. One of the major significances of introducing a multitask system on a control system is the division of work. When a control system is constructed with a single task, the result is that the performance may not improve or a difficult program with poor maintainability may be formed, depending on the size of the system function or the complexity of input / output. Becomes As a measure to deal with this,
If the functions of the entire system can be subdivided into tasks that are small units of work and easily realized without impairing the real-time property of the control system, it is possible to expect improvement in productivity and maintainability. A system in which a plurality of tasks are operating simultaneously (while distributing the CPU execution right or system resources at a certain timing) is called a multitask system, and its control mechanism is called a multitask OS. Each task in the multi-task system can be considered as an independent program. A system in which the multi-task system is provided with real-time capability and can synchronize tasks or with the outside of the system in real time is a real-time system, and its control mechanism itself is an RTOS.
【0003】以下に、RTOSとユーザプログラムとの
関係について、図6のRTOSとアプリケーションの関
係図を参照して説明する。図6には、従来のタスクスケ
ジュール方法における記憶部内のデータが示されている
が、図6において、ユーザプログラム群601において
は、提供されているシステムコール群604の中から、
必要なシステムコールが選択され、付随するインタフェ
ースライブラリ602を呼び出すことにより、RTOS
603の機能を使用することが可能となる。RTOS機
能によっては、RTOSにより管理されるRTOS管理
データ606の内容を変更することになることもあり、
またタスクの実行権を異なるタスクに遷移させるため
に、タスクスケジューラ605を呼び出すことになるこ
ともある。システムコール群604には、タスク管理関
連、タスク間同期通信関連および割り込み管理関連など
のシステムコールがある。RTOS管理データには、各
タスクを管理するためにタスクと1対1に対応した管理
領域(TCB:タスクコントロールブロック)607な
どがあり、これを識別するためにタスク識別子が存在し
ている。システムコールを用いてタスクに対して操作を
行う際には、どのタスクに操作するかを指定するために
タスク識別子を指定する。The relationship between the RTOS and the user program will be described below with reference to the relationship diagram between the RTOS and the application shown in FIG. FIG. 6 shows data in the storage unit in the conventional task scheduling method. In FIG. 6, in the user program group 601, from the system call group 604 provided,
By selecting the required system call and calling the accompanying interface library 602, the RTOS
It becomes possible to use the function of 603. Depending on the RTOS function, the contents of the RTOS management data 606 managed by the RTOS may be changed,
Further, the task scheduler 605 may be called in order to change the task execution right to another task. The system call group 604 includes system calls related to task management, inter-task synchronous communication, and interrupt management. The RTOS management data includes a management area (TCB: task control block) 607 that corresponds to each task in order to manage each task, and a task identifier exists to identify this. When a system call is used to operate a task, a task identifier is specified to specify which task to operate.
【0004】次に、RTOSにおいてタスクが取り得る
状態および状態遷移について、図7のタスク遷移図を参
照して説明する。この場合、タスクの取り得る状態とし
ては、次に挙げる四つの状態に分類することができる。 (1)実行(RUN)状態701 CPU利用権が与えられて、現在実行中の状態であり、
システム中に常に一つのタスクしか存在することができ
ない。 (2)実行可能(READY)状態702 実行状態になるための要素が全て揃っているが、そのタ
スクよりも優先順位が高い(同じ場合もあり)タスクが
実行中であるために実行することができないでいる状
態。即ち、CPUが使用可能になれば、いつでも実行す
ることができる状態。 (3)待ち(WAIT)状態703 そのタスクを実行することができる条件が整わないため
に実行することができない状態。例えば、入出力動作の
完了またはタスク間の同期確立などを待っている状態。 (4)休止(DORMANT)状態704 タスクが未だ起動されていない状態、または終了後の状
態。タスクを新しく生成すると、まずこの状態になる。Next, states and state transitions that tasks can take in RTOS will be described with reference to the task transition diagram of FIG. In this case, the possible states of the task can be classified into the following four states. (1) Execution (RUN) state 701 The CPU utilization right has been given and is currently in execution,
Only one task can exist in the system at any given time. (2) Executable (READY) state 702 Although all the elements required to enter the execution state are available, it is possible to execute because a task with a higher priority (may be the same) than that task is being executed. The state that is not possible. That is, it can be executed any time when the CPU becomes available. (3) WAIT state 703 A state in which the task cannot be executed because conditions for executing the task are not satisfied. For example, the state of waiting for completion of I / O operation or establishment of synchronization between tasks. (4) Dormant state 704 A state in which the task has not been started yet, or a state after the task ends. When a new task is created, this state is entered first.
【0005】これらの、各状態遷移は、次のような意味
を有している。 (1)起動[S71] DORMANT状態のタスクをREADY状態にする。 (2)終了[S72] RUN状態のタスクがDORMANT状態にすることを
云う。 (3)DISPATCH[S73] READY状態のタスクの中で、次にRUN状態に移行
させるべきタスクを呼び出し、RUN状態にすることを
云う。RUN状態のタスクは、REDAY状態のタスク
の中で最高の優先順位を持つ。通常、この処理をスケジ
ューリング(またはディスパッチ)と呼び、この処理部
をスケジューラ(またはディスパッチャ)と呼ぶ。 (4)PREEMPT[S74] 現在進行中のタスクよりも優先順位の高いタスクがRU
N状態に遷移すると、現在実行中のタスクは一度中断さ
れてREADY状態に戻る。一度READY状態に移っ
たタスクは、再度スケジューラにより選び出されるまで
RUN状態に移ることはできない。 (5)待ち条件[S75] 事象発生待ちの必要が生じると、タスクはRUN状態か
らWAIT状態に移行する。 (6)待ち解除[S76] システムからの、待ちが引き起された要因を解除する事
象の発生により、WAIT状態のタスクをREADY状
態にすることを云う。 (7)強制終了[S77] RUN状態以外のタスクをDORMANT状態(強制終
了)にすることを云う。RTOSの重要な性能指標の一
つに即時性があり、従来のRTOSにおける即時性のネ
ックになっているのが割り込み禁止時間である。Each of these state transitions has the following meaning. (1) Activation [S71] A task in the DORMANT state is set to the READY state. (2) Termination [S72] The task in the RUN state is set to the DORMANT state. (3) DISPATCH [S73] Among the tasks in the READY state, it is called the task which should be shifted to the RUN state next and puts it in the RUN state. The task in the RUN state has the highest priority among the tasks in the READY state. Usually, this processing is called scheduling (or dispatch), and this processing unit is called scheduler (or dispatcher). (4) PREEMPT [S74] The task with a higher priority than the task currently in progress is RU.
When transiting to the N state, the currently executing task is once suspended and returns to the READY state. A task that has once moved to the READY state cannot move to the RUN state until it is selected again by the scheduler. (5) Wait condition [S75] When it is necessary to wait for an event occurrence, the task shifts from the RUN state to the WAIT state. (6) Wait release [S76] It means that a task in the WAIT state is set to the READY state due to the occurrence of an event from the system that releases the cause of the wait. (7) Forced termination [S77] It means that a task other than the RUN state is placed in the DORMANT state (forced termination). Immediateness is one of the important performance indicators of RTOS, and the interrupt prohibition time is the bottleneck of the immediacy in conventional RTOS.
【0006】RTOSのタスクスケジュール時に割り込
みが入り、割り込み処理からRTOSの機能が呼び出さ
れてしまうと、スケジューラにより選択されたタスクよ
りも優先順位の高いタスクが実行可能状態になってしま
う場合がある。即ち、実行状態のタスクよりも優先順位
の高いタスクが実行可能状態で存在してしまうことにな
る。これにより、RTOSにとって優先順位の高い(緊
急度の高い)タスクが実行されないという致命的な不都
合が生じる事態となる。このような状態を防ぐために、
タスクスケジューラにより割り込み禁止状態において処
理が行われる。If an interrupt occurs during the task scheduling of the RTOS and the RTOS function is called from the interrupt processing, the task with a higher priority than the task selected by the scheduler may be ready to be executed. That is, a task having a higher priority than the task in the running state exists in the runnable state. This causes a fatal inconvenience that a task having a high priority (high urgency) is not executed for the RTOS. To prevent this situation,
Processing is performed by the task scheduler in the interrupt disabled state.
【0007】ここで、タスクスケジュールの一連の流れ
を、図5の従来例のシステム構成図、図6の記憶部内の
データ構成図、および図8の従来例のタスクスケジュー
ラにおけるフローチャートを参照して説明する。Here, a series of flow of the task schedule will be described with reference to the conventional system configuration diagram of FIG. 5, the data configuration diagram in the storage section of FIG. 6, and the flowchart of the task scheduler of the conventional example of FIG. To do.
【0008】図5は、従来例のシステム構成図であり、
データ書き込み手段501、データ読み込み手段502
およびデータ比較手段503を含む制御部500と、記
憶部504とを備えて構成される。図5において、記憶
部504には、図6に示されるユーザプログラム群60
1、インタフェースライブラリ602、システムコール
群604およびタスクスケジューラ605を含むRTO
S603、タスク優先順位記憶領域608およびタスク
状態記憶領域609を含むTCB607を包含するRT
OS管理データ606が格納されている。ここのタスク
は処理の違いにより優先順位が割り振られており、遷移
可能な状態に休止・待ち・実行可能・実行状態があるこ
とについては、既に上述したとうりである。ここにおけ
る説明においては、8レベルの優先順位が存在するもの
と仮定する。個々のタスクの優先順位およびタスクの状
態は、そのタスクに対応しているTCB607内のタス
ク優先順位記憶領域608およびタスク状態記憶領域6
09にそれぞれ記憶されている。FIG. 5 is a system configuration diagram of a conventional example,
Data writing means 501, data reading means 502
And a control unit 500 including the data comparison unit 503, and a storage unit 504. 5, the storage unit 504 stores the user program group 60 shown in FIG.
1, RTO including interface library 602, system call group 604 and task scheduler 605
S603, RT including TCB 607 including task priority storage area 608 and task status storage area 609
OS management data 606 is stored. The tasks here are assigned priorities due to the differences in processing, and the fact that there are the states in which the transition is possible are paused, waited, executable, and executed are as described above. In the discussion herein, it is assumed that there are eight levels of priority. The priority of each task and the task status are stored in the task priority storage area 608 and the task status storage area 6 in the TCB 607 corresponding to the task.
09, respectively.
【0009】タスクスケジューラにおいては、その処理
手順が図8のフローチャートに示されるように、タスク
を選択する処理ステップ801においては、実行可能な
タスクの中から次に実行状態にするタスクを選択され
る。その際、処理ステップ804、処理ステップ80
5、…………、処理ステップ806および処理ステップ
807においては、それぞれ優先順位1、2、……、7
および8のタスクが実行可能であるか否かが判定され、
実行可能である場合には処理ステップ802に移行し、
可能でない場合には、最終的に処理ステップ808に移
行して、割り込み許可の処理が行われ、処理ステップ8
09においてHALT処理が行われて、再度処理ステッ
プ801の冒頭に戻る。即ち、優先順位の高いタスクか
ら、順次実行可能であるか否かが判定されてゆき、この
タスクを探索してゆく過程において最初に捜し出された
タスクが選択タスクとなる。実行タスクが選択される
と、当該選択タスクを実行状態にするために、選択タス
ク状態変更処理ステップ802において、記憶部504
に格納されているTCB607内のタスク優先順位また
はタスク状態等を、制御部500のデータ書き込み手段
501により変更し、次いで選択タスクレジスタ復帰処
理ステップ803において、選択タスクを実行するのに
必要なレジスタ情報等が、記憶部504よりデータ読み
込み手段502を用いて、制御部500内に存在するレ
ジスタに対する復帰処理が行われて、選択タスクに制御
が渡される。In the task scheduler, as its processing procedure is shown in the flowchart of FIG. 8, in the processing step 801 for selecting a task, the task to be put into the next execution state is selected from the executable tasks. . At that time, processing step 804 and processing step 80
5, processing step 806 and processing step 807, priority levels 1, 2, ...
And whether the tasks of 8 can be executed,
If it can be executed, the process proceeds to step 802,
When it is not possible, the process finally moves to the processing step 808, the interrupt permission processing is performed, and the processing step 8 is performed.
In step 09, HALT processing is performed, and the process returns to the beginning of processing step 801 again. That is, it is determined from the tasks with the highest priority whether or not they can be sequentially executed, and the task first found in the process of searching for this task becomes the selected task. When the execution task is selected, in the selected task state change processing step 802, the storage unit 504 is placed in order to put the selected task into the execution state.
In the TCB 607, the task priority order, task state, etc. are changed by the data writing means 501 of the control unit 500, and then, in the selected task register restoration processing step 803, register information necessary for executing the selected task. Etc., the data read means 502 from the storage unit 504 is used to restore the registers existing in the control unit 500, and control is passed to the selected task.
【0010】上記のスケジュール処理においては、割り
込み禁止状態において処理が行われるために、割り込み
処理は一切受け付けられない。この割り込み処理要求が
スケジュール処理中に入ってきても、その処理が行われ
るのは、スケジュール処理の終了後において、割り込み
禁止状態が解除された時点である。このように、割り込
み禁止状態にすることにより、割り込み処理要求に対す
る即時性という点においては劣るが、前述のRTOSの
タスクスケジュール時に割り込みが入り、実行状態のタ
スクよりも優先順位の高いタスクが実行可能状態とな
り、RTOSにとって優先順位の高いタスクが実行され
ないという致命的な不都合が防止されている。In the above schedule processing, since the processing is performed in the interrupt disabled state, no interrupt processing is accepted. Even if this interrupt processing request comes in during the schedule processing, the processing is performed when the interrupt disabled state is released after the end of the schedule processing. As described above, by making the interrupt disabled state, the immediacy for an interrupt processing request is inferior, but an interrupt occurs at the RTOS task schedule described above, and a task with a higher priority than the task in the execution state can be executed. A fatal inconvenience that a task having a high priority is not executed for the RTOS is prevented.
【0011】以上、RTOSについての説明を行った
が、このRTOSの一例が特開平1−316831号公
報に記載されている。この特開平1−316831号公
報において提案されているRTOSは、中央処理装置
(CPU)と、入力及び出力プロセッサ(IOP)と、
算術処理装置(APU)を統合し、優先順位を基にし
て、機能実行の優先順位を選択する方式である。システ
ムコールまたはインタフェースライブラリおよびタスク
状態などの細かい違いはあるが、RTOSに対する基本
的な考え方は本件記載のRTOSと同じてある。しか
し、前記特開平1−316831号公報においては、タ
スクスケジューラの割り込み禁止状態については触れて
おらず、タスクスケジューラに着目したシステムの即時
性向上についての考慮が為されていない。Although the RTOS has been described above, an example of this RTOS is described in Japanese Patent Laid-Open No. 1-316831. The RTOS proposed in Japanese Patent Laid-Open No. 1-316831 includes a central processing unit (CPU), an input / output processor (IOP),
This is a method in which an arithmetic processing unit (APU) is integrated and the priority order of function execution is selected based on the priority order. Although there are slight differences in the system call or interface library and the task status, the basic idea of the RTOS is the same as that of the RTOS described in this case. However, Japanese Patent Laid-Open No. 1-316831 does not mention the interrupt disabled state of the task scheduler, and does not consider the improvement of the immediacy of the system focusing on the task scheduler.
【0012】[0012]
【発明が解決しようとする課題】上述した従来のタスク
スケジュール方法においては、タスクスケジューラによ
りタスクの選択が行われてから、当該タスクに対して制
御を渡すまでの間において、割り込み禁止状態で処理が
行われているために、この処理に時間がかかればかかる
程、システムの即時性が失われてしまうという欠点があ
る。In the above-described conventional task scheduling method, processing is performed in the interrupt disabled state from when the task is selected by the task scheduler until control is passed to the task. Since this is done, the longer this process takes, the more the system immediacy is lost.
【0013】本発明の目的は、上記のタスクスケジュー
ルにおける割り込み禁止時間が、RTOSの最大割り込
み禁止時間となる事態に対応して、この割り込み禁止時
間を短縮することにより、上記の欠点を改善したタスク
スケジュール方法を提供することにある。It is an object of the present invention to reduce the interrupt prohibition time in response to the situation where the interrupt prohibition time in the above task schedule becomes the maximum interrupt prohibition time of the RTOS. To provide a scheduling method.
【0014】[0014]
【課題を解決するための手段】本発明のタスクスケジュ
ール方法は、複数のタスクの動作を優先順位により管理
するリアルタイム・オペレーテイングシステムに適用さ
れるタスクスケジュール方法であって、タスクの優先順
位に関する情報を保持するタスク優先順位記憶領域,タ
スク識別子に関する情報を保持するタスク識別子記憶領
域,待ち解除タスク優先順位に関する情報を保持する待
ち解除タスク優先順位記憶領域およびタスクスケジュー
ラ処理状態表示に関する情報を保持するタスクスケジュ
ーラ処理状態表示記憶領域とを少なくとも含む記憶部
と、タスク優先順位記憶領域ならびに待ち解除タスク優
先順位記憶領域に保持される情報を変更する手段,タス
ク識別子記憶領域に保持される情報を変更する手段,タ
スクスケジューラ処理状態表示記憶領域に保持される情
報を変更する手段およびタスク優先順位比較手段とを少
なくとも含む制御部とを備えるシステムに対応して、タ
スクスケジューラ処理時において、タスクスケジューラ
処理状態表示記憶領域の変更手段により、タスクスケジ
ューラ処理状態表示記憶領域に、タスクスケジューラが
処理中であることを示す情報を格納し、タスク優先順位
記憶領域の変更手段ならびに前記タスク識別子記憶領域
の変更手段により、タスク優先順位記憶領域ならびにタ
スク識別子記憶領域に、実行状態に遷移させるタスクの
優先順位ならびに識別子を保持し、その後割り込み許可
状態とし、当該割り込み許可状態において割り込み要求
が発生してタスクの待ちを解除するシステムコールが呼
び出された場合には、このシステムコールの処理中にお
いて当該待ちを解除するタスクの優先順位を待ちタスク
優先順位記憶領域に保持し、タスクスケジューラ処理状
態表示記憶領域の情報が処理中であることを示している
場合には、タスク優先順位記憶領域の優先順位と待ちタ
スク優先順位記憶領域の優先順位とをタスク優先順位比
較手段を用いて比較し、待ちタスク優先順位記憶領域の
保持されている優先順位の方が高い場合には、タスク識
別子変更手段を用いてタスク識別子記憶領域に保持され
ている識別子を待ちを解除するタスクの識別子に変更
し、割り込み処理から前記タスクスケジューラ処理に戻
った際に、割り込み禁止状態に設定して、タスク識別子
記憶領域に保持されているタスクに処理実行権を遷移さ
せることを特徴としている。Task scheduling method of the present invention SUMMARY OF] is a task schedule method applied to operation of a plurality of tasks in real-time operating system that manages the priority information on priority of task task priority storage area for holding the task of holding the information about the wait release task priority storage area and task scheduler processing status holding information task identifier storage area for holding information about the task identifier relates wait release task priority A storage unit including at least a scheduler processing status display storage area, a means for changing the information held in the task priority storage area and the waiting release task priority storage area, and a means for changing the information held in the task identifier storage area , task scheduler processing Corresponding to the unit and the task priority comparing means to change the information held in the status display memory area in the system including at least includes a control unit, at the time the task scheduler processing, the task scheduler processing status storage area varying means Accordingly, the task scheduler processing state display memory area stores information indicating that the task scheduler is being processed, means for changing the task priority storage area as well as the task identifier storage area
The task priority storage area and task
In the disk identifier storage area, the task
Holding the priority and identifier, and the interrupt enable state after the interrupt request in the interrupt enabled state
Occurs and the system call that releases the wait for the task is called.
If this is the case during the processing of this system call,
Waiting for the priority of the task to release the wait
The task scheduler processing status is retained in the priority storage area.
Status display storage area information indicates that it is being processed
If the task priority storage area priority and wait
Disk priority storage area priority and task priority ratio
The comparison means is used to compare, and the waiting task priority storage area
If the held priority is higher, the task knowledge
It is retained in the task identifier storage area using
The existing identifier to the identifier of the task to release the wait
Then, return from the interrupt process to the task scheduler process.
When this happens , the interrupt prohibition state is set, and the processing execution right is transferred to the task held in the task identifier storage area.
【0015】なお、前述のタスクスケジューラ処理は、
複数のタスクの優先順位および状態を調べて実行状態に
遷移させるタスクを選択する処理と、複数のタスクの中
に実行状態に遷移させるタスクが存在しない場合に割り
込み許可状態とする処理を含む。[0015] It should be noted that the Task Scheduler process described above,
Check the priority and status of multiple tasks and set them to the running status
Process to select the task to be transitioned and among multiple tasks
If there is no task to transition to the running state in
Includes processing to enter the permission state .
【0016】[0016]
【実施例】次に、本発明について図面を参照して説明す
る。Next, the present invention will be described with reference to the drawings.
【0017】図1は本発明の一実施例に適用されるシス
テム構成図である。図1に示されるように、本実施例
は、少なくともタスク優先順位記憶領域101、タスク
識別子記憶領域102、待ち解除タスク優先順位記憶領
域103およびタスクスケジューラ処理状態表示領域1
04を含む記憶部11と、少なくともデータ比較手段1
05、データ書き込み手段106およびデータ読み込み
手段107を含む制御部12とを備えて構成されてお
り、データ比較手段105には、少なくともタスク優先
順位比較手段108が含まれており、データ書き込み手
段106には、少なくともタスク優先順位記憶領域変更
手段109、タスク識別子記憶領域変更手段110およ
びタスクスケジューラ処理状態表示領域変更手段111
が含まれている。FIG. 1 is a system configuration diagram applied to one embodiment of the present invention. As shown in FIG. 1, in this embodiment, at least a task priority storage area 101, a task identifier storage area 102, a wait release task priority storage area 103, and a task scheduler processing state display area 1
Storage unit 11 including 04, and at least data comparison unit 1
05, a data writing unit 106, and a control unit 12 including a data reading unit 107. The data comparing unit 105 includes at least a task priority order comparing unit 108. Is at least task priority storage area changing means 109, task identifier storage area changing means 110, and task scheduler processing state display area changing means 111.
It is included.
【0018】なお、図2は、本実施例のタスクスケジュ
ーラの処理手順を示すフローチャートであり、図3は、
当該タスクスケジューラ処理において、割り込み許可状
態とした際に新たに割り込み要求が発生し、当該割り込
み処理から呼び出されて実行されるシステムコールの処
理手順を示すフローチャートである。また図4はタスク
レディーキューを示す図である。以下、図1、図2、図
3および図4を参照して、本実施例のタスクスケジュー
ラとシステムコールの具体的な処理手順について説明す
る。なお、図1に示される記憶部11には、図6に示さ
れている各要素が含まれている。また、本実施例におい
ては、タスクとして三つの場合を考えるものとする。そ
れぞれのタスクの状態は、図4に示されるようになって
おり、優先順位1のタスクA402は、何らかの事象待
ちのために、待ちキュー401につながっており、また
優先順位2のタスクB412とタスクC413は、実行
可能状態にあるために、優先順位2のキューにつながっ
ているものとする。2 is a flow chart showing the processing procedure of the task scheduler of this embodiment, and FIG.
9 is a flowchart showing a processing procedure of a system call which is executed by calling a new interrupt request when the interrupt is enabled in the task scheduler process. FIG. 4 is a diagram showing the task ready queue. Hereinafter, with reference to FIG. 1, FIG. 2, FIG. 3 and FIG. 4, a concrete processing procedure of the task scheduler and the system call of this embodiment will be described. The storage unit 11 shown in FIG. 1 includes the elements shown in FIG. In addition, in this embodiment, three cases are considered as tasks. The states of the respective tasks are as shown in FIG. 4, and the task A 402 having the priority 1 is connected to the wait queue 401 to wait for some event, and the task B 412 having the priority 2 and the task B 412 C413 is executed
Since it is in the enabled state, it is assumed that the queue is connected to the queue of priority 2.
【0019】図2において、タスクスケジューラの処理
が開始されると、まず、処理ステップ201において、
タスクスケジューラ処理状態表示領域変更手段111に
より、記憶部11内に存在しているタスクスケジューラ
処理状態表示領域104内の情報が、タスクスケジュー
ラ処理中であることを示す情報に変更される。次いで
は、処理ステップ202において、実行可能状態のタス
クの中で、一番優先順位の高いタスクが選択される。こ
のタスクを選択する処理ステップ202において、処理
ステップ210、処理ステップ211、…………、処理
ステップ212および処理ステップ213においては、
それぞれ優先順位1、2、……、7および8のタスクが
実行可能であるか否かが判定され、実行可能である場合
には処理ステップ203に移行する。また、実行可能で
ない場合には、最終的に処理ステップ214に移行し
て、当該処理ステップ214においては割り込み許可の
処理が行われ、処理ステップ215においてHALT処
理が行われて、再度処理ステップ201に戻る。即ち、
優先順位の高いタスクから、順次実行可能であるか否か
が判定されてゆき、このタスクを探索してゆく過程にお
いて最初に捜し出されたタスクが選択タスクとなる。本
実施例においては、例としてタスクスケジューラ処理に
より、実行可能状態のタスクの中で一番優先順位の高い
タスクBが選択されるものとする。In FIG. 2, when the task scheduler processing is started, first, in processing step 201,
The task scheduler processing state display area changing unit 111 changes the information in the task scheduler processing state display area 104 existing in the storage unit 11 to information indicating that the task scheduler processing is being performed. Next, in process step 202, the task with the highest priority is selected from the tasks in the READY state. In processing step 202 for selecting this task, in processing step 210, processing step 211, ..., Processing step 212 and processing step 213,
It is determined whether or not the tasks having the priorities 1, 2, ..., 7 and 8 are executable, and if they are executable, the process proceeds to step 203. Further, if it is not feasible, it proceeds to the final process step 214, the processing of the interrupt enable is in the process step 214 is performed, the HALT processing is performed in processing step 21 5, again the process step 201 Return to. That is,
It is determined from the tasks with higher priority whether or not they can be sequentially executed, and the task first found in the process of searching for this task becomes the selected task. In the present embodiment, as an example, the task scheduler process selects the task B having the highest priority among the tasks in the ready state.
【0020】このように実行タスクが選択されると、当
該選択タスクを実行状態にするために、処理ステップ2
03において、データ書き込み手段106に含まれるタ
スク優先順位記憶領域変更手段109により、記憶部1
1内のタスク優先順位記憶領域101に保持されている
タスク優先順位が、前記処理ステップ202において選
択されたタスクの優先度に変更される。また、同時に、
タスク識別子記憶領域変更手段110により、タスク識
別子記憶領域102に保持されているタスク識別子が、
前記処理ステップ202において選択されたタスクの識
別子に変更される。なお、本実施例においては、当該選
択タスクがタスクBであるため、タスクBの優先度と識
別子とがそれぞれ変更の対象となり退避する状態とな
る。次いで、処理ステップ204においては割り込み処
理が許可される。この処理ステップ204において割り
込み許可の状態になり、次の処理ステップ205に移行
する前のタイミングにおいて割り込み要求が発生した場
合、または処理ステップ204において割り込み許可状
態になる以前の処理中において割り込みが発生した場合
には、当該割り込み処理が行われる。When the execution task is selected in this way, processing step 2 is executed to put the selected task into the execution state.
03, the task priority storage area changing unit 109 included in the data writing unit 106 causes the storage unit 1
The task priority order stored in the task priority order storage area 101 within 1 is changed to the priority of the task selected in the processing step 202. At the same time,
By the task identifier storage area changing means 110, the task identifier stored in the task identifier storage area 102 is
It is changed to the identifier of the task selected in the processing step 202. In this embodiment, since the selected task is the task B, the priority and the identifier of the task B are the targets of change and are in the state of saving. Next, in processing step 204, interrupt processing is permitted. Ready interrupt permitted in this process step 204, the following process when an interrupt request is generated at the timing before the process proceeds to step 20 5, or the process interrupt occurs during the previously made to the interrupt enabled state processing in step 204 If so, the interrupt process is performed.
【0021】ここで、前記割り込み要求が発生して割り
込み処理が行われ、当該割り込み処理の中で、現在待ち
状態にあるタスクの待ち状態を解除するシステムコール
が発行された場合について説明する。Here, a case will be described in which the interrupt request is generated, interrupt processing is performed, and in the interrupt processing, a system call for canceling the waiting state of the task currently in the waiting state is issued.
【0022】前記割り込み処理においては、システムコ
ール処理(図3のフローチャート参照)が呼び出され、
待ち状態にあるタスクAの待ちが解除される。そして前
記システムコール処理においては、図3の処理ステップ
301において指定されたタスクの優先順位が、タスク
優先順位記憶領域変更手段109を用いて、待ち解除タ
スク優先順位記憶領域103に格納保持される。そし
て、処理ステップ302において指定されたタスクAの
待ちが解除された後に、処理ステップ303において、
割り込み処理発生前にタスクスケジューラにより処理中
であったか否かが判定される。なお、本実施例において
は、タスクスケジューラ処理状態表示領域に記憶される
情報により、割り込み処理の発生前にタスクスケジュー
ラが処理中であったことが示されているので、処理手順
は図3の処理ステップ304に移行する。なお、処理ス
テップ303において、処理中でない場合には処理は終
了となる。次いで処理ステップ304においては、タス
ク優先順位比較手段108により、記憶部11内に存在
するタスク優先順位記憶領域101に保持されているタ
スク優先順位と、待ち解除タスク優先順位記憶領域10
3に保持されているタスク優先順位が比較される。この
場合、タスク優先順位記憶領域101に保持されている
タスク優先順位とは、図2における処理ステップ202
において選択されたタスクの優先順位であり、待ち解除
タスク優先順位記憶領域103に保持されているタスク
優先順位とは、システムコール処理において指定された
タスク優先順位である。待ち解除タスク優先順位記憶領
域103に保持されているタスク優先順位の方が、タス
ク優先順位記憶領域101に保持されているタスク優先
順位よりも高い場合には、処理ステップ305に移行
し、そうでない場合には処理は全て終了となる。In the interrupt processing, the system call processing (see the flowchart of FIG. 3) is called,
The waiting of task A in the waiting state is released. Then, in the system call processing, the priority order of the task designated in the processing step 301 of FIG. 3 is stored and held in the waiting release task priority order storage area 103 by using the task priority order storage area changing means 109. Then, after the waiting of the task A designated in the processing step 302 is released, in the processing step 303,
It is judged by the task scheduler whether or not it is being processed before the interrupt processing occurs. In the present embodiment, the information stored in the task scheduler processing status display area indicates that the task scheduler was processing before the interrupt processing occurred. Therefore, the processing procedure is as shown in FIG. Go to step 304. It should be noted that in the process step 303, if the process is not in progress, the process ends. Next, at process step 304, the task priority comparison means 108 causes the task priority order stored in the task priority order storage area 101 existing in the storage unit 11 and the wait release task priority order storage area 10 to be executed.
The task priorities held in 3 are compared. In this case, the task priority order stored in the task priority order storage area 101 is the processing step 202 in FIG.
The priority of the task selected in (1), and the task priority held in the wait release task priority storage area 103 is the task priority designated in the system call processing. When the task priority order held in the wait release task priority order storage area 103 is higher than the task priority order held in the task priority order storage area 101, the processing shifts to the processing step 305, otherwise. In this case, all the processing ends.
【0023】仮に、図4に示されるように、既にスケジ
ューラにより選択されたタスクより、システムコールで
待ちを解除されたタスクの優先順位の方が高い場合には
(本実施例においては、タスクスケジューラにより選択
されたタスクが優先順位2のタスクBであり、割り込み
処理から呼び出されたシステムコールにおいて待ちを解
除されたタスクが、優先順位1のタスクAである)、図
3の処理ステップ305において、タスク識別子記憶領
域変更手段110により、記憶部11内に存在するタス
ク識別子記憶領域102に保持されているタスク識別子
が、上記システムコールにより指定されて待ちを解除さ
れたタスクの識別子に変更される(本実施例において
は、タスク識別子記憶領域のタスク識別子が、タスクB
からタスクAに変更される)。そして、システムコール
の処理は終了する。なお、この場合に、スケジューラに
おいて選択されたタスクよりも、システムコールにおい
て待ちを解除されたタスクの優先順位の方が低い場合に
は、記憶部11内に存在しているタスク識別子記憶領域
102に対する保持内容の変更を行うことなく、システ
ムコール処理は終了する。As shown in FIG. 4, if the task whose waiting is released by the system call has a higher priority than the task already selected by the scheduler (in this embodiment, the task scheduler The task selected by is the task B having the priority 2 and the task released from the waiting in the system call called from the interrupt process is the task A having the priority 1). The task identifier storage area changing unit 110 changes the task identifier held in the task identifier storage area 102 existing in the storage unit 11 to the identifier of the task whose waiting has been released by being designated by the above system call ( In this embodiment, the task identifier of the task identifier storage area is task B
Changed to task A). Then, the processing of the system call ends. In this case, when the priority of the task released from the system call is lower than that of the task selected by the scheduler, the task identifier storage area 102 existing in the storage unit 11 is stored in the storage unit 11. The system call process ends without changing the stored contents.
【0024】上記のシステムコール処理が終了すると、
その後において割り込み処理が終了して、タスクスケジ
ューラの処理に戻る。タスクスケジューラ処理において
は、図2の処理ステップ205において割り込み処理禁
止状態が設定され、次いで処理ステップ206におい
て、タスク識別子記憶領域に保持されているタスク識別
子(本実施例においては、タスクAの識別子)で表わさ
れているタスクを選択タスクとして、当該選択タスクに
対して実行状態にする際に必要となる情報が設定され
る。そして、処理ステップ207において、選択タスク
の状態がREADY状態からRUN状態に変更され、処
理ステップ208においては、タスクスケジューラ処理
状態表示領域変更手段111により、記憶部11内に存
在するタスクスケジューラ処理状態表示領域104内の
情報が、タスクスケジューラ処理中でないことを示す情
報に変更される。次いで、処理ステップ209におい
て、選択タスクが動作するために必要なレジスタの情報
が復帰し、タスクスケジューラの処理が終了して、選択
タスクの実行処理に移行してゆく。When the above system call processing is completed,
After that, the interrupt process ends, and the process returns to the task scheduler process. In the task scheduler process, the interrupt process disabled state is set in the processing step 205 of FIG. 2, and then, in the processing step 206, the task identifier stored in the task identifier storage area (the identifier of the task A in this embodiment). The task represented by is set as the selected task, and the information necessary for putting the selected task into the execution state is set. Then, in processing step 207, the status of the selected task is changed from the READY status to the RUN status, and in processing step 208, the task scheduler processing status display area changing means 111 displays the task scheduler processing status displayed in the storage unit 11. The information in the area 104 is changed to information indicating that the task scheduler is not processing. Next, in processing step 209, the information of the register necessary for the selected task to operate is restored, the processing of the task scheduler ends, and the process proceeds to the selected task execution processing.
【0025】なお、タスクスケジュール処理中でなく、
通常のタスク処理を行っている最中に、上述した割り込
み要求と同じ割り込み要求が発生し、当該同じ割り込み
処理が行われる場合には、同じく割り込み処理中におい
てシステムコール(図3のフローチャートを参照)が呼
び出されて、処理ステップ301において、待ちを解除
されたタスクの優先順位が、前述の説明と同様にタスク
優先順位記憶領域変更手段109により変更され、処理
ステップ302において待ち解除が行われた後に、処理
ステップ303において、割り込み処理発生前にタスク
スケジューラが処理中であったか否かが判定される。こ
の場合に、タスクスケジューラ処理状態表示領域104
は、スケジューラの処理中以外においては、スケジュー
ラ処理中てはないことを示す情報源となっているので、
割り込み処理の発生前に、タスクスケジューラが処理中
でなかったことが分かる。割り込み処理の発生前にタス
クスケジューラーが処理中でない場合には、システムコ
ール処理は終了となる。Note that the task schedule is not being processed,
When the same interrupt request as the above-mentioned interrupt request is generated during the normal task processing and the same interrupt processing is performed, the system call is also executed during the interrupt processing (see the flowchart of FIG. 3). Is called, and the priority order of the task released from the wait state is changed in the processing step 301 by the task priority order storage area changing means 109 as in the above description, and the wait state is released in the processing step 302. In processing step 303, it is determined whether or not the task scheduler was processing before the interrupt processing occurred. In this case, the task scheduler processing status display area 104
Is an information source indicating that the scheduler is not being processed except when the scheduler is being processed.
It can be seen that the task scheduler was not processing before the interrupt processing occurred. If the task scheduler is not processing before the interrupt processing occurs, the system call processing ends.
【0026】[0026]
【発明の効果】以上説明したように、本発明は、実行可
能状態にあるタスクの中から、一番優先順位の高いタス
クを選択する処理と、実行状態に遷移させるタスクに対
して情報の設定を行う処理とを分離することにより、タ
スクスケジューラ処理中において、一時的に割り込み処
理を許可することができ、これにより、RTOSの重要
な性能指標である、即時性のネックとなっているタスク
スケジューリング時における割り込み禁止時間を短縮す
ることが可能となり、ユーザシステムにおける即時性を
向上させることができるという効果がある。As described above, according to the present invention, the process of selecting the task with the highest priority from the tasks in the ready state and the setting of information for the task to transition to the running state By separating the processing that performs the task scheduling, the interrupt processing can be temporarily permitted during the task scheduler processing, which makes task scheduling, which is an important performance index of RTOS, a bottleneck of immediacy. It is possible to shorten the interruption prohibition time and improve the immediacy in the user system.
【図面の簡単な説明】[Brief description of the drawings]
【図1】本発明の一実施例を示すシステム構成図であ
る。FIG. 1 is a system configuration diagram showing an embodiment of the present invention.
【図2】本実施例のタスクスケジューラ処理のフローチ
ャートを示す図である。FIG. 2 is a diagram showing a flowchart of task scheduler processing of the present embodiment.
【図3】本実施例のシステムコール処理のフローチャー
トを示す図である。FIG. 3 is a diagram showing a flowchart of a system call process of this embodiment.
【図4】タスクレディーキューを示す図である。FIG. 4 is a diagram showing a task ready queue.
【図5】従来例を示すシステム構成図である。FIG. 5 is a system configuration diagram showing a conventional example.
【図6】記憶部内の構成を示す図である。FIG. 6 is a diagram showing a configuration in a storage unit.
【図7】タスク遷移図である。FIG. 7 is a task transition diagram.
【図8】従来例のタスクスケジューラ処理のフローチャ
ートを示す図である。FIG. 8 is a diagram showing a flowchart of a task scheduler process of a conventional example.
【図9】従来例のシステムコール処理のフローチャート
を示す図である。FIG. 9 is a diagram showing a flowchart of a system call process of a conventional example.
11、504 記憶部 12、500 制御部 101 タスク優先順位記憶領域 102 タスク識別子記憶領域 103 待ち解除タスク優先順位記憶領域 104 タスクスケジューラ処理状態表示領域 105、503 データ比較手段 106、501 データ書き込み手段 107、502 データ読み込み手段 108 タスク優先順位比較手段 109 タスク優先順位記憶領域変更手段 110 タスク識別子記憶領域変更手段 111 タスクスケジューラ処理状態表示領域変更手
段 201〜215、301〜305、801〜809、9
01 処理ステップ 401 待ちキュー 402 タスクA優先順位1 411 優先順位2のキュー 412 タスクB優先順位2 413 タスクC優先順位2 601 ユーザプログラム群 602 インタフェースライブラリ 603 RTOS 604 システムコール群 605 タスクスケジューラ 606 RTOS管理データ 607 TCB 608 タスク優先順位記憶領域 609 タスク状態記憶領域 701 実行状態 702 実行可能状態 703 待ち状態 704 休止状態11, 504 Storage unit 12, 500 Control unit 101 Task priority storage area 102 Task identifier storage area 103 Task release task priority storage area 104 Task scheduler processing status display area 105, 503 Data comparison means 106, 501 Data writing means 107, 502 data reading means 108 task priority comparison means 109 task priority storage area changing means 110 task identifier storage area changing means 111 task scheduler processing state display area changing means 201-215, 301-305, 801-809, 9
01 processing step 401 waiting queue 402 task A priority 1 411 priority 2 queue 412 task B priority 2 413 task C priority 2 601 user program group 602 interface library 603 RTOS 604 system call group 605 task scheduler 606 RT OS management Data 607 TCB 608 Task priority storage area 609 Task status storage area 701 Execution status 702 Executable status 703 Waiting status 704 Dormant status
Claims (2)
するリアルタイム・オペレーテイングシステムに適用さ
れるタスクスケジュール方法であって、 タスクの優先順位に関する情報を保持するタスク優先順
位記憶領域,タスク識別子に関する情報を保持するタス
ク識別子記憶領域,待ち解除タスク優先順位に関する情
報を保持する待ち解除タスク優先順位記憶領域およびタ
スクスケジューラ処理状態表示に関する情報を保持する
タスクスケジューラ処理状態表示記憶領域とを少なくと
も含む記憶部と、前記タスク優先順位記憶領域ならびに
前記待ち解除タスク優先順位記憶領域に保持される情報
を変更する手段,前記タスク識別子記憶領域に保持され
る情報を変更する手段,前記タスクスケジューラ処理状
態表示記憶領域に保持される情報を変更する手段および
タスク優先順位比較手段とを少なくとも含む制御部とを
備えるシステムに対応して、 タスクスケジューラ処理時において、前記タスクスケジ
ューラ処理状態表示記憶領域の変更手段により、前記タ
スクスケジューラ処理状態表示記憶領域に、タスクスケ
ジューラが処理中であることを示す情報を格納し、前記
タスク優先順位記憶領域の変更手段ならびに前記タスク
識別子記憶領域の変更手段により、前記タスク優先順位
記憶領域ならびに前記タスク識別子記憶領域に、実行状
態に遷移させるタスクの優先順位ならびに識別子を保持
し、その後割り込み許可状態とし、当該割り込み許可状
態において割り込み要求が発生してタスクの待ちを解除
するシステムコールが呼び出された場合には、このシス
テムコールの処理中において当該待ちを解除するタスク
の優先順位を前記待ちタスク優先順位記憶領域に保持
し、前記タスクスケジューラ処理状態表示記憶領域の情
報が処理中であることを示している場合には、前記タス
ク優先順位記憶領域の優先順位と前記待ちタスク優先順
位記憶領域の優先順位とを前記タスク優先順位比較手段
を用いて比較し、前記待ちタスク優先順位記憶領域の保
持されている優先順位の方が高い場合には、前記タスク
識別子変更手段を用いて前記タスク識別子記憶領域に保
持されている識別子を前記待ちを解除するタスクの識別
子に変更し、割り込み処理から前記タスクスケジューラ
処理に戻った際に、割り込み禁止状態に設定して、前記
タスク識別子記憶領域に保持されているタスクに処理実
行権を遷移させることを特徴とするタスクスケジュール
方法。 1. A task schedule method applied to operation of a plurality of tasks in real-time operating system that manages the priority, task priority order storage area for holding information about the priority of the task, to the task identifier task identifier storage area for holding information, and wait release task priority storage area and the data <br/> task scheduler process status storage area for holding information about the disk scheduler process status holding information about the wait release task priority and including at least a storage unit, said task priority storage area and means for changing the information stored in the wait release task priority storage area, means for changing the information stored in the task identifier storage area, the task scheduler Stored in the processing status display storage area Corresponding to the means and <br/> task priority comparing means to change the distribution system including at least includes a control unit, at the time the task scheduler process, by changing means of the task scheduler processing status storage area, wherein task scheduler process status storage area stores information indicating that the task scheduler is being processed, the changing means and changing means of said task identifier storage area of the task priority storage area, the task priority
The execution status is stored in the storage area and the task identifier storage area.
Holds the priority and identifier of the task to be transitioned to the state
And, an interrupt enable state after them, the interrupt enable shape
State, an interrupt request occurs and the task wait is released
If a system call to
Task that releases the wait while processing the system call
Holds the priority of each in the waiting task priority storage area
Information in the task scheduler processing status display storage area.
If the message indicates that the
Priority priority of storage area and priority of waiting task
Means for comparing the priority of the storage area with the task priority
, The waiting task priority storage area is saved.
If the priority held is higher, the task
It is stored in the task identifier storage area by using the identifier changing means.
Identifying the held identifier of the task that releases the wait
Change to child, interrupt process from the task scheduler
A task scheduling method, characterized in that when the process returns to the process, the interrupt-disabled state is set and the process execution right is transferred to the task held in the task identifier storage area.
のタスクの優先順位および状態を調べて前記実行状態に
遷移させるタスクを選択する処理と、前記複数のタスク
の中に前記実行状態に遷移させるタスクが存在しない場
合に割り込み許可状態とする処理を含むことを特徴とす
る請求項1記載のタスクスケジュール方法。2. The task scheduler process includes the plurality of processes.
Check the task priority and status of
Process of selecting a task to be transitioned and the plurality of tasks
If there is no task to transition to the execution state in
It is characterized by including processing to enable interrupts when
Task scheduling method of claim 1, wherein that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22781194A JP2693916B2 (en) | 1994-09-22 | 1994-09-22 | Task scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22781194A JP2693916B2 (en) | 1994-09-22 | 1994-09-22 | Task scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0895803A JPH0895803A (en) | 1996-04-12 |
JP2693916B2 true JP2693916B2 (en) | 1997-12-24 |
Family
ID=16866757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22781194A Expired - Fee Related JP2693916B2 (en) | 1994-09-22 | 1994-09-22 | Task scheduling method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2693916B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100298212B1 (en) * | 1997-12-17 | 2001-08-07 | 이계철 | A Real-time task scheduling method solving the priority reversal |
KR100384339B1 (en) * | 2000-04-21 | 2003-05-16 | 주식회사 아이네스테크 | method for scheduling a task |
KR100487543B1 (en) * | 2000-09-01 | 2005-05-03 | 엘지전자 주식회사 | Cpu scheduling method |
JP4668556B2 (en) * | 2004-07-02 | 2011-04-13 | 株式会社エヌ・ティ・ティ・ドコモ | Task management system |
KR100714710B1 (en) * | 2006-02-22 | 2007-05-04 | 삼성전자주식회사 | Apparatus and method for forcibly terminating a thread blocked by an I / O operation |
-
1994
- 1994-09-22 JP JP22781194A patent/JP2693916B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0895803A (en) | 1996-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
JP3746798B2 (en) | Preemptive multi-tasking method and data processing system having cooperative task groups | |
US7721286B2 (en) | Preemptive multi-tasking with cooperative groups of tasks | |
JP2692609B2 (en) | Multitask program debugging method and apparatus | |
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
JPH05189251A (en) | Multitasking operating system and operating method for this computer | |
JP3113841B2 (en) | Parallel transaction processing system | |
JPH06250853A (en) | Management method and system for process scheduling | |
JP2693916B2 (en) | Task scheduling method | |
JP2008537248A (en) | Perform multitasking on a digital signal processor | |
JP3245500B2 (en) | Event management method in multi-programming | |
JP3644042B2 (en) | Multitask processing device | |
JP2636722B2 (en) | Multitask execution management method | |
JPH05108380A (en) | Data processing system | |
CN118519683B (en) | A method and system for operating an embedded hybrid kernel supporting hard real-time | |
JPH09160790A (en) | Task schedule device and task schedule method | |
JPH0778091A (en) | Multitask managing method | |
JP2903525B2 (en) | Job management method | |
JPH01216432A (en) | Multitask system | |
JPH03188531A (en) | Time-division multitask executing device | |
JPH06187175A (en) | Exclusion control method for multi-task computing system | |
JPH09311794A (en) | Kernel service system in operating system | |
JPH0460842A (en) | Computer system | |
JPH0376497B2 (en) | ||
JPH10247161A (en) | Memory management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970325 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970805 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 13 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 13 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |