JP2597283B2 - 割込みにおけるスケジューリング方式 - Google Patents
割込みにおけるスケジューリング方式Info
- Publication number
- JP2597283B2 JP2597283B2 JP4355545A JP35554592A JP2597283B2 JP 2597283 B2 JP2597283 B2 JP 2597283B2 JP 4355545 A JP4355545 A JP 4355545A JP 35554592 A JP35554592 A JP 35554592A JP 2597283 B2 JP2597283 B2 JP 2597283B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- processing
- priority
- schedule
- scheduler
- 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 - Lifetime
Links
Description
非同期に発生する複数の割り込みに、その処理の緊急性
に応じた優先順位を設定して処理の実行順番を制御する
リアルタイムシステムやリアルタイムOSの割込方式に
おけるスケジューリング方式に関する。
込方式について説明する。図7は、従来の割込み優先順
位の決定方法を説明するための図である。割込み要求を
発生する周辺装置12a〜12nは、割り込みの優先順
位が予め決められている物理インタフェース部13a〜
13nに接続されている。この例では周辺装置12aが
最高優先順位P1 の物理インタフェース部13aに接続
され、周辺装置12nが最低優先順位Pn の物理インタ
フェース部13nに接続されている。また実行中の処理
に対してはCPU11によって優先順位Pc が与えられ
る。このようにコンピュータのCPU,付加的な割込み
を発生する周辺装置によって、実行中の処理に優先順位
が付与され、さらに外部からの割り込み要求にも優先順
位が付与される。これによって互いの優先順位を比較
し、割込要求の優先順位が高ければ,直ちに割込みを発
生させる。逆に実行中の処理の優先順位が高ければ低く
なるまで待つこととなる。よって、割り込み処理が発生
すれば、その時点で,その処理の優先順位が一番高いと
いうことになる。
したがって割込処理の実行順番の一例を示す図である。
優先順位をPl >Pm >Pc >Pn とする。優先順位P
c の処理が実行されている時(CPUによって付与され
た優先順位がPc の時)、それより優先順位の低いPn
の割り込み要求があっても、その要求は発生しない。P
c より優先順位の高いPl やPm の割り込み要求が発生
すると、直ちに割り込みが発生し、CPUでの処理の優
先順位は、新しい割り込みの優先順位に設定される。こ
の例では優先順位Pc の割り込みが優先順位Pm の割り
込みに,優先順位Pm の割り込みが優先順位Pl の割り
込みに各々割り込まれている。最後に優先順位Pc の割
込み処理が終わってCPUでの処理の優先順位がPn 以
下になった時点で,ペンディングされていた優先順位P
n の割り込みが発生する。従来の割込優先順位は、この
ように割り込み要求を発生する各周辺機器が物理インタ
フェース部に接続された時点で決定されており、事前に
現在実行中の処理よりも優先順位の低い割り込みが発生
しないように制御されていた。
構成を頻繁に変更したり,同じ機器であっても使用方法
を変更する場合には、その都度ハードウェアの接続を変
更しなければならないという欠点があった。また、パー
ソナルコンピュータのように用途が汎用的なコンピュー
タの場合は、周辺機器ボードも内蔵されている周辺機器
も,事実上このような割り込みの変更は不可能である。
そのためパーソナルコンピュータを、正確な割込スケジ
ューリングを必要とする厳しいリアルタイムシステムで
は適用できないという問題があった。本発明の目的は、
上記問題を解決するもので、周辺機器の構成を頻繁に変
更したり,同じ機器であっても使用方法を変更する場
合、ハードウェア接続の変更の必要がなく、パーソナル
コンピュータのようなリアルタイム専用に作成されてい
ないコンピュータを広くリアルタイムシステムで使用可
能とした割込みにおけるスケジューリング方式を提供す
ることにある。
に本発明による割込みにおけるスケジューリング方式
は、コンピュータ外部から非同期に発生する複数の割り
込みに、その処理の緊急性に応じた優先順位を設定して
処理の実行順番を制御するリアルタイムシステムやリア
ルタイムOSの割込方式であって、前記割り込み要求が
発生すると、常にその割り込みを許可する許可手段と、
前記許可手段により許可された割り込みに緊急性のある
処理部分がある場合には、その緊急性のある処理部分と
優先順位に従って処理を進めても良い部分に分け、前記
優先順位に従って処理を進めても良い部分に優先順位を
付与する割込処理手段と、前記割込処理手段により起動
させられ、優先順位の割り込み処理待ちキューを作成し
てこのキューの順番に従って割込み処理を前記割込処理
手段に順に実行させるスケジュール手段とから構成し、
前記緊急性のある処理部分がある場合には前記スケジュ
ール手段を起動する前に前記緊急性のある処理部分を実
行しておき、前記優先順位に従って処理を進めても良い
部分は前記スケジュール手段を起動した後に、前記スケ
ジュール手段のスケジュールにしたがって処理を行うよ
うにしてある。
処理の負荷が若干かかることになるが、割り込み処理に
次のような機能を与えることができる。すなわち、割込
許可手段によりとりあえず割り込みを受け付けることに
よって,割り込み処理を緊急性のある処理部分と、優先
順位に従って処理を進めても良い部分に分割できる。割
り込み発生でただちに走行する部分で、スケジュール手
段(スケジューラ)を起動(コール)する前に緊急性の
ある処理を実行しておき、スケジューラを呼び出した後
の部分では、他の割り込みとCPUを奪い合いながら実
行すれば効率の良い処理を実行することができる。例え
ば、ある周辺機器によってシステム通信の受信という割
り込みが発生した場合、スケジューラを呼び出す前にデ
ータを取り出してバッファ部に格納しておき,スケジュ
ーラをコールした後の処理では,それを取り出してデー
タ加工するような処理に割り込み処理を分割できる。ま
た、本発明方式によって、柔軟性のあるリアルタイムシ
ステムやリアルタイムOSを作成することが可能とな
り、特にパーソナルコンピュータをそのままの状態でハ
ードウェアの設定を変更することなくリアルタイムシス
テムに応用することが可能となる。
説明する。図1は本発明による割込みにおけるスケジュ
ーリング方式を適用したシステム構成の実施例を示すブ
ロック図である。データ・プログラム記憶部2は、ハー
ドディスク装置であり、本発明を実現するためのプログ
ラムおよびデータが格納される。なお、この他にRO
M,RAM,フロッピーディスク装置,光磁気ディスク
装置等も記憶部として用いることができる。バッファ部
8は、データ・プログラム記憶部2のファイルや他のメ
モリ部を用いることができる。各周辺装置4a〜4n
は、物理インタフェース部3a〜3nに接続されてい
る。CPU1はデータ・プログラム記憶部2から読み出
したプログラムに基づき各手段を実現している。許可手
段5は各周辺装置から発生した割込み要求に対し、一律
に割り込みを許可する。割込処理手段6は、この割り込
みに対し優先順位を指示してスケジュール手段7を起動
する。スケジュール手段7は、割り込処理の優先順位に
したがって割込処理待ちキュー7aを作成する。割込処
理手段6はこの割込処理待ちキュー7aのスケジュール
に従って割込みを処理していく。
場合の割込処理の実行順を示す図である。本発明方式に
よれば、図8では割り込みを発生させられなかった優先
順位Pn の処理も、割り込みを発生する。割り込んだ処
理によって、割り込みのスケジューラをコールする。ス
ケジューラはそこで割り込み処理の優先順位に従ったス
ケジューリングを実行し、CPUを使用できる処理を決
定して実行させる。この結果の実行順番は、図8の方式
と異ならないが、本発明の方が図8より、スケジューラ
が走行する分オーバヘッドがかかっている。図中、
Pl ,Pm ,Pc およびPn はその処理の実行を、Sは
スケジューラの実行を、(S)はそれぞれの優先順位を
指定してスケジューラをコールすることを、(e)は処
理の終了を通知するためにスケジューラをコールするこ
とをそれぞれ示している。現在実行中の処理より優先順
位の低い割り込みでも、Aのようにとりあえず一定の処
理を実行しておいて、スケジューリングした後に、自己
の優先順位になった時点でBのように別の処理を実行で
きる。
ーラが割込処理を優先順位にしたがって走行させるため
に作成した処理待ちキューの概念図である。優先順位P
l の割込処理が走行している状態を示しており、処理待
ちキューは優先順位にしたがって優先順位Pl からPn
まで順にリンクされている。
フローチャートである。キュー用のエリアをパラメータ
として,スケジューラを呼び出す。このとき、パラメー
タ中に優先順位を指定する。スケジューラは割込処理手
段から割込処理を受けて処理を開始する。図5にはその
ときのパラメータが示されている。パラメータとしては
リンクを作成するためのエリアと、処理を再開させるた
めに必要なデータをセーブするエリアと、優先順位を示
すエリアとから構成されている。スケジューラはまずリ
ンクヘッダをたどって優先順位を探索する(ステップ
(以下「ST」という)1)。そして、指定された優先
順位により優先順位Pl のキューの位置と優先順位Pn
のキューの位置の間に新しい処理が位置することを決定
する。ST2ではその位置に新しいキューデータを挿入
する。図5のCはこの挿入された状態が示されている。
キューデータとしては優先順位のエリアに優先順位を、
セーブデータエリアには、実行を再開する位置を指定す
るIP(Instruction Pointer )をセーブしているスタ
ックポインタを記憶する。さらにST3では、先頭にリ
ンクされているキューのセーブデータを回復し、その処
理を開始させる。そして割込処理の終了を通知してきた
ときは、先頭のリンクを削除する(ST4)。その結
果、リンクは図5のDに示すようになる。
スケジューリング方式が従来の割込方式より柔軟性を持
っていることを説明するための図である。処理の優先順
位は低くて、処理時間も比較的長い割り込み処理である
が、データの読み込みだけは急がないとデータが壊され
るような場合を想定する。例えばデータ受信の場合、本
発明によれば、とりあえずデータを受信してバッファに
格納する処理と,それを加工する処理を各々別の優先順
位で走行させることが可能となる。本図において、割り
込みを受けてスケジューラをコールするまでの処理P1
でデータをバッファ部8へ格納している。割り込み直後
からスケジューラを呼び出すまでの最優先順位の処理
は、他の割り込みを受け付けない割込禁止のモードで処
理を行う。スケジューラから起動された時には,その処
理P2はスケジューラをコールした時に指示した優先順
位で走行しており、他の割り込みと競合しながら走行す
る。図6(b)はCPUを使用する順番(処理実行の様
子)を示す図である。
ば、ハードウェアの変更,接続替えは、プログラムを修
正するだけで新しい割り込み処理に対応することができ
る。したがって、パーソナルコンピュータのようなリア
ルタイム専用に作成されていないコンピュータを、広く
リアルタイムシステムで使用できるようになるという効
果がある。
方式を適用したシステム構成の実施例を示すブロック図
である。
理を優先順位にしたがって走行させるために作成した処
理待ちキューの概念図である。
トである。
方式が従来の割込方式より柔軟性を持っていることを説
明するための図である。
めの図である。
行順番の一例を示す図である。
Claims (1)
- 【請求項1】 コンピュータ外部から非同期に発生する
複数の割り込みに、その処理の緊急性に応じた優先順位
を設定して処理の実行順番を制御するリアルタイムシス
テムやリアルタイムOSの割込方式であって、 前記割り込み要求が発生すると、常にその割り込みを許
可する許可手段と、前記許可手段により許可された割り込みに緊急性のある
処理部分がある場合には、その緊急性のある処理部分と
優先順位に従って処理を進めても良い部分に分け、前記
優先順位に従って処理を進めても良い部分に 優先順位を
付与する割込処理手段と、 前記割込処理手段により起動させられ、優先順位の割り
込み処理待ちキューを作成してこのキューの順番に従っ
て割込み処理を前記割込処理手段に順に実行させるスケ
ジュール手段とから構成し、 前記緊急性のある処理部分がある場合には前記スケジュ
ール手段を起動する前に前記緊急性のある処理部分を実
行しておき、前記優先順位に従って処理を進めても良い
部分は前記スケジュール手段を起動した後に、前記スケ
ジュール手段のスケジュールにしたがって処理を行うこ
とを 特徴とする割込みにおけるスケジューリング方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4355545A JP2597283B2 (ja) | 1992-12-18 | 1992-12-18 | 割込みにおけるスケジューリング方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4355545A JP2597283B2 (ja) | 1992-12-18 | 1992-12-18 | 割込みにおけるスケジューリング方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06187171A JPH06187171A (ja) | 1994-07-08 |
JP2597283B2 true JP2597283B2 (ja) | 1997-04-02 |
Family
ID=18444550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4355545A Expired - Lifetime JP2597283B2 (ja) | 1992-12-18 | 1992-12-18 | 割込みにおけるスケジューリング方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2597283B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
JP4357442B2 (ja) | 2005-03-23 | 2009-11-04 | 株式会社東芝 | プラン実行装置、プラン実行方法およびプログラム |
JP5243711B2 (ja) * | 2006-11-10 | 2013-07-24 | セイコーエプソン株式会社 | プロセッサ |
JP6201921B2 (ja) * | 2014-07-14 | 2017-09-27 | 株式会社デンソー | マイクロコンピュータ |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02196359A (ja) * | 1989-01-26 | 1990-08-02 | Hitachi Ltd | データ処理システム |
-
1992
- 1992-12-18 JP JP4355545A patent/JP2597283B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH06187171A (ja) | 1994-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7448036B2 (en) | System and method for thread scheduling with weak preemption policy | |
US20110302587A1 (en) | Information processing device and information processing method | |
JPH06250853A (ja) | プロセス・スケジューリングの管理方法およびシステム | |
US6721948B1 (en) | Method for managing shared tasks in a multi-tasking data processing system | |
EP1297432B1 (en) | Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts | |
EP1892625B1 (en) | Finer grained operating system scheduling | |
US5241676A (en) | Method for controlling process priority in semaphore operation | |
JP2597283B2 (ja) | 割込みにおけるスケジューリング方式 | |
JPH11212810A (ja) | タイム・クアンタム共有方法および装置 | |
JP2001117786A (ja) | プロセススケジューリング装置およびプロセススケジューリング方法 | |
KR101377195B1 (ko) | 컴퓨터 마이크로 작업 | |
JPH09251389A (ja) | データ処理装置 | |
JP3005562B1 (ja) | タスク管理装置及びタスクスケジューリング方法 | |
JPH05250188A (ja) | プロセスのプライオリティ制御方式 | |
JPH0877039A (ja) | テスト方法 | |
JP4057769B2 (ja) | 割り込み管理装置及び割り込み管理方法 | |
JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
JP2005190238A (ja) | リアルタイム制御方式 | |
JP3043748B1 (ja) | タスクスケジュ―リング方法及び装置 | |
JP2553526B2 (ja) | マルチタスク処理装置 | |
JP2822728B2 (ja) | コンピュータシステム | |
JPH03116335A (ja) | 非特権cpuから特権cpuヘの乗り移り方式 | |
JPH11327921A (ja) | 計算機システムに於けるスレッド優先度制御装置、及びスレッド優先度制御方法 | |
JP2504833B2 (ja) | 処理実行管理方式 | |
JP2000029850A (ja) | オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100109 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110109 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term |