JPH08293237A - タイマタスクの処理方法 - Google Patents

タイマタスクの処理方法

Info

Publication number
JPH08293237A
JPH08293237A JP9466095A JP9466095A JPH08293237A JP H08293237 A JPH08293237 A JP H08293237A JP 9466095 A JP9466095 A JP 9466095A JP 9466095 A JP9466095 A JP 9466095A JP H08293237 A JPH08293237 A JP H08293237A
Authority
JP
Japan
Prior art keywords
timer
task
time
value
counter
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
JP9466095A
Other languages
English (en)
Inventor
Satoshi Nakae
敏 中江
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.)
Kokusai Electric Corp
Original Assignee
Kokusai Electric Corp
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 Kokusai Electric Corp filed Critical Kokusai Electric Corp
Priority to JP9466095A priority Critical patent/JPH08293237A/ja
Publication of JPH08293237A publication Critical patent/JPH08293237A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 タイマ割込み処理の処理時間及びタイママス
ク処理時間を短くする。 【構成】 n個のタスクの内、あるタスクからタイマ起
動要求がタイマタスクTMTKにあり、タイマタスク起
動時にタイマ割込み処理TMIRをタイマ割込みにより
一定時間毎に行い、タイマカウンタTMCRの値をイン
クリメントし、該タイマカウンタの現在値を使用してタ
イムアップ無効範囲を計算し、タイマ管理テーブルTM
MTの空きエリアに、タスク番号,タイマ番号,タイム
アップ無効範囲及び起動中ステータスをセットし、タイ
マタスクTMTKが起動中のタイマのタイマカウンタ値
がタイムアップ無効範囲外になったかどうかをチェック
し、範囲外になった場合はタイマ起動を要求したタスク
に対してタイマタスクがタイムアップイベントを発行す
ることを特徴とする。 【効果】 正常にアプリケーションプログラムが動作で
き、かつタイマ割込み処理時間を軽減できる多くのソフ
トタイマを実現することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ハードタイマ割込み処
理におけるタイマを使用して、割込み処理に時間をかけ
ずにより多くのソフトタイマを実現するタイマタスクの
処理方法に関する。
【0002】
【従来の技術】図4は従来のタイマタスクの処理の流れ
を示す説明図、図5は従来におけるタイムアップイベン
ト発行処理及びタイマ割込処理のフロー図である。従来
方法は、タスクNO.00〜nの内、例えばタスクN
O.00がタイマNO.02をタイマ値5秒で起動をか
けた場合、タスクNO.00から自タスクNO.00,
タイマNO.02,タイマ値5秒をパラメータとしてタ
イマタスクTMTKにメイルボックスMB1 を経てタイ
マ起動要求を出す(ステップ1)。タイマタスクTMT
Kは自タスクNO.00に処理がスケジュールされた時
にタスクNO.00用タイマテーブルTMTL0 の当該
タイマNO.2の所に起動ステータス01とタイマ値5
秒をセットする(ステップ2)。タイマ割込み処理TM
IRがタイマ割込みによりXms毎に起動すると、割込
み処理の中でタイマテーブルTMTL0 中の全てのタイ
マNO.の状態をチェックし、起動ステータスが01の
時は起動中のタイマ値をデクリメントする(ステップ
3,4)。タイマタスクはタイマテーブルTMTL0
起動中のタイマNO.02のタイマ値をタイマタスクに
スケジュールされる毎にチェックし、タイマ値が00に
なったらタイマを起動したタスクNO.00にメイルボ
ックスMB2 を経てタイムアップイベントを送信する
(ステップ5,6)。
【0003】
【発明が解決しようとする課題】上記従来のタイマタス
クの処理方法では、タイマ割込み処理を割込み禁止状態
で行うためにタスク数及びタイマ数が増加すると、タイ
マ割込み処理に時間がかかり過ぎ、多くのソフトタイマ
の実現が難しいという課題がある。
【0004】
【課題を解決するための手段】本発明は、従来の方法で
は交換機等の様に多くのタイマが必要とされるプログラ
ムで、タイマ割込み処理に負荷をかけ過ぎるとアプリケ
ーション・プログラムへのスケジュール時間がなくなっ
てしまい、正常な運用が出来なくなってしまう課題を解
決し、正常にアプリケーションプログラムが動作でき、
かつタイマ割込み処理時間を軽減するソフトタイマを実
現できるタイマタスクの処理方法を提供しようとするも
のである。即ち、本発明方法は、n個のタスクの内、あ
るタスクからタイマ起動要求がタイマタスクTMTKに
あり、タイマタスク起動時にタイマ割込み処理TMIR
をタイマ割込みにより一定時間毎に行い、タイマカウン
タTMCRの値をインクリメントし、該タイマカウンタ
の現在値を使用してタイムアップ無効範囲を計算し、タ
イマ管理テーブルTMMTの空きエリアに、タスク番
号,タイマ番号,タイムアップ無効範囲及び起動中ステ
ータスをセットし、タイマタスクTMTKが起動中のタ
イマのタイマカウンタ値がタイムアップ無効範囲外にな
ったかどうかをチェックし、範囲外になった場合はタイ
マ起動を要求したタスクに対してタイマタスクがタイム
アップイベントを発行することを特徴とする。
【0005】
【作 用】n個のタスクNO.00〜nの内、あるタス
クからタイマ起動要求がタイマタスクTMTKに出され
てタイマタスクが起動する。タイマ割込み処理TMIR
がタイマ割込みにより一定時間毎(割込み毎)に割込み
禁止状態で行われ、タイマカウンタTMCRのカウント
値が1つずつインクリメントされる。タイマカウンタT
MCRの現在値を使用してタイムアップ無効範囲が計算
され、タイマ管理テーブルTMMTの空きエリアに、タ
スク番号,タイマ番号,タイムアップ無効範囲及び起動
中ステータスがセットされる。タイマタスクTMTKが
起動中のタイマのタイマカウンタ値がタイムアップ無効
範囲外になったかどうかがチェックされ、範囲外になっ
た場合は、タイマ起動を要求したタスクに対してタイマ
タスクTMTKからタイムアップイベントが発行され
る。
【0006】
【実施例】図1は本発明方法の1実施例におけるタイマ
タスクの処理フロー詳細図、図2は同じくタイマタスク
の処理フロー概要図、図3は本発明におけるタイムアッ
プイベント発行処理及びタイマ割込処理フロー図であ
る。本発明実施方法は、図1に示すようにタイマ管理テ
ーブルTMMTを設ける。割込み禁止状態でのタイマ割
込み処理TMIRは、タイマ割込みにより一定時間毎に
行い、1つのタイマカウンタTMCRの値をインクリメ
ントし、そのタイマカウンタの値をアプリケーションレ
ベルであるタイマタスクが使用してソフトタイマを実現
する。以下にその手順を図1の実施例をもとに示す。次
の6条件を満たすものとする。 (1)タイマベース(タイマ割込み間隔)を10msと
する。 (2)タイマタスクTMTKは、誤差を少なくするため
に10ms以内に起動させる。 (3)タイマカウンタTMCRは0〜100までの値を
取るものとし、100の次は0に戻り、再びカウントア
ップされる。 (4)タイマカウンタTMCRのインクリメントは10
ms毎にタイマ割込み処理で行う。 (5)タイマカウンタTMCRのMAX値が100なの
で実現出来るタイマのMAXは490msとする。 (6)490msのタイマ起動要求をタイマタスクが受
けた時のタイマカウンタ値が70だったとする。
【0007】ステップ1: n個のタスクNO.00〜
nの内、例えばタスクNO.00がタイマNO.02を
タイマ値490msで起動をかけた場合、タスクNO.
00から自タスクNO.00,タイマNO.02,タイ
マ値490msをパラメータとしてメイルボックスMB
1 を経てタイマタスクTMTKにタイマ起動要求を送信
する。 ステップ2: タイマタスクTMTKがスケジューラS
CLRより起動すると、タイマ割込み処理TMIRをタ
イマ割込みにより10ms毎に行い、タイマカウンタT
MCKの値をインクリメントし、現在のタイマカウンタ
値を使用してタイムアップ無効範囲を計算する。
【0008】例えば、490msのタイマ起動を行った
時のタイマカウンタTMCRの値が70だった場合、タ
イマ値が490msよりセットカウンタ値は49(10
msベースタイマなので)となる。タイマ起動時のタイ
マカウンタ値70とこのセットカウンタ値49の和、7
0+49=119 からタイマカウンタの最高値100
に対し、100<119,119−100=19 なの
で、タイムアップ無効範囲は、2つ存在する。タイムア
ップ無効範囲1の下限値は70(タイマスタート時のタ
イマカウンタの値),タイムアップ無効範囲1の上限値
は100(タイマカウンタの最高値),タイムアップ無
効範囲2の下限値は0(タイマカウンタの最低値),タ
イムアップ無効範囲2の上限値は19(タイマカウンタ
の最終値)となり、この範囲内にタイマカウンタTMC
Rの値がある間はタイマタスクTMTKは、タイマ起動
タスクに対してタイムアップイベントを発行しない。
【0009】又、30msのタイマ起動を行った時のタ
イマカウンタの値が40だった場合のタイムアップ無効
範囲の計算を示す。タイマ値が30msよりセットカウ
ンタ値は3(10msベースタイマなので)となる。タ
イマ起動時のタイマカウンタ値40とこのセットカウン
タ値3の和、40+3=43 からタイマカウンタの最
高値100に対し、100>43 なので、タイムアッ
プ無効範囲はタイムアップ無効範囲1のみ存在する。タ
イムアップ無効範囲1の下限値は40(タイマスタート
時のタイマカウンタ値),タイムアップ無効範囲1の上
限値は43(タイマカウンタの最終値)となり、この範
囲内にタイマカウンタTMCRがある間はタイマタスク
TMTKは、タイマ起動タスクに対してタイムアップイ
ベントを発行しない。
【0010】タイムアップ無効範囲を計算した後、タイ
マ管理テーブルTMMTの起動中ステータスで未起動
(“00”)のエリアがあるまでオフセットの小さい順
にサーチする。空きエリアが見つかったら、その空きエ
リアにタスクNO.,タイマNO.,タイムアップ無効
範囲,起動中ステータスをセットする。 ステップ3: タイマ管理テーブルTMMTをオフセッ
トの小さい順に起動中ステータスが“00”の所まで、
現在のタイマカウンタの値が、タイムアップ無効範囲の
外にあるかチェックする。 ステップ4: タイムアップ無効範囲外のタイマがある
時は、その当該タスクにタイムアップイベントをメイル
ボックスMB2 を介して送信する。
【0011】なお、タイママスクTMTKがあるタイマ
値のタイマをスタートさせた場合、そのタイマがタイム
アップしていない時間帯であり、この範囲内にタイマカ
ウンタ値がある時は、そのタイマは動作中という事にな
る。タイマタスクは、処理が自タスクにスケジュールさ
れる毎にタイマ管理テーブルのチェックを行い、タイム
アップ無効範囲をはずれたタイマがあった時に、タイマ
起動タスクにタイムアップイベントを発行する。かくし
て割込み禁止状態でタイマ割込み処理を行い、割込み毎
に1つずつインクリメント処理するのみなので、短時間
の割込み禁止状態ですむ。
【0012】
【発明の効果】上述のように本発明方法を採用すること
により割込み禁止で動作するタイマ割込み処理の処理時
間を明らかに短かくすることができる。又、タイマタス
クの処理時間も短かくすることができるので、他のアプ
リケーションの処理スケジュールにあまり影響を与える
ことなく、多くのソフトタイマを実現することが可能と
なる。
【図面の簡単な説明】
【図1】本発明方法の1実施例におけるタイマタスクの
処理フロー詳細図である。
【図2】同じくタイマタスクの処理フロー概要図であ
る。
【図3】本発明におけるタイムアップイベント発行処理
及びタイマ割込処理フロー図である。
【図4】従来のタイマタスクの処理の流れを示す説明図
である。
【図5】従来におけるタイムアップイベント発行処理及
びタイマ割込処理のフロー図である。
【符号の説明】 TMTK タイマタスク MB1 メイルボックス MB2 メイルボックス SCLR スケジューラ TMCR タイマカウンタ TMIR タイマ割込処理 TMMT タイマ管理テーブル TMTL0 タスク00用タイマテーブル TMTLn タスクn用タイマテーブル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 n個のタスクの内、あるタスクからタイ
    マ起動要求がタイマタスクにあり、タイマタスク起動時
    にタイマ割込み処理をタイマ割込みにより一定時間毎に
    行い、タイマカウンタの値をインクリメントし、該タイ
    マカウンタの現在値を使用してタイムアップ無効範囲を
    計算し、タイマ管理テーブルの空きエリアに、タスク番
    号,タイマ番号,タイムアップ無効範囲及び起動中ステ
    ータスをセットし、タイマタスクが起動中のタイマのタ
    イマカウンタ値がタイムアップ無効範囲外になったかど
    うかをチェックし、範囲外になった場合はタイマ起動を
    要求したタスクに対してタイマタスクがタイムアップイ
    ベントを発行することを特徴とするタイマタスクの処理
    方法。
