JPH0895803A - Task scheduling method - Google Patents
Task scheduling methodInfo
- Publication number
- JPH0895803A JPH0895803A JP22781194A JP22781194A JPH0895803A JP H0895803 A JPH0895803 A JP H0895803A JP 22781194 A JP22781194 A JP 22781194A JP 22781194 A JP22781194 A JP 22781194A JP H0895803 A JPH0895803 A JP H0895803A
- Authority
- JP
- Japan
- Prior art keywords
- task
- storage area
- priority
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 41
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 238000004904 shortening Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 230000007704 transition Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Abstract
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]
【課題を解決するための手段】本発明のタイムスケジュ
ール方法は、タスクの動作を優先順位により管理するR
TOSに適用されるタスクスケジュール方法において、
タスクの優先順位に関する情報を保持するタスク優先順
位記憶領域と、タスク識別子に関する情報を保持するタ
スク識別子記憶領域と、待ち解除タスク優先順位に関す
る情報を保持する待ち解除タスク優先順位記憶領域と、
タスクスケジューラ処理状態表示に関する情報を保持す
るタスクスケジューラ処理状態表示記憶領域とを少なく
とも含む記憶部と、前記タスク優先順位記憶領域ならび
に前記待ち解除タスク優先順位記憶領域に保持される情
報を変更制御するタスク優先順位記憶領域変更手段と、
タスク識別子記憶領域に保持される情報を変更制御する
タスク識別子記憶領域変更手段と、前記タスクスケジュ
ーラ処理状態表示記憶領域に保持される情報を変更制御
するタスクスケジューラ処理状態表示記憶領域変更手段
と、タスク優先順位比較手段とを少なくとも含む制御部
とを備えるシステムに対応して、タスクスケジューラ処
理時において、前記タスクスケジューラ処理状態表示記
憶領域変更手段により、前記タスクスケジューラ処理状
態表示記憶領域に保持される情報を、タスクスケジュー
ラが処理中であることを示すように変更し、前記タスク
優先順位記憶領域ならびに前記タスク識別子記憶領域に
対して、それぞれ前記タスク優先順位記憶領域変更手段
ならびに前記タスク識別子記憶領域変更手段により、実
行状態に遷移させるタスクの優先順位ならびに識別子を
保持させた後に割り込み許可状態に設定し、然る後に、
割り込み禁止状態に設定して、前記タスク識別子記憶領
域に保持されているタスクに処理実行権を遷移させるこ
とを特徴としている。In the time scheduling method of the present invention, the operation of tasks is managed by priority order R
In the task scheduling method applied to TOS,
A task priority storage area for holding information on task priority, a task identifier storage area for holding information on task identifier, a wait release task priority storage area for holding information on wait release task priority,
A storage unit including at least a task scheduler processing status display storage area for holding information related to task scheduler processing status display, and a task for changing and controlling information held in the task priority storage area and the wait release task priority storage area. A priority storage area changing means,
Task identifier storage area changing means for changing control of information held in the task identifier storage area; task scheduler processing state display storage area changing means for changing control of information held in the task scheduler processing state display storage area; Information retained in the task scheduler processing state display storage area by the task scheduler processing state display storage area changing means during task scheduler processing, corresponding to a system including a control unit including at least priority comparison means. To indicate that the task scheduler is in process, and the task priority storage area changing means and the task identifier storage area changing means respectively with respect to the task priority storage area and the task identifier storage area. To the running state Set interrupt enable state after the priority and the identifier of the task is held, thereafter,
It is characterized in that the process execution right is transited to the task held in the task identifier storage area by setting the interrupt disabled state.
【0015】なお、前記タスクスケジューラ処理時にお
いて、割り込み許可状態に設定された際に新たに割り込
み要求が発生し、当該割り込み処理から所定のシステム
コール処理が呼び出されて指定されたタスクの待ちを解
除する際には、当該待ちを解除するタスクの優先順位を
前記待ちタスク優先順位記憶領域に保持しておき、前記
システムコール処理中において、前記タスク優先順位記
憶領域の優先順位と、前記待ちタスク優先順位記憶領域
の優先順位とを、前記タスク優先順位比較手段も用いて
比較し、前記待ちタスク優先順位記憶領域の保持されて
いる優先順位の方が順位が高い場合には、前記タスク識
別子変更手段を用いて、前記タスク識別子記憶領域に保
持されている識別子を、待ちを解除するシステムコール
処理を発行する際に指定されたタスク識別子に変更し、
割り込み処理から前記タスクスケジューラ処理に戻った
際に、当該タスクスケジューラ処理においては、タスク
識別子記憶領域に保持されているタスクに処理実行権を
遷移させるようにする。During the task scheduler process, a new interrupt request is generated when the interrupt enabled state is set, and a predetermined system call process is called from the interrupt process to release the wait for the specified task. In this case, the priority of the task to be released from the waiting state is held in the waiting task priority storage area, and the priority of the task priority storage area and the waiting task priority are held during the system call processing. The priority of the priority storage area is also compared using the task priority comparison means, and if the priority held in the waiting task priority storage area is higher, the task identifier changing means When issuing a system call process that releases the wait for the identifier held in the task identifier storage area Change to the specified task identifier,
When returning from the interrupt processing to the task scheduler processing, in the task scheduler processing, the processing execution right is transferred to the task held in the task identifier storage area.
【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. Includes at least task priority storage area means 109, task identifier storage area changing means 110 and task scheduler processing state display area changing means 111.
【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 Since C413 is in the execution state, it is assumed that it 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において、タスクスケジュ
ーラ処理状態表示領域変更手段111により、記憶部1
1内に存在しているタスクスケジューラ処理状態表示領
域104の情報が、スケジューラ処理中であることを示
す情報に変更される。次いで処理ステップ215におい
ては割り込み許可の処理が行われ、処理ステップ216
においてHALT処理が行われて、再度処理ステップ2
01に戻る。即ち、優先順位の高いタスクから、順次実
行可能であるか否かが判定されてゆき、このタスクを探
索してゆく過程において最初に捜し出されたタスクが選
択タスクとなる。本実施例においては、例としてタスク
スケジューラ処理により、実行可能状態のタスクの中で
一番優先順位の高いタスク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. If it is not executable, the process finally moves to the processing step 214, and in the processing step 214, the task scheduler processing state display area changing means 111 causes the storage unit 1
The information in the task scheduler processing status display area 104 existing within 1 is changed to information indicating that the scheduler processing is in progress. Next, in processing step 215, processing for permitting interruption is performed, and processing step 216
HALT processing is performed in the processing step 2 again.
Return to 01. 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. 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において選択されたタスクの識
別子に変更される。実行可能タスクを選択する処理ステ
ップ202においては、このようにして、選択されたタ
スクのタスク優先順位と識別子が変更される。なお、本
実施例においては、当該選択タスクがタスクBであるた
め、タスクBの優先度と識別子とがそれぞれ変更の対象
となり退避する状態となる。次いで、処理ステップ20
4においては割り込み処理が許可される。この処理ステ
ップ204において割り込み許可の状態になり、次の処
理ステップ204に移行する前のタイミングにおいて割
り込み要求が発生した場合、または処理ステップ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 the process step 202 of selecting an executable task, the task priority order and the identifier of the selected task are thus changed. 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. Then process step 20
In 4, the interrupt processing is permitted. In this processing step 204, when the interrupt is enabled and an interrupt request is generated at the timing before shifting to the next processing step 204, or in the processing step 204.
In the case where an interrupt occurs during the processing before entering the interrupt enable state, the interrupt processing 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.
【図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〜216、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 TROS管理データ 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-216, 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 TROS 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 scheduling method applied to a real-time operating system that manages the operation of tasks by priority, and holds a task priority storage area for holding information on task priorities and information on task identifiers. Task identifier storage area, and a wait release task priority storage area that retains information related to the wait release task priority,
A storage unit including at least a task scheduler processing status display storage area for holding information related to task scheduler processing status display, and a task for changing and controlling information held in the task priority storage area and the wait release task priority storage area. Priority storage area changing means, task identifier storage area changing means for changing and controlling information held in the task identifier storage area, and task scheduler processing state for changing and controlling information held in the task scheduler processing state display storage area Corresponding to a system including a display storage area changing unit and a control unit including at least a task priority comparing unit, the task scheduler processing state display storage area changing unit causes the task scheduler processing to be performed during the task scheduler processing. Status display memory area The information held in the task scheduler is changed so as to indicate that the task scheduler is processing the task priority storage area and the task identifier storage area, and the task priority storage area changing unit and the task By the identifier storage area changing means, the priority and the identifier of the task to be transited to the execution state are held, then the interrupt enabled state is set, and then the interrupt disabled state is set and held in the task identifier storage area. A task scheduling method characterized in that the process execution right is transferred to the existing task.
て、割り込み許可状態に設定された際に新たに割り込み
要求が発生し、当該割り込み処理から所定のシステムコ
ール処理が呼び出されて指定されたタスクの待ちを解除
する際には、当該待ちを解除するタスクの優先順位を前
記待ちタスク優先順位記憶領域に保持しておき、 前記システムコール処理中において、前記タスク優先順
位記憶領域の優先順位と、前記待ちタスク優先順位記憶
領域の優先順位とを、前記タスク優先順位比較手段を用
いて比較し、 前記待ちタスク優先順位記憶領域の保持されている優先
順位の方が順位が高い場合には、前記タスク識別子変更
手段を用いて、前記タスク識別子記憶領域に保持されて
いる識別子を、待ちを解除するシステムコール処理を発
行する際に指定されたタスク識別子に変更し、 割り込み処理から前記タスクスケジューラ処理に戻った
際に、当該タスクスケジューラ処理においては、タスク
識別子記憶領域に保持されているタスクに処理実行権を
遷移させる請求項1記載のタスクスケジュール方法。2. During the task scheduler process, a new interrupt request is generated when the interrupt enabled state is set, and a predetermined system call process is called from the interrupt process to release the wait for the specified task. In this case, the priority of the task to be released from the waiting state is held in the waiting task priority storage area, and the priority of the task priority storage area and the waiting task priority are maintained during the system call processing. The priority of the priority storage area is compared using the task priority comparison means, and if the priority held in the waiting task priority storage area is higher, the task identifier changing means To specify the identifier held in the task identifier storage area when issuing the system call process for releasing the wait. 2. The task execution right is changed to the task held in the task identifier storage area in the task scheduler process when the task scheduler process is changed to the specified task identifier and returned from the interrupt process to the task scheduler process. How to schedule tasks.
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 true JPH0895803A (en) | 1996-04-12 |
JP2693916B2 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) |
Cited By (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 |
JP2007226799A (en) * | 2006-02-22 | 2007-09-06 | Samsung Electronics Co Ltd | Apparatus for forcibly terminating thread blocked on input/output operation and method for the same |
CN100362476C (en) * | 2004-07-02 | 2008-01-16 | 株式会社Ntt都科摩 | Task management system |
-
1994
- 1994-09-22 JP JP22781194A patent/JP2693916B2/en not_active Expired - Fee Related
Cited By (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 |
CN100362476C (en) * | 2004-07-02 | 2008-01-16 | 株式会社Ntt都科摩 | Task management system |
JP2007226799A (en) * | 2006-02-22 | 2007-09-06 | Samsung Electronics Co Ltd | Apparatus for forcibly terminating thread blocked on input/output operation and method for the same |
Also Published As
Publication number | Publication date |
---|---|
JP2693916B2 (en) | 1997-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
Hoare | Monitors: An operating system structuring concept | |
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
JP2692609B2 (en) | Multitask program debugging method and apparatus | |
US6769121B1 (en) | Program execution device and process migrating method thereof and storage medium which stores process migration control program | |
JP3113841B2 (en) | Parallel transaction processing system | |
JP2693916B2 (en) | Task scheduling method | |
JP3245500B2 (en) | Event management method in multi-programming | |
JP3644042B2 (en) | Multitask processing device | |
JP2008537248A (en) | Perform multitasking on a digital signal processor | |
JPH08297581A (en) | Interruption management system of real-time operating system | |
JPH05108380A (en) | Data processing system | |
JPH07191863A (en) | Multitask execution managing system | |
CN118519683B (en) | A method and system for operating an embedded hybrid kernel supporting hard real-time | |
JPH09160790A (en) | Device and method for task schedule | |
JPH0778091A (en) | Multitask managing method | |
JP2002259136A (en) | Method for managing stack area, program and data processor | |
Silberschatz | On the synchronization mechanism of the ADA language | |
CN117453413A (en) | Resource application method, device, electronic equipment and storage medium | |
JP2000132409A (en) | Stack sharing system for task having no wait state | |
JPH01216432A (en) | Multitask system | |
JPH03188531A (en) | Time-division multitask executing device | |
Hoare et al. | THE LINUX OPERATING SYSTEM: AN INTRODUCTION | |
JPH06187175A (en) | Exclusion control method for multi-task computing system | |
JPH0424828A (en) | Multi-task control 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 |