JPH064320A - タイマ管理方式 - Google Patents
タイマ管理方式Info
- Publication number
- JPH064320A JPH064320A JP16576492A JP16576492A JPH064320A JP H064320 A JPH064320 A JP H064320A JP 16576492 A JP16576492 A JP 16576492A JP 16576492 A JP16576492 A JP 16576492A JP H064320 A JPH064320 A JP H064320A
- Authority
- JP
- Japan
- Prior art keywords
- timer
- queue
- time
- block
- request
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】タイマ管理のため発生する外部割込み禁止とス
ケジューリングストップ領域を極小化し、リアルタイム
OSにおけるタイマ割込み遅延の発生を防ぐ。 【構成】従来のタイマ管理テーブルに代え、個々のタイ
マ要求をタイマブロックに登録し、未使用のタイマブロ
ックから成るフリーキュー4と、使用中のタイマブロッ
クを連結したエンプロイキュー5と、タイムアウトにな
ったタイマブロックから成るタイムアウトキュー6で管
理する。タイマ要求が発生するとタイマ要求タスク1が
タイマブロックをフリーキュー4から抽出し、要求元お
よびタイマ値を設定しエンプロイキュー5につなぐ。タ
イマ割込みを契機にタイマハンドラ2がエンプロイキュ
ー5の各タイマブロックのタイマ値から1を引き、0に
なったタイマブロックをタイムアウトキュー6につなぎ
替える。直ちにタイムアウトタスク3がタイムアウトキ
ュー6の各要求元にタイムアウトを通知する。
ケジューリングストップ領域を極小化し、リアルタイム
OSにおけるタイマ割込み遅延の発生を防ぐ。 【構成】従来のタイマ管理テーブルに代え、個々のタイ
マ要求をタイマブロックに登録し、未使用のタイマブロ
ックから成るフリーキュー4と、使用中のタイマブロッ
クを連結したエンプロイキュー5と、タイムアウトにな
ったタイマブロックから成るタイムアウトキュー6で管
理する。タイマ要求が発生するとタイマ要求タスク1が
タイマブロックをフリーキュー4から抽出し、要求元お
よびタイマ値を設定しエンプロイキュー5につなぐ。タ
イマ割込みを契機にタイマハンドラ2がエンプロイキュ
ー5の各タイマブロックのタイマ値から1を引き、0に
なったタイマブロックをタイムアウトキュー6につなぎ
替える。直ちにタイムアウトタスク3がタイムアウトキ
ュー6の各要求元にタイムアウトを通知する。
Description
【0001】
【産業上の利用分野】本発明はタイマ管理方式に関し、
特にリアルタイムOS分野におけるタイマ管理方式に関
する。
特にリアルタイムOS分野におけるタイマ管理方式に関
する。
【0002】
【従来の技術】従来のタイマ管理方式は、一つのタイム
管理テーブルを使用して管理を行っており、スケジュー
ラがタイマタスクを周期的に起動し、起動されたタイマ
タスクがタイム管理テーブルを検索し、そこに登録され
ている各タイマ要求のタイマ値を減算し、タイマ値が0
になったタイマ要求の要求元に対してタイムアウト通知
を行っている。
管理テーブルを使用して管理を行っており、スケジュー
ラがタイマタスクを周期的に起動し、起動されたタイマ
タスクがタイム管理テーブルを検索し、そこに登録され
ている各タイマ要求のタイマ値を減算し、タイマ値が0
になったタイマ要求の要求元に対してタイムアウト通知
を行っている。
【0003】
【発明が解決しようとする課題】上述した従来のタイマ
管理方式では、タイマタスクは外部割込み禁止かつスケ
ジューリングストップの状態で動作し、タイマ管理テー
ブル全体の検索を行うため、タイマ管理テーブルが大き
くなると、外部割込み禁止領域とスケジューリングスト
ップ領域が長くなり、OSのスケジューリングにタイミ
ングを与える外部割込みであるインターバルタイマから
のタイマ割込みを抑制してしまい、正確なタイマ割込み
が得られずリアルタイム分野における制御動作の正確さ
が損われてしまう欠点があった。
管理方式では、タイマタスクは外部割込み禁止かつスケ
ジューリングストップの状態で動作し、タイマ管理テー
ブル全体の検索を行うため、タイマ管理テーブルが大き
くなると、外部割込み禁止領域とスケジューリングスト
ップ領域が長くなり、OSのスケジューリングにタイミ
ングを与える外部割込みであるインターバルタイマから
のタイマ割込みを抑制してしまい、正確なタイマ割込み
が得られずリアルタイム分野における制御動作の正確さ
が損われてしまう欠点があった。
【0004】本発明の目的は、外部割込み禁止およびス
ケジューリングストップ領域を極小化したタイマ管理方
式を提供することにある。
ケジューリングストップ領域を極小化したタイマ管理方
式を提供することにある。
【0005】
【課題を解決するための手段】本発明のタイマ管理方式
は、リアルタイムOS上のタイマ管理方式において、個
々のタイマ要求を管理するためのタイマブロックを未使
用タイマブロックから成るフリーキューと使用中タイマ
ブロックから成るエンプロイキューとタイムアウトした
タイマブロックから成るタイムアウトキューとに分けて
管理し、タイマ要求を受け前記フリーキューからタイマ
ブロックを抽出して必要事項を格納し前記エンプロイキ
ューにつなぎ替えるタイマ要求タスクと、タイマ割込み
を契機に前記エンプロイキューの各タイマブロックのタ
イマ値から1を減算しタイマ値が0となったタイマブロ
ックを前記タイムアウトキューにつなぎ替えるタイマハ
ンドラと、前記タイムアウトキューのタイマブロックを
検索し要求元にタイムアウト通知を行うタイムアウトタ
スクとを設けて構成されている。
は、リアルタイムOS上のタイマ管理方式において、個
々のタイマ要求を管理するためのタイマブロックを未使
用タイマブロックから成るフリーキューと使用中タイマ
ブロックから成るエンプロイキューとタイムアウトした
タイマブロックから成るタイムアウトキューとに分けて
管理し、タイマ要求を受け前記フリーキューからタイマ
ブロックを抽出して必要事項を格納し前記エンプロイキ
ューにつなぎ替えるタイマ要求タスクと、タイマ割込み
を契機に前記エンプロイキューの各タイマブロックのタ
イマ値から1を減算しタイマ値が0となったタイマブロ
ックを前記タイムアウトキューにつなぎ替えるタイマハ
ンドラと、前記タイムアウトキューのタイマブロックを
検索し要求元にタイムアウト通知を行うタイムアウトタ
スクとを設けて構成されている。
【0006】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0007】図1は本発明の一実施例の構成を示すブロ
ック図である。
ック図である。
【0008】本発明のタイマ管理方式では、図1に示す
ように、従来のタイマ管理テーブルによる管理に代え、
個々のタイマ要求を管理するためのタイマブロックを連
結したタイマキューにより行う。タイマキューは、未使
用のタイマブロックから成るフリーキュー4と、使用中
のタイマブロックを連結したエンプロイキュー5と、タ
イムアウトになったタイマブロックを連結したタイムア
ウトキュー6との三者から成る。これらのタイマキュー
は、タイマ要求を処理するタイマ要求タスク1と、時間
の管理を実行するタイマハンドラ2と、タイムアウト通
知を行うタイムアウトタスク3とにより管理されてい
る。
ように、従来のタイマ管理テーブルによる管理に代え、
個々のタイマ要求を管理するためのタイマブロックを連
結したタイマキューにより行う。タイマキューは、未使
用のタイマブロックから成るフリーキュー4と、使用中
のタイマブロックを連結したエンプロイキュー5と、タ
イムアウトになったタイマブロックを連結したタイムア
ウトキュー6との三者から成る。これらのタイマキュー
は、タイマ要求を処理するタイマ要求タスク1と、時間
の管理を実行するタイマハンドラ2と、タイムアウト通
知を行うタイムアウトタスク3とにより管理されてい
る。
【0009】図2はタイマブロックの構成の説明図であ
る。各タイマブロックは、図2に示すように、タイマブ
ロックを識別するためのタイマIDと、時間管理のため
のタイマ値であるクレジット値と、要求元を識別するた
めのタスクIDと、前に連結されているタイマブロック
を指示するプレポインタと、後に連結されているタイマ
ブロックを指示するネクストポインタとから構成されて
いる。
る。各タイマブロックは、図2に示すように、タイマブ
ロックを識別するためのタイマIDと、時間管理のため
のタイマ値であるクレジット値と、要求元を識別するた
めのタスクIDと、前に連結されているタイマブロック
を指示するプレポインタと、後に連結されているタイマ
ブロックを指示するネクストポインタとから構成されて
いる。
【0010】図3はタイマブロックを連結したタイマキ
ューの説明図であり、プレポインタ及びネクストポイン
タと、前および後のタイマブロックとの関係を示してい
る。なお、タイマキューの先頭のタイマブロックのプレ
ポインタと、最後のタイマブロックのネクストポインタ
には、対象となるタイマブロックが無いのでNULLが
格納される。
ューの説明図であり、プレポインタ及びネクストポイン
タと、前および後のタイマブロックとの関係を示してい
る。なお、タイマキューの先頭のタイマブロックのプレ
ポインタと、最後のタイマブロックのネクストポインタ
には、対象となるタイマブロックが無いのでNULLが
格納される。
【0011】図1に示したフリーキュー4の場合は、タ
イマ要求されていない未使用のタイマブロックの集まり
であるから、クレジット値およびタスクIDはNULL
である。エンプロイキュー5の場合は、タイマ要求され
且つタイムアウトを発生していない使用中のタイマブロ
ックの集まりであるから、クレジット値は“0”以外の
数値である。タイムアウトキュー6の場合は、タイムア
ウトとなったタイマブロックの集まりであるから、クレ
ジット値はすべて“0”である。
イマ要求されていない未使用のタイマブロックの集まり
であるから、クレジット値およびタスクIDはNULL
である。エンプロイキュー5の場合は、タイマ要求され
且つタイムアウトを発生していない使用中のタイマブロ
ックの集まりであるから、クレジット値は“0”以外の
数値である。タイムアウトキュー6の場合は、タイムア
ウトとなったタイマブロックの集まりであるから、クレ
ジット値はすべて“0”である。
【0012】次に、本実施例の動作について説明する。
【0013】稼働中のプログラムからタイマ要求が発生
すると、タイマ要求タスク1が、外部割込み禁止かつス
ケジューリングストップの状態でフリーキュー4からタ
イマブロックを抽出し、クレジット値およびタスクID
を設定してから、プレポインタ及びネクストポインタを
変更してエンプロイキュー5に連結する。エンプロイキ
ュー5への連結が終わると、外部割込み許可かつスケジ
ューリングスタートの状態に戻る。
すると、タイマ要求タスク1が、外部割込み禁止かつス
ケジューリングストップの状態でフリーキュー4からタ
イマブロックを抽出し、クレジット値およびタスクID
を設定してから、プレポインタ及びネクストポインタを
変更してエンプロイキュー5に連結する。エンプロイキ
ュー5への連結が終わると、外部割込み許可かつスケジ
ューリングスタートの状態に戻る。
【0014】タイマ割込みコントローラからタイマ割込
みが発生すると、タイマハンドラ2はエンプロイキュー
5につながっている各タイマブロックのクレジット値か
ら1を引き、クレジット値が0になったタイマブロック
をエンプロイキュー5から抽出してタイムアウトキュー
6につなぎ替える。このとき、抽出したタイマブロック
の前後のタイマブロックのネクストポインタ及びプレポ
インタは更新される。クレジット値が0になったすべて
のタイマブロックのタイムアウトキューへのつなぎ変え
が終了すると、待機状態にあるタイムアウトタスク3が
直ちに処理を開始する。タイマハンドラ2の処理領域
は、当然外部割込み禁止かつスケジューリングストップ
の状態である。
みが発生すると、タイマハンドラ2はエンプロイキュー
5につながっている各タイマブロックのクレジット値か
ら1を引き、クレジット値が0になったタイマブロック
をエンプロイキュー5から抽出してタイムアウトキュー
6につなぎ替える。このとき、抽出したタイマブロック
の前後のタイマブロックのネクストポインタ及びプレポ
インタは更新される。クレジット値が0になったすべて
のタイマブロックのタイムアウトキューへのつなぎ変え
が終了すると、待機状態にあるタイムアウトタスク3が
直ちに処理を開始する。タイマハンドラ2の処理領域
は、当然外部割込み禁止かつスケジューリングストップ
の状態である。
【0015】タイムアウトタスク3は、タイムアウトキ
ュー6の各タイマブロックのタスクIDからタイムアウ
ト通知すべき要求元タスクを求め、タイムアウト通知を
行って、外部割込み禁止かつスケジューリングストップ
の状態でタイマブロックをタイムアウトキュー6からフ
リーキュー4につなぎ替える。そして、外部割込み許可
かつスケジューリングスタートの状態で動作を中断し待
機状態に戻る。
ュー6の各タイマブロックのタスクIDからタイムアウ
ト通知すべき要求元タスクを求め、タイムアウト通知を
行って、外部割込み禁止かつスケジューリングストップ
の状態でタイマブロックをタイムアウトキュー6からフ
リーキュー4につなぎ替える。そして、外部割込み許可
かつスケジューリングスタートの状態で動作を中断し待
機状態に戻る。
【0016】
【発明の効果】以上説明したように、本発明のタイマ管
理方式は、個々のタイマ要求をタイマブロックにより管
理し、実際に使用中のタイマブロックのみを連結したエ
ンプロイキューをタイマハンドラの処理対象とするた
め、CPUを占有する外部割込み禁止領域とスケジュー
リングストップ領域を極小化できる。更にタイマハンド
ラがタイマ割込みを契機として動作するため、正常なタ
イマ割込みを提供することができリアルタイム動作を安
定させる効果がある。
理方式は、個々のタイマ要求をタイマブロックにより管
理し、実際に使用中のタイマブロックのみを連結したエ
ンプロイキューをタイマハンドラの処理対象とするた
め、CPUを占有する外部割込み禁止領域とスケジュー
リングストップ領域を極小化できる。更にタイマハンド
ラがタイマ割込みを契機として動作するため、正常なタ
イマ割込みを提供することができリアルタイム動作を安
定させる効果がある。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】タイマブロックの構成を示す説明図である。
【図3】タイマブロックとタイマキューの関係を示す説
明図である。
明図である。
1 タイマ要求タスク 2 タイマハンドラ 3 タイムアウトタスク 4 フリーキュー 5 エンプロイキュー 6 タイムアウトキュー
Claims (1)
- 【請求項1】 リアルタイムOS上のタイマ管理方式に
おいて、個々のタイマ要求を管理するためのタイマブロ
ックを未使用タイマブロックから成るフリーキューと使
用中タイマブロックから成るエンプロイキューとタイム
アウトしたタイマブロックから成るタイムアウトキュー
とに分けて管理し、タイマ要求を受け前記フリーキュー
からタイマブロックを抽出して必要事項を格納し前記エ
ンプロイキューにつなぎ替えるタイマ要求タスクと、タ
イマ割込みを契機に前記エンプロイキューの各タイマブ
ロックのタイマ値から1を減算しタイマ値が0となった
タイマブロックを前記タイムアウトキューにつなぎ替え
るタイマハンドラと、前記タイムアウトキューのタイマ
ブロックを検索し要求元にタイムアウト通知を行うタイ
ムアウトタスクとを設けたことを特徴とするタイマ管理
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16576492A JPH064320A (ja) | 1992-06-24 | 1992-06-24 | タイマ管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16576492A JPH064320A (ja) | 1992-06-24 | 1992-06-24 | タイマ管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH064320A true JPH064320A (ja) | 1994-01-14 |
Family
ID=15818602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16576492A Withdrawn JPH064320A (ja) | 1992-06-24 | 1992-06-24 | タイマ管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH064320A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754576B2 (en) | 2002-01-11 | 2004-06-22 | Denso Corporation | Electronic control unit having different mask return processes |
JP2007140656A (ja) * | 2005-11-15 | 2007-06-07 | Sharp Corp | 通信装置 |
-
1992
- 1992-06-24 JP JP16576492A patent/JPH064320A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754576B2 (en) | 2002-01-11 | 2004-06-22 | Denso Corporation | Electronic control unit having different mask return processes |
JP2007140656A (ja) * | 2005-11-15 | 2007-06-07 | Sharp Corp | 通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
US8504753B2 (en) | Suspendable interrupts for processor idle management | |
US5452452A (en) | System having integrated dispatcher for self scheduling processors to execute multiple types of processes | |
US7328294B2 (en) | Methods and apparatus for distributing interrupts | |
US20010010052A1 (en) | Method for controlling multithreading | |
US7216346B2 (en) | Method and apparatus for managing thread execution in a multithread application | |
JPH113232A (ja) | 2レベル・マルチスレッド・システムにおける信号の生成および配信 | |
US8510273B2 (en) | System, method, and computer-readable medium to facilitate application of arrival rate qualifications to missed throughput server level goals | |
EP2490100B1 (en) | Suspendable interrupts for processor idle management | |
JPH064320A (ja) | タイマ管理方式 | |
Horowitz | A run-time execution model for referential integrity maintenance | |
JPS63300326A (ja) | トランザクション実行スケジュ−ル方式 | |
US20060150193A1 (en) | Signal management in operations with multiple waits | |
CN112433835B (zh) | 一种基于Linux系统的中断处理方法及装置 | |
JPH03255512A (ja) | インターバルタイマ制御方式 | |
GB2030331A (en) | Real-time Data Processing System for Processing Time Period Commands | |
JPH0635724A (ja) | イベント同期制御方式 | |
JPH0833833B2 (ja) | オペレーティングシステムにおけるプロセス消滅方式 | |
JPH0241782B2 (ja) | ||
JPH0644234B2 (ja) | タスク管理装置 | |
JPH0619858A (ja) | 共有資源自動返却方式 | |
JPS6125249A (ja) | 排他制御方式 | |
SU726531A1 (ru) | Устройство дл управлени прерыванием программ | |
JPS63239537A (ja) | タスク制御方法 | |
CN116737328A (zh) | 内容搜索方法、装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990831 |