JP4068106B2 - リアルタイム組込み簡易モニタプログラム - Google Patents
リアルタイム組込み簡易モニタプログラム Download PDFInfo
- Publication number
- JP4068106B2 JP4068106B2 JP2005228523A JP2005228523A JP4068106B2 JP 4068106 B2 JP4068106 B2 JP 4068106B2 JP 2005228523 A JP2005228523 A JP 2005228523A JP 2005228523 A JP2005228523 A JP 2005228523A JP 4068106 B2 JP4068106 B2 JP 4068106B2
- Authority
- JP
- Japan
- Prior art keywords
- isr
- semaphore
- icb
- interrupt
- waiting
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
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)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Description
図1〜図16を用いてこの発明の実施の形態1を説明する。図1は、この発明におけるリアルタイム組込み簡易モニタプログラムが適用される装置の構成の一例を示す図である。図1において、リアルタイム組込み簡易モニタプログラムを適用した装置は、プロセッサ1と、プログラム格納部2と、データ格納部3と、制御対象装置10とを備えている。
図17〜図21(図21−1、図21−2を示す)を用いてこの発明の実施の形態2を説明する。この実施の形態2では、セマフォを利用する際に発生する優先度(割込みレベルの優先順位)の逆転を回避するものである。
2 プログラム格納部
3 データ格納部
4 ICB配列
5 セマフォ構造体群
6 スケジューラ
7 ディスパッチャ
9 状態処理プログラム
10 制御対象装置
11 CPU
12 プログラムカウンタ
13 レジスタ群
14 コントロールレジスタ
21,22,23 セマフォ構造体
40,41,42,43,44,45,46,47 ICB
80,81,82,83,84,85,86,87,1603,1604,1605,1606 ISR
91 ISR生成タスク
92 ISR起動タスク
93a,93b,93c セマフォ取得タスク
94,94a セマフォ解放タスク
95 ISR遅延タスク
96 ISR復帰タスク
97 ISR終了タスク
98 タイマ割込みハンドラ
401 ドーマント状態
402 割込み待ち状態
403 実行待ち状態
404 実行状態
405 セマフォ待ち状態
406 実行停止状態
1601 優先順位
1602 時間軸
Claims (8)
- 定常状態を含む複数の割込みサービスルーチン(ISR)で構成される組込みソフトウェアに適用され、前記複数のISRで用いる複数のセマフォに対応付けられ、当該セマフォの使用状態に関する情報を保持するセマフォ構造体と、
前記複数のISRの割込みレベルに対応付けられ各ISRの状態に関する情報を保持する割込み制御ブロック(ICB)を有し、該ICBを前記ISRの割込みレベルの優先順位が高いものから順に接続したICB配列と、
に基づいて前記ISRをスケジューリングするリアルタイム組込み簡易モニタプログラムであって、
割込みが発生すると、割込み発生時にスタック領域に格納されたプログラムカウンタの値、スタックレジスタの値であるスタックポインタ、およびコンテキストを割込まれたISRに対応するICBのコンテキスト保存領域に格納するとともに、前記発生した割込みのISRに対応するICBに実行待ち状態であることを設定するISR起動ステップと、
実行待ち状態が設定されているICBの中で最も優先順位の高いICBを選択し、選択したICBのコンテキスト保存領域に格納されているプログラムカウンタの値、スタックポインタ、およびコンテキストを前記スタック領域に格納して割込み復帰命令によって選択したISRを実行させるスケジューリングステップと、
前記スケジューリングステップによって実行されたISRの処理を終了する際に、終了するISRに対応付けられたICBに割込み待ち状態であることを設定するISR終了ステップと、
を備えることを特徴とするリアルタイム組込み簡易モニタプログラム。 - 前記スケジューリングステップによって実行されたISRが要求するセマフォに対応付けられたセマフォ構造体が保持している使用情報に基づいて要求するセマフォを使用可能であるか否かを判定し、前記要求するセマフォが使用可能であると判定した場合には、セマフォを要求したISRに関する情報に基づいて前記使用情報のうち使用可能なセマフォ数およびセマフォを取得したISRに関する情報を更新して実行されたISRにセマフォを取得させ、前記要求するセマフォが使用不可であると判定した場合には、セマフォを要求したISRに関する情報に基づいて前記使用情報のうちセマフォ待ちのISRに関する情報を更新するとともに、前記セマフォを要求したISRに対応付けられたICBにセマフォ待ち状態であることを設定するセマフォ取得ステップと、
前記スケジューリングステップによって実行されたISRが開放するセマフォに対応付けられたセマフォ構造体が保持している使用情報に基づいて開放するセマフォを待っているISRが存在するか否かを判定し、前記開放するセマフォを待っているISRが存在すると判定した場合には、前記セマフォを待っているISRのうち一番先に当該セマフォを待っているISRまたは最も優先順位の高いISRを選択し、セマフォを開放するISRに関する情報および選択したセマフォを待っているISRに関する情報に基づいて、前記使用情報のうちセマフォを取得したISRに関する情報および選択したセマフォを待っているISRに関する情報を更新して実行されたISRからセマフォを開放し、前記選択したセマフォを待っているISRに開放したセマフォを取得させるとともに、新たにセマフォを取得したISRに対応付けられたICBに実行待ち状態であることを設定し、前記開放するセマフォを待っているISRが存在しないと判定した場合には、前記セマフォを開放するISRに関する情報に基づいて前記使用情報のうち使用可能なセマフォ数およびセマフォを取得したISRに関する情報を更新してセマフォを開放するセマフォ開放ステップと、
をさらに備えることを特徴とする請求項1に記載のリアルタイム組込み簡易モニタプログラム。 - 前記セマフォ構造体の使用情報は、使用可能なセマフォの数が設定されるセマフォ数と、セマフォを取得しているISRを識別するISR識別子が設定される所有ISRと、セマフォの取得を待っているセマフォ待ち状態のISRのISR識別子が設定される待ちISRとを含み、
前記セマフォ取得ステップは、
前記スケジューリングステップによって実行されたISRが要求するセマフォに対応付けられたセマフォ構造体のセマフォ数の値が1以上の場合、当該セマフォ数の値をデクリメントするとともに、セマフォを要求するISRのISR識別子を当該所有ISRに設定してセマフォを取得し、前記要求するセマフォに対応付けられたセマフォ構造体のセマフォ数が1より小さい場合、前記セマフォを要求するISRのISR識別子を当該待ちISRに設定して、前記セマフォを要求したISRに対応付けられたICBにセマフォ待ち状態を設定し、
前記セマフォ開放ステップは、
前記スケジューリングステップによって実行されたISRが開放するセマフォに対応付けられたセマフォ構造体のセマフォ数をインクリメントするとともに当該所有ISRに設定されているセマフォを開放するISRのISR識別子を削除し、当該待ちISRにISR識別子が設定されている場合には、当該セマフォ数をデクリメントするとともに当該待ちISRに設定されているISR識別子を当該所有ISRに設定し、当該待ちISRに設定されているISR識別子を削除し、新たにセマフォを取得したISRに対応付けられたICBに実行待ち状態を設定すること、
を特徴とする請求項2に記載のリアルタイム組込み簡易モニタプログラム。 - 前記ISR起動ステップは、
割込みが発生するごとに、発生した割込みの処理を行なうISRに対応付けられたICBの実行カウンタの値をインクリメントしてICBに割込み回数を保持させ、
前記スケジューリングステップは、
前記実行カウンタが保持する割込み回数だけ当該ICBを選択対象とし前記割込み回数だけ自身が対応づけられたISRを実行させ、
前記ISR終了ステップは、
前記実行カウンタの値をデクリメントすること、
を特徴とする請求項2または3に記載のリアルタイム組込み簡易モニタプログラム。 - 前記ISR起動ステップは、
前記発生した割込みの処理を行なうISRに対応付けられたICBの実行カウンタの値が、当該ICBに予め登録されている実行回数上限値以下の場合に、前記実行カウンタの値をインクリメントすること、
を特徴とする請求項4に記載のリアルタイム組込み簡易モニタプログラム。 - 前記セマフォ取得ステップは、
前記要求するセマフォが使用不可であると判定した場合に、前記要求するセマフォを取得しているISRの優先順位と前記セマフォを要求したISRの優先順位とを比較して、前記要求するセマフォを取得しているISRの優先順位が前記セマフォを要求したISRの優先順位よりも低い場合には、前記要求するセマフォを取得しているISRの優先順位と前記セマフォを要求したISRの優先順位とを交換するようにICB配列の接続を変更するとともに、優先順位を交換したISRに対応付けられたICBに優先順位を変更したことを示す情報を設定し、
前記セマフォ開放ステップは、
前記セマフォを開放するISRに対応付けられたICBに優先順位が変更されたことを示す情報が設定されている場合には、前記セマフォを開放するISRの現在の優先順位と、該セマフォを開放するISRと優先順位を交換したISRの現在の優先順位とを交換するようにICB配列の接続を変更するとともに、優先順位を交換したISRに対応付けられたICBに優先順位の変更がないことを示す情報を設定すること、
を特徴とする請求項2〜5の何れか一つに記載のリアルタイム組込み簡易モニタプログラム。 - 前記ISR起動ステップは、
割込みが発生するごとに、発生した割込みの処理を行なうISRに対応付けられたICBの実行カウンタの値をインクリメントしてICBに割込み回数を保持させ、
前記スケジューリングステップは、
前記実行カウンタが保持する割込み回数だけ当該ICBを選択対象とし前記割込み回数だけ自身が対応づけられたISRを実行させ、
前記ISR終了ステップは、
前記実行カウンタの値をデクリメントすること、
を特徴とする請求項1に記載のリアルタイム組込み簡易モニタプログラム。 - 前記ISR起動ステップは、
前記発生した割込みの処理を行なうISRに対応付けられたICBの実行カウンタの値が、当該ICBに予め登録されている実行回数上限値以下の場合に、前記実行カウンタの値をインクリメントすること、
を特徴とする請求項7に記載のリアルタイム組込み簡易モニタプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005228523A JP4068106B2 (ja) | 2005-08-05 | 2005-08-05 | リアルタイム組込み簡易モニタプログラム |
TW094145827A TWI306216B (en) | 2005-08-05 | 2005-12-22 | Real-time embedded simple monitor method, real-time embedded simple monitor program product and real-time embedded simple monitor program by computer-readable storage medium |
CNB2006100064140A CN100429625C (zh) | 2005-08-05 | 2006-01-20 | 实时内部简易监视方法 |
US11/350,068 US7472214B2 (en) | 2005-08-05 | 2006-02-09 | Real-time embedded simple monitor method and computer product |
HK07106107.0A HK1101434A1 (en) | 2005-08-05 | 2007-06-07 | Method of real-time embedded simple monitor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005228523A JP4068106B2 (ja) | 2005-08-05 | 2005-08-05 | リアルタイム組込み簡易モニタプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007047866A JP2007047866A (ja) | 2007-02-22 |
JP4068106B2 true JP4068106B2 (ja) | 2008-03-26 |
Family
ID=37700019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005228523A Expired - Fee Related JP4068106B2 (ja) | 2005-08-05 | 2005-08-05 | リアルタイム組込み簡易モニタプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7472214B2 (ja) |
JP (1) | JP4068106B2 (ja) |
CN (1) | CN100429625C (ja) |
HK (1) | HK1101434A1 (ja) |
TW (1) | TWI306216B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3976065B2 (ja) * | 2006-01-16 | 2007-09-12 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム |
US8214574B2 (en) * | 2006-09-08 | 2012-07-03 | Intel Corporation | Event handling for architectural events at high privilege levels |
US8359602B2 (en) * | 2008-02-21 | 2013-01-22 | Ca, Inc. | Method and system for task switching with inline execution |
JP2010140290A (ja) * | 2008-12-12 | 2010-06-24 | Panasonic Corp | マルチプロセッサシステム及びその排他制御の調停方法 |
JP2011232956A (ja) * | 2010-04-27 | 2011-11-17 | Clarion Co Ltd | コンピュータシステムとプログラム |
GB2497736A (en) * | 2011-12-16 | 2013-06-26 | St Microelectronics Ltd | Hardware monitor with context selector for selecting from multiple contexts |
JP5912804B2 (ja) * | 2012-04-20 | 2016-04-27 | 富士電機株式会社 | 周辺装置アクセスシステム |
JP2015076693A (ja) * | 2013-10-08 | 2015-04-20 | 株式会社リコー | 表示装置、表示システム、及びプログラム |
JP5917678B1 (ja) * | 2014-12-26 | 2016-05-18 | 株式会社Pfu | 情報処理装置、方法およびプログラム |
CN104503836B (zh) * | 2015-01-08 | 2018-01-30 | 辽宁科技大学 | 多核处理器进程调度系统和多核处理器进程调度方法 |
FR3033427B1 (fr) * | 2015-03-03 | 2018-05-18 | Zodiac Aerotechnics | Procede de sequencement de commandes d'execution, procede d'execution, programme d'ordinateur et circuit integre |
CN107584985A (zh) * | 2016-07-08 | 2018-01-16 | 福特环球技术公司 | 车辆中的用户需求式气候控制 |
US11113061B2 (en) * | 2019-09-26 | 2021-09-07 | Advanced Micro Devices, Inc. | Register saving for function calling |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4979055A (en) | 1987-06-02 | 1990-12-18 | Conner Peripherals, Inc. | Disk drive system controller architecture utilizing embedded real-time diagnostic monitor |
JP2650965B2 (ja) * | 1988-05-27 | 1997-09-10 | 株式会社日立製作所 | 計算機システムおよびそのタスクスケジュール方法 |
JPH03157733A (ja) * | 1989-11-16 | 1991-07-05 | Mitsubishi Electric Corp | タスクレディキュー管理装置 |
JPH04287233A (ja) * | 1991-03-18 | 1992-10-12 | Hitachi Ltd | 事象処理制御方法 |
JPH05257718A (ja) * | 1992-03-13 | 1993-10-08 | Mitsubishi Electric Corp | プロセス制御装置 |
JPH06187175A (ja) * | 1992-12-18 | 1994-07-08 | Erugu Kk | マルチタスクコンピューティングシステムの排他制御方式 |
JP3245500B2 (ja) | 1994-04-28 | 2002-01-15 | エヌイーシーマイクロシステム株式会社 | マルチプログラミングにおける事象管理方式 |
JPH0877025A (ja) * | 1994-09-01 | 1996-03-22 | Kokusai Electric Co Ltd | タスクの優先度制御方法、タスクの優先度制御装置 |
US5853874A (en) | 1994-11-28 | 1998-12-29 | Exxon Chemical Patents, Inc. | Low viscosity hot melt pressure sensitive ashesive compositions |
JP3727637B2 (ja) * | 1994-12-26 | 2005-12-14 | 三菱電機株式会社 | 制御ソフトウェア実行システムの制御方法 |
JPH1049386A (ja) * | 1996-08-02 | 1998-02-20 | Nec Corp | 資源排他方式 |
US6412035B1 (en) * | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US5987601A (en) * | 1997-02-14 | 1999-11-16 | Xyron Corporation | Zero overhead computer interrupts with task switching |
JP3432693B2 (ja) * | 1997-03-11 | 2003-08-04 | 三菱電機株式会社 | プラント監視制御システム |
JPH1124946A (ja) | 1997-07-04 | 1999-01-29 | Canon Inc | タスクスケジューリング装置および方法 |
US6298410B1 (en) * | 1997-12-31 | 2001-10-02 | Intel Corporation | Apparatus and method for initiating hardware priority management by software controlled register access |
US6430593B1 (en) * | 1998-03-10 | 2002-08-06 | Motorola Inc. | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system |
JPH11272480A (ja) | 1998-03-24 | 1999-10-08 | Nippon Telegr & Teleph Corp <Ntt> | オンチップリアルタイムos |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
JP2001092676A (ja) | 1999-09-22 | 2001-04-06 | Kenwood Corp | 組み込みプログラムにおけるタスク管理システム |
JP2003131892A (ja) | 2001-10-25 | 2003-05-09 | Matsushita Electric Ind Co Ltd | タスク実行制御装置及びタスク実行制御方法 |
JP2003345612A (ja) * | 2002-05-28 | 2003-12-05 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム |
JP2004127039A (ja) | 2002-10-03 | 2004-04-22 | Seiko Epson Corp | タスク排他制御方法及びタスク排他制御装置 |
JP4047783B2 (ja) * | 2003-09-01 | 2008-02-13 | 沖電気工業株式会社 | タスク制御方法とタスク切替装置 |
-
2005
- 2005-08-05 JP JP2005228523A patent/JP4068106B2/ja not_active Expired - Fee Related
- 2005-12-22 TW TW094145827A patent/TWI306216B/zh not_active IP Right Cessation
-
2006
- 2006-01-20 CN CNB2006100064140A patent/CN100429625C/zh not_active Expired - Fee Related
- 2006-02-09 US US11/350,068 patent/US7472214B2/en not_active Expired - Fee Related
-
2007
- 2007-06-07 HK HK07106107.0A patent/HK1101434A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US7472214B2 (en) | 2008-12-30 |
HK1101434A1 (en) | 2007-10-18 |
US20070033384A1 (en) | 2007-02-08 |
CN1908904A (zh) | 2007-02-07 |
CN100429625C (zh) | 2008-10-29 |
TWI306216B (en) | 2009-02-11 |
TW200707297A (en) | 2007-02-16 |
JP2007047866A (ja) | 2007-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4068106B2 (ja) | リアルタイム組込み簡易モニタプログラム | |
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
JP4580845B2 (ja) | タスク実行装置 | |
KR100848603B1 (ko) | 데이터 처리장치와 복귀상태의 저장방법 | |
JP4345630B2 (ja) | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム | |
TWI267782B (en) | Deallocation of computer data in a multithreaded computer | |
JP5809366B2 (ja) | ポータブルコンピューティングデバイスにおいて要求をスケジューリングするための方法およびシステム | |
US6820155B1 (en) | Interruption managing device and interruption managing method | |
JPWO2009157178A1 (ja) | 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路 | |
US20180203722A1 (en) | Method for reducing interrupt latency in embedded systems | |
JP4873423B2 (ja) | 仮想化プログラム、シミュレーション装置、仮想化方法 | |
JP2004288162A (ja) | 同期タスクを利用したオペレーティングシステムアーキテクチャ | |
WO2008148076A1 (en) | Lazy kernel thread binding | |
JP2005078640A (ja) | プロセッサ資源電力管理のためのスレッド・スケジューリング機構 | |
JP2008108075A (ja) | タスク切替え制御方法及びコンピュータシステム | |
EP1693743A2 (en) | System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock | |
JP4523910B2 (ja) | 並列処理装置及び並列処理方法及び並列処理プログラム | |
JP2005190207A (ja) | 割り込み制御装置、制御方法 | |
US20080307419A1 (en) | Lazy kernel thread binding | |
WO2008157455A2 (en) | Notifying user mode scheduler of blocking events | |
JP5557612B2 (ja) | 計算機及び転送プログラム | |
WO2023144939A1 (ja) | コンピュータ、制御方法及び制御プログラム | |
JP2005519393A (ja) | 仮想直接メモリ・アクセスのための方法及び装置 | |
JP2008225710A (ja) | コンピュータシステム及び該システムで用いられるプロセス切替え方法 | |
CN114443255A (zh) | 一种线程调用方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071130 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080109 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4068106 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130118 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |