JP2000047885A - タスク管理方法 - Google Patents

タスク管理方法

Info

Publication number
JP2000047885A
JP2000047885A JP10219078A JP21907898A JP2000047885A JP 2000047885 A JP2000047885 A JP 2000047885A JP 10219078 A JP10219078 A JP 10219078A JP 21907898 A JP21907898 A JP 21907898A JP 2000047885 A JP2000047885 A JP 2000047885A
Authority
JP
Japan
Prior art keywords
task
cycle
processing time
processing
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10219078A
Other languages
English (en)
Inventor
Mutsumi Abe
睦 阿部
Junko Shimano
淳子 嶋野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ultra High Speed Network and Computer Technology Laboratories
Original Assignee
Ultra High Speed Network and Computer Technology Laboratories
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ultra High Speed Network and Computer Technology Laboratories filed Critical Ultra High Speed Network and Computer Technology Laboratories
Priority to JP10219078A priority Critical patent/JP2000047885A/ja
Publication of JP2000047885A publication Critical patent/JP2000047885A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 サービス品質が要求されるアプリケーション
が必要とする、アプリケーションとは独立した入出力処
理に対してサービス品質の制御を実現する。 【解決手段】 アプリケーションの中で入出力処理が必
要なタスクのサービス品質設定要求時に、そのタスク必
要とする入出力処理を行う入出力タスクに対しても、必
要なサービス品質設定を適応し、タスクの管理と実行制
御を行うことでサービス品質の制御を実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、タスク管理方法に
関し、特にタスクの実行を制御することでアプリケーシ
ョンのサービス品質を制御するタスク管理方法に関する
ものである。
【0002】
【従来の技術】一般に、動画や音声などのリアルタイム
情報を送受信する通信端末では、これら情報の受信、表
示、送信などのタスクをリアルタイムで実行する必要が
あり、このような通信端末では、マルチタスクシステム
を用いてこれら多数のタスクを実行することにより、各
種アプリケーションを提供するものとなっている。した
がって、このようなマルチタスクシステムでは、所定周
期ごとに所定処理時間をそれぞれ確実に各タスクに対し
て割り当てて実行することにより、アプリケーションの
サービス品質を制御する必要がある。
【0003】従来、タスクの実行を制御することでアプ
リケーションのサービス品質を制御するタスク管理方法
として、周期的な実行および実行時からの遅延保証が必
要なタスクを実行するマルチタスクシステムが提案され
ている(例えば、特願平8−333667号など参
照)。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のタスク管理方法は、アプリケーションを構成
するタスクのみを対象とし、これらタスクのみを制御す
ることでサービス品質を制御しているため、サービス品
質を制御しようとするアプリケーションの負荷が重い場
合は、その分、入出力処理を担当するタスクの実行が阻
害され、サービス品質を制御しようとするアプリケーシ
ョンに対する入出力処理も滞り、結果としてアプリケー
ションに対するサービス品質の制御が無駄になってしま
うという問題点があった。
【0005】通常、キーボードからのキー入力やマウス
のようなポインティングデバイスからのマウスの位置情
報処理、画面への文字画像表示やマルチウィンドウの表
示処理など、各種入出力装置を制御するための処理は、
アプリケーションのタスクとは独立に別個の出力力タス
クで行われている。したがって、これら入出力処理タス
クが他のタスクにより阻害された場合は、アプリケーシ
ョンの入出力処理も滞ってしまうからである。本発明は
このような課題を解決するためのものであり、入出力処
理が必要なアプリケーションに対しても的確にサービス
品質の制御を行うことができるタスク管理方法を提供す
ることを目的としている。
【0006】
【課題を解決するための手段】このような目的を達成す
るために、本発明によるタスク管理方法は、マルチタス
クシステムで実行される各タスクごとに設定されたタス
クを実行する周期と、その1周期内でタスク実行に使用
可能な処理時間とに基づいて各タスクの実行制御を行う
ことにより、各種タスクから構成されるアプリケーショ
ンのサービス品質を制御するタスク管理方法において、
サービス品質制御を必要とするタスクから構成されるア
プリケーションを実行する場合は、任意の入出力装置を
制御する入出力処理タスクであって、かつそのアプリケ
ーションが必要とする入出力処理タスクに対しても、そ
のアプリケーションが必要とするサービス品質に対応し
た実行制御を行うようにしたものである。
【0007】より詳細には、任意の周期および処理時間
を有する新規タスクであって、かつ任意の入出力装置を
制御する入出力処理タスクが必要な新規タスクの登録が
要求された場合は、その新規タスクの周期および処理時
間と、その新規タスクが必要とする入出力処理タスクの
周期および処理時間と、すでに管理テーブルに登録され
ている各タスクの周期および処理時間とから、新規タス
クおよびその新規タスクが必要とする入出力処理タスク
の実行制御が可能か否か判断する。そして、実行制御可
能であれば、タスク管理テーブルに所定周期ごとに所定
処理時間の割当が行なわれるサービス品質制御対象タス
クとして登録し、タスク管理テーブルに登録されている
各サービス品質制御対象タスクを、それぞれの周期およ
び処理時間に基づいて実行制御するようにしたものであ
る。
【0008】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の第1の実施の形態となる
タスク管理方法に用いるマルチタスクシステムのブロッ
ク図である。マルチタスクシステム100は、CPU1
01、タイマ102、例えばハードディスク装置等の記
憶装置103、メモリ105、キーボードやマウスなど
の入力装置、ディスプレイなどの出力装置を備えてい
る。
【0009】これらCPU101、タイマ102、記憶
装置103、メモリ105、入力装置106、出力装置
107はバス104で接続されている。タイマ102
は、設定時間ごとにCPU101に割り込みをかける機
能を持ち、割り込みによって設定時間の経過をCPU1
01に通知することが可能である。
【0010】記憶装置103にはタスクプログラムなど
が記録されており、必要に応じてメモリ105に読み出
される。入力装置106に対する入力処理や出力装置1
07に対する出力処理を行うタスクも、同様にして記憶
装置103に記録されており、必要に応じてメモリ10
5に読み出されて実行される。
【0011】メモリ105上には、後述するタスク受付
処理をCPU101に実行させるためのタスク受付プロ
グラムが格納されるタスク受付部110と、タスクをC
PU101に実行させるためのタスク実行プログラムが
格納されるタスク実行部111とが設けられている。ま
た、メモリ105上には、マルチタスクシステムを実現
するのに必要なタスクの情報を記録するためのタスク管
理テーブル112があり、タスクの受付および実行の際
に使用される。
【0012】図2はタスク管理テーブル112の構成の
一例を示す図である。タスク管理テーブル112は管理
可能なタスク数分のタスク識別子201、タスク情報2
02、周期203、周期カウンタ204、処理時間20
5、処理時間カウンタ206の記憶領域から構成され
る。タスク識別子201は各タスクを区別するために用
いられるものである。タスク情報202は通常のマルチ
タスクシステムでタスク管理に必要な情報を格納するた
めのものである。
【0013】タスク識別子201とタスク情報202
は、通常のマルチタスクシステムでもよく使用されるも
のである。周期203、周期カウンタ204、処理時間
205、処理時間カウンタ206は本発明で新たに設け
られるものである。周期203は、タスクに周期が設定
されたときの設定値を記録しておくためのものである。
【0014】周期カウンタ204は、周期と処理時間が
設定されたタスクを実行する際に、周期の経過時間を記
録するためのものである。処理時間205はタスクに処
理時間が設定されたときの設定値を記録しておくための
ものである。処理時間カウンタはタスクが実行された分
の時間を記録するためのものである。
【0015】以下、図3を参照して、本発明のタスク受
付処理について説明する。図3は本発明を用いた場合の
タスクに対して周期と処理時間の設定の受付を行う動作
の一例を示すフローチャートである。タスクに対する周
期と処理時間の受付処理は、タスク受付部110で行な
われる。
【0016】この受付処理は、タスクに対して予め設定
あるいはユーザから指定される周期と処理時間の設定要
求が発生すると開始される。その際、要求の対象となる
タスクが入出力処理を行うタスクの処理を必要とする場
合は、入出力処理を行うタスクに対する周期と処理時間
も指定する(ステップ301)。
【0017】次に、周期と処理時間をタスクに設定し
て、各タスクが設定された周期に処理時間を割当てられ
るかどうかを判断して、要求が受付けられるかどうか判
断を行う(ステップ302)。判断方法は、すでに周期
と処理時間が設定されたタスクと新たに設定が要求され
たタスクに対して、以下の条件を満たせば各タスクが周
期毎に処理時間の割当が可能と判断し、要求を受付け
る。
【0018】条件:n個(nは2以上の整数)のタスク
を周期の短い順に並び替え、i番目(iは1≦i<nと
なる整数)のタスクiの周期をFi、1周期当りの処理
時間をPiとし、XをYで割った余りをmod(X/
Y)と表した場合に、 mod(Fn/Fi)=0 のとき、Ri=Fn/Fi mod(Fn/Fi)≠0 のとき、Ri=Fn/Fi
+1 Fn−Pn>Σ(Ri×Pi) (但し、1≦i<n)
【0019】これは、タスクnの周期Fnにおけるタス
クnよりも短い周期のタスクiの実行回数Riと、その
タスクiの処理時間Piとの積(Ri×Pi)の総和
が、タスクnの周期Fnでの空き時間(Fn−Pn)よ
り短いという条件を示しており、この条件を満たすこと
で、全てのタスクが各タスクの周期内で処理時間を割り
当てることが可能となる。
【0020】要求が受付けられなかった場合は(ステッ
プ302:NO)、受付失敗として値を返し(ステップ
303)、終了する(ステップ308)。要求が受付け
られた場合は(ステップ302:YES)、さらに入出
力処理タスクが必要かを判定する(ステップ304)。
【0021】入出力処理が必要でなければ(ステップ3
04:NO)、要求が受付けられたタスクをタスク管理
テーブル112に登録する(ステップ306)。ここで
は、周期203に設定される周期、処理時間205に設
定される処理時間を記録し、周期カウンタ204と処理
時間カウンタ206を初期値にリセットする。そして、
受付成功として値を返し(ステップ307)、終了する
(ステップ308)。
【0022】また、ステップ304で入出力タスクが必
要と判定されれば(ステップ304:YES)、ステッ
プ301で入出力処理のタスクに対して指定された周期
と処理時間で、ステップ302と同様の処理により、入
出力処理タスクに対して指定された周期と処理時間が設
定可能か判断する(ステップ305)。そして、要求が
受付けられなかった場合は(ステップ305:NO)、
受付失敗として値を返し(ステップ303)、終了する
(ステップ308)。
【0023】一方、ステップ305で、要求が受付けら
れた場合は(ステップ305:YES)、前述したステ
ップ306に移行して、要求が受付けられたタスクと指
定された入出力処理タスクをタスク管理テーブル112
に登録する(ステップ306)。そして、受付成功とし
て値を返し(ステップ307)、終了する(ステップ3
08)。
【0024】このようにして、タスク管理テーブルに登
録されたタスクの実行は、タスク切り換え時に周期の短
いタスクからチェックされ、周期の開始時間となったタ
スクが見つかればそのタスクを処理時間が消費されるま
で実行する。ここで、タスクの実行中にそのタスクより
周期の短いタスクの周期の開始時間となった場合、タス
クの実行を中断し周期の短いタスクを実行する。
【0025】周期と処理時間が設定されたすべてのタス
クが処理時間を消費してしまった場合は、次の周期の開
始時間まで通常のタスクが実行される。このように、周
期および処理時間が設定されるタスクの実行受付、管
理、および実行を行うことにより、タスクのサービス品
質制御が正確に実行される。
【0026】図4は本発明を用いた場合のタスク切り換
え時の処理動作の一例を示すフローチャートである。な
お、タスク受付処理(図3参照)で受付けられたタス
ク、および入出力処理タスクは、区別無くタスクとして
扱われる。
【0027】タスクの切り換えは、そのマルチタスクシ
ステムのタスク切り換え単位時間ごと、あるいはタスク
の終了時などに実行される(ステップ401)。まず、
前回から経過した時間を元に、周期と処理時間が設定さ
れているすべてのタスクの周期カウンタ204を更新す
る。そして、直前まで実行していたタスクが周期と処理
時間が設定されているタスクであれば、そのタスクの処
理時間カウンタを更新する。
【0028】ここで、周期カウンタ204が周期203
に到達したタスクがあれば、そのタスクの周期カウンタ
204と処理時間カウンタ206をリセットする(ステ
ップ402)。次に、動作可能な周期と処理時間が設定
されたタスクがあるかを検出する(ステップ403)。
この場合、周期の短いタスクから調べていき、処理時間
カウンタ206が処理時間205より小さいタスクが見
つかった場合、そのタスクを次に動作するタスクとす
る。
【0029】処理時間カウンタ206が処理時間205
より小さいタスクが見つからなかった場合は、周期と処
理時間が設定されたタスクで次に動作するタスクは無い
ものとする。ステップ403において、次に動作するタ
スクがあった場合は(ステップ403:YES)、その
タスクヘのタスクの切り換えを行い(ステップ40
4)、タスクの切り換えを終了する(ステップ40
6)。
【0030】一方、次に動作するタスクがない場合は
(ステップ403:NO)、周期と処理時間を設定され
たタスク以外のタスクの実行のために既存のタスク切り
換え処理を行い(ステップ405)、タスクの切り換え
処理を終了する(ステップ406)。以上により、マル
チタスクシステムにおいて周期と処理時間が設定された
タスクと入出力処理タスクに対し、1周期内に確実に処
理時間の割当が可能となり、入出力処理が必要とされる
タスクのサービス品質の制御が可能となる。
【0031】
【発明の効果】以上説明したように、本発明は、サービ
ス品質制御を必要とするタスクから構成されるアプリケ
ーションを実行する場合は、任意の入出力装置を制御す
る入出力処理タスクであって、かつそのアプリケーショ
ンが必要とする入出力処理タスクに対しても、そのアプ
リケーションが必要とするサービス品質に対応した実行
制御を行うようにしたので、入出力処理が必要なアプリ
ケーションに対しても的確にサービス品質の制御を行う
ことができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態によるマルチタスクシ
ステムのブロック図である。
【図2】 タスク管理テーブルの構成例を示す説明図で
ある。
【図3】 タスク受付処理例を示すフローチャートであ
る。
【図4】 タスク切り換え処理例を示すフローチャート
である。
【符号の説明】
110…マルチタスクシステム、101…CPU、10
2…タイマ。103…記録装置、104…バス、105
…メモリ、110…タスク受付部、111…タスク実行
部、112…タスク管理テーブル、201…タスク識別
子、202…タスク情報、203…周期、204…周期
カウンタ、205…処理時間、206…処理時間カウン
タ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 嶋野 淳子 東京都港区虎ノ門5丁目2番6号 株式会 社超高速ネットワーク・コンピュータ技術 研究所内 Fターム(参考) 5B014 FB03 5B098 AA05 GA04 GA07 GB02 GB14

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 マルチタスクシステムで実行される各タ
    スクごとに設定されたタスクを実行する周期と、その1
    周期内でタスク実行に使用可能な処理時間とに基づいて
    各タスクの実行制御を行うことにより、各種タスクから
    構成されるアプリケーションのサービス品質を制御する
    タスク管理方法において、 サービス品質制御を必要とするタスクから構成されるア
    プリケーションを実行する場合は、任意の入出力装置を
    制御する入出力処理タスクであって、かつそのアプリケ
    ーションが必要とする入出力処理タスクに対しても、そ
    のアプリケーションが必要とするサービス品質に対応し
    た実行制御を行うことを特徴としたタスク管理方法。
  2. 【請求項2】 マルチタスクシステムで実行される各タ
    スクごとに、そのタスクを実行する周期と、その1周期
    内でタスク実行に使用可能な処理時間とをタスク管理テ
    ーブルに登録し、この管理テーブルに登録されたそれぞ
    れの周期と処理時間に基づいて各タスクの実行制御を行
    うことにより、サービス品質制御を行うタスク管理方法
    において、 任意の周期および処理時間を有する新規タスクであっ
    て、かつ任意の入出力装置を制御する入出力処理タスク
    が必要な新規タスクの登録が要求された場合は、その新
    規タスクの周期および処理時間と、その新規タスクが必
    要とする入出力処理タスクの周期および処理時間と、す
    でに管理テーブルに登録されている各タスクの周期およ
    び処理時間とから、新規タスクおよびその新規タスクが
    必要とする入出力処理タスクの実行制御が可能か否か判
    断し、 実行制御可能であれば、タスク管理テーブルに所定周期
    ごとに所定処理時間の割当が行なわれるサービス品質制
    御対象タスクとして登録し、 タスク管理テーブルに登録されている各サービス品質制
    御対象タスクを、それぞれの周期および処理時間に基づ
    いて実行制御することを特徴とするタスク管理方法。
JP10219078A 1998-08-03 1998-08-03 タスク管理方法 Pending JP2000047885A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10219078A JP2000047885A (ja) 1998-08-03 1998-08-03 タスク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10219078A JP2000047885A (ja) 1998-08-03 1998-08-03 タスク管理方法

Publications (1)

Publication Number Publication Date
JP2000047885A true JP2000047885A (ja) 2000-02-18

Family

ID=16729925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10219078A Pending JP2000047885A (ja) 1998-08-03 1998-08-03 タスク管理方法

Country Status (1)

Country Link
JP (1) JP2000047885A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463357A (zh) * 2017-08-22 2017-12-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463357A (zh) * 2017-08-22 2017-12-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法
CN107463357B (zh) * 2017-08-22 2024-03-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法

Similar Documents

Publication Publication Date Title
EP1054322B1 (en) Computer system with multiple operating system operation
US5613114A (en) System and method for custom context switching
US8166480B2 (en) Reducing lock contention by adding a time slice to an active thread holding a lock
US7882488B2 (en) Software tool for synthesizing a real-time operating system
US20170357448A1 (en) Selective i/o prioritization by system process/thread
US20110083135A1 (en) Virtual computer systems and computer virtualization programs
US20110145832A1 (en) Techniques for allocating computing resources to applications in an embedded system
JP2013232207A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
US6601081B1 (en) Method and apparatus for context maintenance in windows
JPH07281908A (ja) 目標制御データを生成する作業負荷を管理する方法及び装置
JP2001265609A (ja) 演算処理装置
EP1426861A2 (en) Resource management system in user-space
US6148325A (en) Method and system for protecting shared code and data in a multitasking operating system
JPH11212810A (ja) タイム・クアンタム共有方法および装置
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法
EP1377903A2 (en) Method of and system for withdrawing budget from a blocking task
JP2001195268A (ja) サービスレベルによる資源割当方式
JP2000047885A (ja) タスク管理方法
JP2002099435A (ja) マルチタスク制御方法および情報処理装置
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
JP2000122883A (ja) タスク管理方法
JPH11175357A (ja) タスク管理方法
CN115509767B (zh) 一种服务进程的调用方法及相关装置
KR100401560B1 (ko) 운영체제의 커널 스택 동적 할당 방법
JPH1196025A (ja) データ処理方法、記録媒体及びデータ処理装置