JP9466095A 1995-04-20 1995-04-20 タイマタスクの処理方法 Pending JPH08293237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9466095A JPH08293237A (ja) 1995-04-20 1995-04-20 タイマタスクの処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9466095A JPH08293237A (ja) 1995-04-20 1995-04-20 タイマタスクの処理方法

Publications (1)

Publication Number Publication Date
JPH08293237A true JPH08293237A (ja) 1996-11-05

Family

ID=14116415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9466095A Pending JPH08293237A (ja) 1995-04-20 1995-04-20 タイマタスクの処理方法

Country Status (1)

Country Link
JP (1) JPH08293237A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619161B2 (en) 2008-09-10 2013-12-31 Panasonic Corporation Lens barrel and imaging device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619161B2 (en) 2008-09-10 2013-12-31 Panasonic Corporation Lens barrel and imaging device

Similar Documents

Publication Publication Date Title
JPH08293237A (ja) タイマタスクの処理方法
JP2002358135A (ja) ソフトウェア利用管理装置、ソフトウェア利用管理方法、ソフトウェア利用管理方法をコンピュータに実行させるためのプログラム及びソフトウェア利用管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH07191863A (ja) マルチタスク実行管理方式
JP2566002B2 (ja) タスクディスパッチング方式
JP2000003286A (ja) メッセージ処理装置およびその方法
JPH0721063A (ja) 計算機システム監視装置
JP2500446B2 (ja) 間欠動作機能を有する電文一括処理システム
JPS63159940A (ja) 中央処理装置割り当て制御方式
JPH0778091A (ja) マルチタスク管理方法
JP3112287B2 (ja) メッセージ管理処理装置
JPH064175A (ja) タイマ管理システム
JPH01258135A (ja) トランザクション実行制御方式
JPS63239537A (ja) タスク制御方法
JPH03255536A (ja) トランザクションリスタート処理方式
JPH03131935A (ja) タイマ管理方式
JPS5931730B2 (ja) タイマ制御方法
JPH02311916A (ja) 待ち時間管理装置
JPH047742A (ja) アプリケーション・プログラムの管理システム
JPS60238938A (ja) 計算機システムの運転方法
JPH10116203A (ja) コンピュータ装置
JPH11175353A (ja) タイマ制御装置および記録媒体
JP4125300B2 (ja) 画像配信装置およびその方法
JPH08329022A (ja) マルチプロセッサシステムの入出力処理負荷分散制御方式
JPH0833827B2 (ja) タイマ依頼の管理方法
JPH02161553A (ja) 画面イメージ管理方式