JPH10228385A - リアルタイムos及びそのタスク管理方式 - Google Patents

リアルタイムos及びそのタスク管理方式

Info

Publication number
JPH10228385A
JPH10228385A JP9031930A JP3193097A JPH10228385A JP H10228385 A JPH10228385 A JP H10228385A JP 9031930 A JP9031930 A JP 9031930A JP 3193097 A JP3193097 A JP 3193097A JP H10228385 A JPH10228385 A JP H10228385A
Authority
JP
Japan
Prior art keywords
task
time
real
tasks
block
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
Application number
JP9031930A
Other languages
English (en)
Other versions
JP3037182B2 (ja
Inventor
Masako Akiyama
昌子 秋山
Yuji Fujiwara
雄治 藤原
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.)
NEC Corp
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC Corp
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC IC Microcomputer Systems Co Ltd filed Critical NEC Corp
Priority to JP9031930A priority Critical patent/JP3037182B2/ja
Priority to US09/024,139 priority patent/US6430594B1/en
Publication of JPH10228385A publication Critical patent/JPH10228385A/ja
Application granted granted Critical
Publication of JP3037182B2 publication Critical patent/JP3037182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 リアルタイムOSにおいて、タスクスイッチ
によるタスクの切り替えによって生じるオーバーヘッド
を少なくすると共に、タスク監視に要するリアルタイム
OSに加わる負荷を軽減することである。 【解決手段】 複数のタスクを各タスクに要するデッド
ライン時間を考慮して、ブロック化して、ブロックに帰
属しているタスク間の切り替えの際には、リアルタイム
OS上のタスクスイッチによらず、直接、タスクブロッ
クスケジューラによって、切り替えを行い、実質上、ブ
ロック内のタスクを単一のタスクとして取り扱う。実行
されているタスクとは異なるブロックに属するタスクの
実行開始の際にのみ、タスクスイッチによって、タスク
間の切り替えを行い、これによって、リアルタイムOS
のタスク管理に要する負荷を軽減する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のタスクを連
続的に、且つ、リアルタイムに実行することができ、こ
れによって、種々のデータを扱うマルチメディアシステ
ムに適したリアルタイムOS及びそのタスク管理方式、
並びに、当該リアルタイムOSにしたがってタスクを実
行するコンピュータ、リアルタイムOSを格納した記録
媒体に関する。
【0002】
【従来の技術】従来、この種、複数のタスクをリアルタ
イムに実行できるリアルタイムOSは、制御系システ
ム、コンピュータ等に使用されており、近年、これに対
する要求も高まる傾向にある。また、このリアルタイム
OSには、種々様々なデータ等を扱うマルチメディアシ
ステムに対応できることも要求されている。
【0003】これらマルチメディアシステムで扱われる
データとしては、音声データ、画像データ等があり、各
データを処理するプログラムは、互いに異なるサンプリ
ング周波数、フレームサイズ、及び、実行サイクル数を
有している場合が多い。このため、これらの各種データ
を処理するプログラムをタスクの形で一括して管理する
従来のOSでは、これらのタスクを効率よく、CPUに
割り当てることが必要である。
【0004】
【発明が解決しようとする課題】更に、従来使用されて
きたリアルタイムOSでは、各タスクにおける実行時間
に絶対的な制約がなかったため、リアルタイムOSへの
性能要求も、絶対的なものではなかった。しかしなが
ら、このような実行時間に絶対的な制約のないリアルタ
イムOSを上記したマルチメディアシステムに適用した
場合、互いに異なる実行時間をもち、且つ、時間的な制
約のあるタスクを高速に処理することはできないと言う
欠点がある。
【0005】また、特開平1−181130号公報(以
下、引用例1と呼ぶ)には、リアルタイムOSのタスク
起動方法として、システム管理テーブル上に、各タスク
の周期起動間隔と、タスク名とを登録しておき、登録さ
れたタスクの起動方法を判定すると共に、登録された周
期起動間隔毎に各タスクを起動することが開示されてい
る。
【0006】しかし、引用例1に示されたタスク起動方
法では、タスクの切り替えの度毎に、リアルタイムOS
にアクセスする必要があるため、タスクの切り替えを迅
速に行うことができず、従って、高速化の要求に応えら
れないと言う欠点は避けられない。
【0007】より具体的に言えば、タスクから他のタス
クの切り替えの際には、リアルタイムOSに於けるタス
クスイッチが使用されるが、タスクスイッチには、動作
上、オーバーヘッドが不可避的に伴ってしまう。従っ
て、周期的で、且つ、時間的制約の大きいタスクを複数
実行する場合、リアルタイムOSの占有時間が大きくな
って、各タスクがその実行終了すべき時間までに、終わ
らないと言う欠点がある。また、タスクスイッチによる
切り替えが頻発すると、タスク監視に要する時間が大き
くなって、各タスクに割り当てられる実行時間が減少し
てしまう。
【0008】本発明の目的は、マルチメディアシステム
に適用することができるリアルタイムOSを提供するこ
とである。
【0009】本発明の他の目的は、複数のタスク間の切
り替えを迅速に行うことができるリアルタイムOSを提
供することである。
【0010】本発明の更に他の目的は、異なる実行時
間、フレームサイズ、サンプリング周波数を有するタス
クをも、過不足なく処理できるリアルタイムOSを提供
することである。
【0011】本発明の他の目的は、上記したリアルタイ
ムOSにより動作するコンピュータ及びリアルタイムO
Sを格納した記録媒体を提供することである。
【0012】
【課題を解決するための手段】本発明の一実施の形態に
よれば、複数のタスクを、順次、且つ、リアルタイム
に、タスクスイッチを切り替えることにより実行できる
リアルタイムOSにおいて、前記複数のタスクを予め定
められた基準のもとに、タスクブロックとしてグループ
に分類しておき、同一の前記タスクブロックに属するタ
スク間の切り替えの際には、前記タスクスイッチを介す
ることなく、直接、タスクブロック内におけるタスクの
切り替えを行うとともに、前記タスクブロック内に属し
ないタスクへの切り替えの際にのみ、前記タスクスイッ
チにより、切り替えを行うリアルタイムOSが得られ
る。
【0013】本発明の他の実施の形態によれば、前記タ
スクブロック内のタスクを選択するためのスケジューラ
が、各タスクブロック毎に、設けられており、且つ、前
記予め定められた基準は、各タスクの処理に要するデッ
ドライン時間、即ち、フレームサイズ及びサンプリング
周波数によって定められ、これによって、各タスクを同
一のタスクブロックに属するか否かを決定している。
【0014】更に、本発明のもう一つの実施の形態によ
れば、上記したリアルタイムOSを含むコンピュータ、
又は、上記したリアルタイムOSを格納した記録媒体が
得られる。
【0015】本発明の更に他の実施の形態によれば、複
数のタスクをリアルタイムに、順次、実行できるリアル
タイムOSに使用されるタスク管理方式において、前記
複数のタスクを予め定められた基準のもとに、タスクブ
ロックとしてグループに分類しておき、タスクブロック
単位で、リアルタイムOSのタスクスイッチに対するア
クセスを管理することを特徴とするタスク管理方式が得
られる。
【0016】
【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態に係るリアルタイムOSを説明する。
【0017】図1を参照して、本発明の概念的な構成を
説明する。図示されたリアルタイムOSは、OSカーネ
ル部分と、タイマー割込を受け付けるインターバルタイ
マー処理部、及び、タスクブロックスケジューラ部とを
備えており、タスクブロックスケジューラ部では、タス
クブロックA−Xのスケジュールを管理している。図示
されている様に、各タスクブロックA−Xは、それぞれ
グループ化されたタスクを含んでおり、この例では、タ
スクブロックAに、タスクa1−a2が帰属しているも
のとする。同様に、他のタスクブロックにも、それぞれ
タスクb1−b2等が帰属している。
【0018】グループ化されたタスクは、後述する様
に、互いに類似した属性、即ち、グループ化基準を有し
ており、これらの属性の類似性に基づいて、各グループ
に分類されている。ここで、本発明に係るリアルタイム
OSは、各タスクブロックA−X間のスケジュール間の
切り替えだけを管理しているだけで、各タスクブロック
内に於けるタスクの切り替えについて管理しない。この
関係で、タスクブロックA−X内には、各タスクブロッ
ク内のタスクを管理するタスクスケジューラ部がそれぞ
れ設けられている。
【0019】この構成では、タスクブロック内における
タスクの切り替えの際には、リアルタイムOSまでアク
セスされることなく、各タスクブロック内のタスクブロ
ックスケジューラの制御のもとに、切り替えが行われ、
異なるタスクブロックのタスクに切り替えられる場合に
のみ、リアルタイムOSがアクセスされ、タスクスイッ
チによってタスクの切り替えが行われることになる。し
たがって、図示された構成においては、リアルタイムO
Sにおけるタスクスイッチによる切り替え頻度が少なく
なり、リアルタイムOSに加わる負担を大幅に軽減でき
る。
【0020】図2を参照して、本発明のリアルタイムO
Sによるタスク管理動作をより具体的に説明する。図2
では、リアルタイムOSによって処理されるプログラム
として、6つのプログラムA、B、C、D、E、及びF
が、存在する場合について、これらプログラムのグルー
プ化について説明する。
【0021】原則的に言えば、同時に実行する複数のプ
ログラム間でタスクスイッチを使用しなくても、各プロ
グラムの処理に必要なデッドライン時間を越えることが
なければ、グループ化、即ち、ブロック化することがで
きる。
【0022】ここで、デッドラインの時間は、フレーム
サイズと、サンプリング周波数(即ち、サンプリング周
期)とによって定まり、これらフレームサイズ及びサン
プリング周波数(サンプリング周期)は、プログラム実
行に許される時間枠及びプログラムの実行周期とをそれ
ぞれ意味している。例えば、フレームサイズが2で、サ
ンプリング周波数が22.05KHz(即ち、44μ
秒)の場合、88μ秒がデッドライン時間となる。換言
すれば、当該プログラムに係る処理がこのデッドライン
時間内に終了すればよい。
【0023】更に、各サンプリング周期毎に実行される
プログラムの実行開始から終了までの占有時間をも考慮
しておく必要があり、この占有時間は、個々に、リアル
タイムOSにデータとして与えるものではなく、設計者
が認識して置くべきものであり、このことは、本発明に
限らず、リアルタイム性の要求されるシステムでは必ず
設計者によって認識されているものである。
【0024】図2に示されている様に、プログラムAは
フレームサイズ4、サンプリング周波数44.1KHz
(22μ秒)、デッドライン時間88μ秒、占有時間1
1μ秒であり、プログラムBはフレームサイズ4、サン
プリング周波数44.1KHz(22μ秒)、デッドラ
イン時間88μ秒、占有時間44μ秒である。同様に、
プログラムCは、フレームサイズ4、サンプリング周波
数22.05KHz(44μ秒)、デッドライン時間1
76μ秒、占有時間33μ秒であり、プログラムDは、
フレームサイズ4、サンプリング周波数22.05KH
z(44μ秒)、デッドライン時間176μ秒、占有時
間66μ秒である。更に、プログラムDは、フレームサ
イズ4、サンプリング周波数22.05KHz(44μ
秒)、デッドライン時間176μ秒、占有時間66μ秒
であり、プログラムEは、フレームサイズ8、サンプリ
ング周波数44.1KHz(22μ秒)、デッドライン
時間176μ秒、占有時間66μ秒であり、プログラム
Fは、サンプリング周波数44.1KHz(22μ
秒)、デッドライン時間352μ秒、占有時間110μ
秒である。
【0025】これらプログラムA、B、C、D、E、及
びFのうち、プログラムA、B、及びCのタスクがグル
ープ化される場合について図3を参照して検討する。こ
こで、プログラムA、B、及びCのタスクがこの順序で
実行されるものとすると、図2からも明らかなように、
プログラムA及びBのデッドライン時間は、88μ秒で
あり、他方、プログラムCのタスクのデッドライン時間
は、176μ秒であるから、これらのデッドライン時間
内に、各プログラムの占有時間で定められた処理を行う
ことができれば、これらのプログラムA、B、及びCは
単一のタスクブロックとして、グループ化することがで
きる。
【0026】図3には、サンプリング周波数44.1K
Hz(22μ秒)を基準時間単位(1)として、各プログ
ラムのタスクの処理時間が示されている。図3に示され
ているように、プログラムAとBについては、両者のデ
ッドライン時間である88μ秒、即ち、4単位時間の間
に、占有時間11及び44μ秒の処理が行われる。更
に、この4単位時間内には、プログラムCに関わる占有
時間33マイクロ秒のタスクを行うことができる。した
がって、プログラムCに定められたデッドライン時間1
76μ秒内に、プログラムCのタスクをも実行できる。
次の88−176μ秒の4−8単位期間内の4単位時間
内には、プログラムA及びBのタスクだけが実行され、
プログラムCのタスクは実行されていない。このこと
は、プログラムA及びBに定められたデッドライン時間
内に、これらプログラムA及びBのタスクが実行される
ことを意味している。他方、プログラムCのタスクは、
176μ秒から264μ秒の8−12単位時間内の4単
位時間内に、実行されているから、プログラムCに定め
られたデッドライン時間176μ秒内に、プログラムC
も実行されていることが分かる。
【0027】したがって、これらプログラムA−Cのタ
スクは、同一のタスクブロック内のタスクとしてグルー
プ化できる。
【0028】図4には、同様な手法により、プログラム
A、B、及びDが、同一のタスクブロックとして、グル
ープ化できることが示されている。また、図2示された
プログラムA、B、及びEも同様にして同一のタスクブ
ロックにグループ化できる。
【0029】他方、プログラムA及びBに対して、プロ
グラムFのように、デッドライン時間が長く、且つ、占
有時間も長いプログラムを同一のタスクブロック内に、
グループ化することは、プログラムFに係るタスクの占
有時間内に、他のプログラムA及びBのデッドライン時
間を越えることになってしまうため、これらのプログラ
ムA、B、及びFのタスクを同一のタスクブロックとし
て扱うことは困難である。このことは、リアルタイムO
Sのタスクスイッチを使用しないで、プログラムFに対
する切り替えを行うことは、好ましくないことを示して
いる。
【0030】図5を参照すると、プログラムA及びBを
タスクブロック1としてグループ化する一方、タスクF
を別のタスクブロック2としてグループ化されている。
この構成により、これら3つのプログラムのタスクをリ
アルタイムに実行できる。より具体的に言えば、同一の
タスクブロック1に属するプログラムA及びBのタスク
は、図3及び図4と同様に、リアルタイムOSのタスク
スイッチを介することなく、両プログラムA及びBのタ
スクに定められたデッドライン時間内に実行できる。他
方、両プログラムA及びBと異なるタスクブロック2に
属するプログラムFへタスクブロック1から切り替える
時には、リアルタイムOSのタスクスイッチにより、切
り替えが行われ、また、プログラムFのタスクの実行
中、プログラムA及びBのデッドライン時間になると、
タスクブロック1への切り替えが、タスクスイッチの制
御のもとに行われることになる。
【0031】図示された例では、プログラムBのタスク
が終了する度毎に、プログラムFにタスクスイッチによ
り切り替えられ、プログラムA及びBのデッドライン時
間だけ、例えば、33μ秒だけ実行された後、再度、タ
スクスイッチにより、プログラムAに切り替えられる。
以後、同様にして、プログラムFは、プログラムA及び
Bに定められたデッドライン時間の残存時間に、時分割
的に、実行し、最終的には、プログラムFに定められた
デッドライン時間352μ秒内に、110μ秒の占有時
間、プログラムFのタスクを処理する。
【0032】このように、タスクブロック間の切り替え
の際にのみ、タスクスイッチを使用することにより、タ
スクスイッチの動作に要する時間を短縮できると共に、
リアルタイムOSに加わる負荷を軽減できる。
【0033】一方、従来技術のように、プログラムA−
Fをタスクブロックに分けず、各プログラムのタスクの
終了、或いは、割込の際に、全て、リアルタイムOSの
タスクスイッチを利用する場合、例えば、図5におい
て、プログラムAからプログラムBへの切り替えの際、
プログラムBからプログラムFへの切り替えの際、及
び、プログラムFからプログラムAへの切り替えの際、
全てに、リアルタイムOSのタスクスイッチを使用した
場合、タスクスイッチによる切り替え動作時間だけ、各
プログラムのタスク処理時間は、遅れることになり、最
終的には、プログラムFを当該プログラムのデッドライ
ン時間中に処理できなくなってしまう。したがって、リ
アルタイムOSのタスクスイッチだけに頼って、タスク
の切り替えを行うことは、種々のプログラムの混在が予
測されるマルチメディアには、対処できないことが推測
される。
【0034】図6を参照すると、図2−5の動作を行う
本発明の一実施の形態に係るリアルタイムOSを説明す
るためのブロック図が示されている。
【0035】図示されたリアルタイムOSは、その単位
処理動作によって特徴づけられるブロックによってあら
わされており、ここでは、インターバルタイマ割込を受
けて動作を行うインターバルタイマ処理部10、周期間
隔検出部11、待合登録部12、タスクスイッチ部1
3、カレントタスク判定部14、及び、タスクブロック
制御部15とを備えている。図示されたタスクブロック
制御部15は、当該タスクブロックに属するタスクの実
行開始をスケジュールするタスクブロックスケジューラ
16を有しており、タスクブロックスケジューラ部16
は、タスクブロック内のタスク17の動作を管理する。
また、図示された例では、間隔テーブル20、待合テー
ブル21、システム管理テーブル22、タスクコントロ
ールテーブル23とが設けられている。尚、上記した周
期間隔検出部11、待合登録部12、タスクスイッチ部
13、及び、カレントタスク判定部14は、カレントタ
スクの実行開始をコントロールするためのタスクスケジ
ューラーとして動作する。
【0036】ここで、間隔テーブル20は、各タスクの
実行開始時間を監視するテーブルであり、この間隔20
の内容は、インターバルタイマ割込の度毎に、インター
バルタイマ処理部10によって更新される。また、周期
間隔検出部11は、間隔テーブル20にアクセスして、
実行開始しなければならないテーブルを検索し、検索の
結果に基づいて、現在実行されているカレントタスク1
7を制御する。具体的に説明すれば、周期間隔検出部1
1における検索の結果、実行開始すべきタスクが存在し
なければ、現在実行されているカレントタスク17に戻
り、他方、間隔テーブル20に実行開始しなければなら
ないタスクが存在する場合、周期間隔検出部11は、実
行開始するタスクをカレントタスク判定部14に送出す
る。
【0037】カレントタスク判定部14では、当該タス
クの属するタスクブロックを判定し、そのタスクが現在
実行されているカレントタスクと同一のタスクブロック
に属している場合には、カレントタスク判定部14は、
タスクブロック制御部15に、次のタスクが同一のタス
クブロックに属していることを指示する。タスクブロッ
ク制御部15では、タスクブロックスケジューラ部16
により、現在実行されているカレントタスク17をカレ
ントタスク判定部14によって指示されたタスクに切り
替え、当該タスクを実行開始する。
【0038】一方、実行開始すべきタスクがカレントタ
スクと異なるタスクブロックに属していることが、カレ
ントタスク判定部14で判定された場合、当該実行開始
すべきタスクを待合登録部12により、待合テーブル2
1に当該実行開始すべきタスクを登録すると共に、タス
クスイッチ部13に、異なるタスクブロックに属するタ
スクの到来を指示する。タスクスイッチ部13では、待
合登録部12から指示を受けると、待合テーブル21に
アクセスして、当該待合テーブル21に登録されている
実行開始すべきタスクへ切り替えを行うよう、タスクブ
ロック制御部15に指示し、タスクブロック制御部15
では、他のタスクブロックのタスクに切り替えを行う。
【0039】この際、タスクスイッチ13は、システム
管理テーブル22のタスク情報の更新を行うと共に、タ
スクコントロールテーブル23を使って、タスクリソー
スの保存、復帰を行う。
【0040】上述したように、本発明では、複数のタス
ク17を各プログラムのデッドライン時間等を基準にし
て、単一のタスクブロックに纏められている。このた
め、異なるタスクブロックのタスクを実行開始する場合
にだけ、タスクスイッチ部13で待合テーブル21に登
録してある実行タスクへタスクスイッチ部13で切り替
えが行なわれることになり、リアルタイムOSによって
制御されるタスクスイッチ13の使用頻度は大幅に少な
くなり、結果として、リアルタイムOSに加わる負担を
大幅に軽減できる。
【0041】上記したように、全てのタスク17は、間
隔テーブル20にしたがって、実行開始されると共に、
各タスクブロック毎に、タスクスブロックスケジューラ
部16によって管理されている。
【0042】ここで、間隔テーブル20の内容につい
て、図7を参照して説明する。
【0043】図7では、n+1個のタスクブロック0−
nが存在し、且つ、各タスクブロックには、m+1個の
タスク0−mが存在している場合の間隔テーブル20の
構成が示されている。即ち、間隔テーブル20は、タス
クブロックに対応しn+1個のタスクブロック領域に分
けられており、更に、各タスクブロック領域はそれぞれ
m+1個のタスク領域に区分されている。各タスク領域
には、それぞれカレントフレームカウンタCC、第一の
フレームカウンタFC1、及び第二のフレームカウンタ
FC2が設けられている。この例の場合、カレントフレ
ームカウンタCCには、当該リアルタイムOSに設けら
れたタイマのクロック周波数と、対応するプログラムの
フレームサイズとの積とが、初期値として設定されてお
り、他方、第一のフレームカウンタFC1には、対応す
るプログラムのサンプリング周波数が設定されており、
第二のフレームカウンタFC2には、タイマのクロック
周波数と、フレームサイズの積がそれぞれ初期値として
設定されている。
【0044】例えば、図2に示されたプログラムAの場
合、カレントフレームカウンタCCに、44.100K
Hzのタイマクロック周波数と、フレームサイズ4との
積が設定されており、第一のフレームカウンタFC1に
は、44.100KHzのサンプリング周波数、及び、
第二のフレームカウンタFC2には、44.100KH
zのタイマクロック周波数と、フレームサイズ4との積
がそれぞれ設定されている。
【0045】ここで、間隔テーブル20に存在する全て
のカレントフレームカウンタCCの内容は、タイマクロ
ック周波数の間隔毎に、第一のフレームカウンタFC1
のカウント値にしたがって減算され、カレントフレーム
カウンタCCが0以下になった時点で、実行開始プログ
ラムであることが指示される。他方、カレントフレーム
CCの内容は、タスク終了時に、終了タスクに該当する
第二のフレームカウンタFC2のカウント値にしたがっ
て、順次カウントアップされ、デッドライン時間の監視
が行われる。
【0046】上記した間隔テーブル20の内容を監視す
る事により、図1乃至図5を参照して説明した動作を行
うことができる。
【0047】
【発明の効果】以上述べたように、本発明によれば、複
数のタスクをブロック化、又は、グループ化することに
より、グループ内のタスクの切り替えの際には、リアル
タイムOSのタスクスイッチを使用することなく、タス
クブロックを管理するブロックスケジューラにより、切
り替えることにより、複数のタスク実行に、タスクスイ
ッチによって生じるオーバーヘッドを大幅に改善できる
と共に、リアルタイムOSに加わる負荷を軽減できると
言う利点がある。また、本発明では、複数のタスクを含
むタスクブロック単位で、リアルタイムOSに対するア
クセスを管理できるため、リアルタイムOSに加わる負
担を軽減できる。
【図面の簡単な説明】
【図1】本発明に係るリアルタイムOSの概念を説明す
るための原理図である。
【図2】本発明に係るリアルタイムOSにより、実行さ
れるプログラムのパラメータを例示して説明するための
図である。
【図3】図2に示されたプログラムの内、単一ブロック
内に帰属させることができるプログラムの組み合わせの
一例をその動作と共に説明するためのタイムチャートで
ある。
【図4】図2に示されたプログラムの内、単一ブロック
内に帰属させることができるプログラムの組み合わせの
他の例をその動作と共に説明するためのタイムチャート
である。
【図5】図2に示されたプログラムの内、単一ブロック
内に帰属させることができるプログラムと、単一ブロッ
ク内に帰属させることのできないプログラムの組み合わ
せの例をその動作と共に説明するためのタイムチャート
である。
【図6】本発明の一実施の形態に係るリアルタイムOS
を説明するためのブロック図である。
【図7】図6の実施の形態に使用される間隔テーブルの
構成を説明するための図である。
【符号の説明】
10 インターバルタイマ
処理部 11 周期間隔検出部 12 待合登録部 13 タスクスイッチ部 14 カレントタスク判定
部 15 タスクブロック制御
部 16 タスクブロックスケ
ジューラ部 17 タスク 20 間隔テーブル 21 待合テーブル 22 システム管理テーブ
ル 23 タスクコントロール
テーブル
フロントページの続き (72)発明者 藤原 雄治 神奈川県川崎市中原区小杉町一丁目403番 53 日本電気アイシーマイコンシステム株 式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを、順次、且つ、リアルタ
    イムに、タスクスイッチを切り替えることにより実行で
    きるリアルタイムOSにおいて、前記複数のタスクを予
    め定められた基準のもとに、タスクブロックとしてグル
    ープに分類しておき、同一の前記タスクブロックに属す
    るタスク間の切り替えの際には、前記タスクスイッチを
    介することなく、直接、タスクブロック内におけるタス
    クの切り替えを行うとともに、同一の前記タスクブロッ
    ク内に属しないタスクへの切り替えの際にのみ、前記タ
    スクスイッチにより、切り替えを行うことを特徴とする
    リアルタイムOS。
  2. 【請求項2】 請求項1において、前記タスクブロック
    内のタスクを選択するためのスケジューラが、各タスク
    ブロック毎に、設けられていることを特徴とするリアル
    タイムOS。
  3. 【請求項3】 請求項1、または、2において、前記予
    め定められた基準は、各タスクの実行デッドライン時間
    であり、各タスクブロックに属するタスクは、デッドラ
    イン時間内に、終了するように、組み合わされているこ
    とを特徴とするリアルタイムOS。
  4. 【請求項4】 請求項3において、前記デッドライン時
    間は、フレームサイズ、及び、サンプリング周波数によ
    って定まることを特徴とするリアルタイムOS。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、イ
    ンターバル割込の際、割込毎に、各タスクブロック内の
    タスクの実行開始時間を管理する間隔テーブルを備え、
    当該間隔テーブルの検索結果に基づいて、前記タスクブ
    ロック内のタスク間の切り替え及び前記タスクブロック
    に属しないタスクへの切り替えを行うことを特徴とする
    リアルタイムOS。
  6. 【請求項6】 請求項1乃至5のいずれかに記載された
    リアルタイムOSによって動作することを特徴とするコ
    ンピュータ。
  7. 【請求項7】 請求項1乃至4のいずれかに記載された
    リアルタイムOSを格納した記録媒体。
  8. 【請求項8】 複数のタスクをリアルタイムに、順次、
    実行できるリアルタイムOSに使用されるタスク管理方
    式において、前記複数のタスクを予め定められた基準の
    もとに、タスクブロックとしてグループに分類してお
    き、タスクブロック単位で、リアルタイムOSのタスク
    スイッチに対するアクセスを管理することを特徴とする
    タスク管理方式。
JP9031930A 1997-02-17 1997-02-17 タスク管理方式 Expired - Fee Related JP3037182B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9031930A JP3037182B2 (ja) 1997-02-17 1997-02-17 タスク管理方式
US09/024,139 US6430594B1 (en) 1997-02-17 1998-02-17 Real-time operating system and a task management system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9031930A JP3037182B2 (ja) 1997-02-17 1997-02-17 タスク管理方式

Publications (2)

Publication Number Publication Date
JPH10228385A true JPH10228385A (ja) 1998-08-25
JP3037182B2 JP3037182B2 (ja) 2000-04-24

Family

ID=12344699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9031930A Expired - Fee Related JP3037182B2 (ja) 1997-02-17 1997-02-17 タスク管理方式

Country Status (2)

Country Link
US (1) US6430594B1 (ja)
JP (1) JP3037182B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122880A (ja) * 1998-10-15 2000-04-28 Nec Ic Microcomput Syst Ltd リアルタイムosを搭載した情報処理装置
WO2007029421A1 (ja) * 2005-09-05 2007-03-15 Nec Corporation 情報処理装置
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
JP2008033577A (ja) * 2006-07-28 2008-02-14 Kddi Corp マルチタスクスケジューリング機能搭載装置及びプログラム
US8102552B2 (en) 2008-04-03 2012-01-24 Sharp Laboratories Of America, Inc. Performance monitoring and control of a multifunction printer
US8392924B2 (en) 2008-04-03 2013-03-05 Sharp Laboratories Of America, Inc. Custom scheduling and control of a multifunction printer
US8418188B2 (en) 2010-03-11 2013-04-09 Toyota Jidosha Kabushiki Kaisha Task execution controller and recording medium on which task execution control program is recorded

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US7451448B1 (en) 1998-08-28 2008-11-11 Oracle International Corporation Methods for selectively quiescing a computer system
US7526767B1 (en) * 1998-08-28 2009-04-28 Oracle International Corporation Methods for automatic group switching according to a resource plan
US7017156B1 (en) 1998-08-28 2006-03-21 Oracle International Corporation System for computing an estimate execution time by totaling the time value base on an architecture or a software operating environment
US6633942B1 (en) * 1999-08-12 2003-10-14 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing integrated interrupt management
US7577958B1 (en) * 1999-12-09 2009-08-18 Nortel Networks Limited Expediting an operation in a computer system
US6823517B1 (en) * 2000-01-27 2004-11-23 Andrew E. Kalman Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
JP2003091424A (ja) * 2001-09-18 2003-03-28 Matsushita Electric Ind Co Ltd 分散処理システムおよびジョブ分散処理方法
US7647591B1 (en) * 2001-09-26 2010-01-12 Palmsource Inc. Method for dynamically enabling the expansion of a computer operating system
US20030069917A1 (en) * 2001-10-04 2003-04-10 Miller Larry J. Balanced client/server mechanism in a time-partitioned real-time operting system
JP3813930B2 (ja) 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
US8032891B2 (en) * 2002-05-20 2011-10-04 Texas Instruments Incorporated Energy-aware scheduling of application execution
JP4750350B2 (ja) * 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
US7152145B2 (en) * 2003-04-23 2006-12-19 Hoseotelnet Co. Ltd. Method for optimizing system performance by transferring a stack in a real time operating system
US20040236706A1 (en) * 2003-04-30 2004-11-25 Fitch James Chester Automated machinery lubrication service and maintenance planning system
US7526765B2 (en) * 2003-11-26 2009-04-28 International Business Machines Corporation Method and apparatus for on-demand resource allocation and job management
JP4337692B2 (ja) * 2004-08-31 2009-09-30 ソニー株式会社 収録イベントの管理装置及び方法,記録媒体並びにプログラム
US8171474B2 (en) 2004-10-01 2012-05-01 Serguei Mankovski System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface
DE102004051758A1 (de) * 2004-10-23 2006-04-27 Daimlerchrysler Ag Planung von Prozessabläufen in Fahrsystemeinrichtungen
US7954062B2 (en) * 2005-01-03 2011-05-31 International Business Machines Corporation Application status board mitigation system and method
JP4148223B2 (ja) * 2005-01-28 2008-09-10 セイコーエプソン株式会社 プロセッサおよび情報処理方法
JP4856983B2 (ja) * 2006-03-02 2012-01-18 株式会社日立製作所 ストレージシステム及びスケジューリング方法
JP4580845B2 (ja) * 2005-08-24 2010-11-17 パナソニック株式会社 タスク実行装置
JP2008108075A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Ind Co Ltd タスク切替え制御方法及びコンピュータシステム
US7698541B1 (en) * 2006-10-31 2010-04-13 Netapp, Inc. System and method for isochronous task switching via hardware scheduling
TWI357257B (en) * 2007-10-19 2012-01-21 Mstar Semiconductor Inc Information processing system and related method t
CN101441595B (zh) * 2007-11-21 2010-11-03 英业达股份有限公司 负载监控装置及测试装置及负载监控方法及测试方法
CN101221528B (zh) * 2008-01-22 2010-06-16 中兴通讯股份有限公司 一种嵌入式操作系统调度性能的测试方法
US20090300626A1 (en) * 2008-05-29 2009-12-03 Honeywell International, Inc Scheduling for Computing Systems With Multiple Levels of Determinism
JP5141460B2 (ja) * 2008-09-11 2013-02-13 富士通株式会社 制御プログラム、情報処理システム、および情報処理方法
TWI394027B (zh) * 2008-10-27 2013-04-21 Tatung Co 頻率調整方法及使用此方法的電腦程式產品
US8266477B2 (en) 2009-01-09 2012-09-11 Ca, Inc. System and method for modifying execution of scripts for a job scheduler using deontic logic
US9632844B2 (en) 2013-12-12 2017-04-25 International Business Machines Corporation Non-preemption of a group of interchangeable tasks in a computing device
US9372723B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9372724B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9733981B2 (en) 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
EP3173292B1 (en) * 2014-09-25 2020-05-06 NSK Ltd. Vehicle-mounted electronic device control device and control method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2666824B2 (ja) 1986-05-15 1997-10-22 三菱電機株式会社 プログラマブル制御装置
JPH01181130A (ja) 1988-01-13 1989-07-19 Nec Corp リアルタイムosのタスク起動方式
JPH04367942A (ja) 1991-06-17 1992-12-21 Fuji Facom Corp システムの動作管理処理装置
JPH05127926A (ja) 1991-10-31 1993-05-25 Nec Corp タスク制御装置
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
JP3243849B2 (ja) 1992-08-18 2002-01-07 富士通株式会社 タスクスケジューリング装置
CA2131406C (en) * 1993-09-21 2002-11-12 David D'souza Preemptive multi-tasking with cooperative groups of tasks
US5613114A (en) * 1994-04-15 1997-03-18 Apple Computer, Inc System and method for custom context switching
JPH0883189A (ja) 1994-09-12 1996-03-26 Matsushita Electric Ind Co Ltd システム管理装置
DE19530483A1 (de) * 1995-08-18 1997-02-20 Siemens Ag Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
US5727211A (en) * 1995-11-09 1998-03-10 Chromatic Research, Inc. System and method for fast context switching between tasks
JP2904483B2 (ja) 1996-03-28 1999-06-14 株式会社日立製作所 周期的プロセスのスケジューリング方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122880A (ja) * 1998-10-15 2000-04-28 Nec Ic Microcomput Syst Ltd リアルタイムosを搭載した情報処理装置
WO2007029421A1 (ja) * 2005-09-05 2007-03-15 Nec Corporation 情報処理装置
JP5018480B2 (ja) * 2005-09-05 2012-09-05 日本電気株式会社 情報処理装置
JP2007140710A (ja) * 2005-11-15 2007-06-07 Sony Computer Entertainment Inc タスク割り当て方法およびタスク割り当て装置
US7930339B2 (en) 2005-11-15 2011-04-19 Sony Computer Entertainment Inc. Task allocation method and task allocation apparatus
JP2008033577A (ja) * 2006-07-28 2008-02-14 Kddi Corp マルチタスクスケジューリング機能搭載装置及びプログラム
JP4614239B2 (ja) * 2006-07-28 2011-01-19 Kddi株式会社 マルチタスクスケジューリング機能搭載装置及びプログラム
US8102552B2 (en) 2008-04-03 2012-01-24 Sharp Laboratories Of America, Inc. Performance monitoring and control of a multifunction printer
US8392924B2 (en) 2008-04-03 2013-03-05 Sharp Laboratories Of America, Inc. Custom scheduling and control of a multifunction printer
US8418188B2 (en) 2010-03-11 2013-04-09 Toyota Jidosha Kabushiki Kaisha Task execution controller and recording medium on which task execution control program is recorded

Also Published As

Publication number Publication date
US6430594B1 (en) 2002-08-06
JP3037182B2 (ja) 2000-04-24

Similar Documents

Publication Publication Date Title
JP3037182B2 (ja) タスク管理方式
US5291599A (en) Dispatcher switch for a partitioner
JP2001202258A (ja) リアルタイム処理装置
JP2636722B2 (ja) マルチタスク実行管理方式
JPH11312148A (ja) バリア同期方法及び装置
JPH01195562A (ja) 入出力装置割当て制御方式
JP2000293215A (ja) 数値制御装置の加工プログラムの指令方法
JPH11203149A (ja) タスクスケジュール装置およびその方法
JP3043748B1 (ja) タスクスケジュ―リング方法及び装置
JPH04367942A (ja) システムの動作管理処理装置
JP2903525B2 (ja) ジョブ管理方式
JPH0644234B2 (ja) タスク管理装置
JPH0778091A (ja) マルチタスク管理方法
JPH04153837A (ja) タイマ要求処理方式
JP2566954B2 (ja) 疎結合多重システムに於けるジヨブ自動運転制御方式
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPH03252824A (ja) パッチjob実行多重度制御方式
JPH0612263A (ja) 入出力スケジュール方式
JPH06230982A (ja) 業務処理管理システム
JPH10222380A (ja) スケジューリング方式
JPH0730946A (ja) 移動通信サービス制御装置
JPH03100831A (ja) タスクスケジューリング方法
JPH0535506A (ja) プログラムデイスパツチ処理方式
JPH01137337A (ja) ディスパッチ制御方式
JPH07311687A (ja) タスク実行制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000126

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: 20080225

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 11

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: 20110225

Year of fee payment: 11

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: 20110225

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120225

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130225

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees