JP2544896B2 - スケジュ―リング方法およびスケジュ―リング装置 - Google Patents
スケジュ―リング方法およびスケジュ―リング装置Info
- Publication number
- JP2544896B2 JP2544896B2 JP5279376A JP27937693A JP2544896B2 JP 2544896 B2 JP2544896 B2 JP 2544896B2 JP 5279376 A JP5279376 A JP 5279376A JP 27937693 A JP27937693 A JP 27937693A JP 2544896 B2 JP2544896 B2 JP 2544896B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- identifier
- state
- execution
- stack
- 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
Description
領域において行なう際のスケジューリング方法およびス
ケジューリング装置に関するものである。
て行なうに際しては、各タスクが使用するスタック領域
をタスク毎に割り当て、各タスクの実行状態を、中央処
理装置で実行中である走行状態と、中央処理装置の割り
当てを待っている走行可能状態と、他のタスクからの信
号などの事象を待っている走行待ち状態との3つの状態
に分けてスケジューリングを行なっていた。
ジューリング方法では、走行状態となる可能性を全ての
タスクが有しているため、各タスクが使用するスタック
領域をタスク毎に割り当てる必要があり、このため、ス
タック領域の容量が少ない場合にはタスクが走行状態と
なるだけの領域を確保できず、その結果、スケジューリ
ングできないという問題点があった。
であり、複数のタスクが、同一のスタックを使用するこ
とによりスタック領域の容量の低減を図った場合におい
てもスケジューリングを可能とするスケジューリング方
法およびスケジューリング装置を提供することを目的と
する。
可能状態と走行待ち状態と走行状態と走行不可能状態と
の少なくとも4つの実行状態とシステム内で一意の識別
子とを持つタスクが、タスク切り替えにより複数個実行
されるシステムにおけるスケジューリング方法であっ
て、各タスクの識別子と実行状態とを格納するタスク情
報格納部と、各タスクの識別子と各タスクが使用する最
大のスタック容量とを格納すると共に、タスクの実行状
態が走行不可能状態でありかつスタックが割り当てられ
ていない場合に実行状態が走行状態か走行待ち状態か走
行可能状態かのいずれかの状態となり、かつタスクの実
行状態が走行状態か走行待ち状態か走行可能状態かのい
ずれかの状態である場合に走行不可能状態となる実行保
護タスクの識別子と、実行保護タスクが走行不可能状態
となる場合に使用する最大のスタック容量とを格納する
実行保護タスク格納部とを用い、タスクの切り替え要求
を発生するタスク切り替え要求ステップと、タスク切り
替え要求ステップにおいてタスク切り替え要求が発生さ
れることにより、タスク情報格納部と実行保護タスク格
納部とを検索して、いずれのタスクに対しても実行保護
タスクではなくかつ実行状態が走行不可能状態であるタ
スクの識別子を抽出する実行可能タスク抽出ステップ
と、タスクの実行状態が走行状態であるタスクの実行状
態を走行可能状態に変更し、タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出ステ
ップと、実行中タスク抽出ステップにおいて抽出された
識別子を第1の識別子とし、実行可能タスク抽出ステッ
プにおいて抽出された識別子を第2の識別子としたとき
に、実行保護タスク格納部を検索して、第1の識別子に
対応するタスクが第2の識別子に対応するタスクの実行
保護タスクである第1の識別子と第2の識別子との組合
せを抽出するスタック使用可能タスク抽出ステップと、
実行保護タスク格納部を検索して、スタック使用可能タ
スク抽出ステップにおいて抽出された第1の識別子と第
2の識別子との組合せにおける第1の識別子に対応する
タスクが実行不可能状態となる場合に使用する最大のス
タック容量を得、そのスタック容量よりも第1の識別子
に対応するタスクが現在使用しているスタック容量が小
さい第1の識別子と第2の識別子との組合せを抽出する
スタック使用可能タスク選択ステップと、スタック使用
可能タスク選択ステップにおいて抽出された第1の識別
子と第2の識別子との組合せにおける第1の識別子に対
応するタスクの実行状態を走行不可能状態にし、第2の
識別子に対応するタスクの実行状態を走行状態にするタ
スク切り替えステップと、を実行することを特徴として
いる。
ち状態と走行状態と走行不可能状態との少なくとも4つ
の実行状態とシステム内で一意の識別子とを持つタスク
が、タスク切り替えにより複数個実行される計算機シス
テムにおけるスケジューリング装置であって、各タスク
の識別子と実行状態とを格納するタスク情報格納部と、
各タスクの識別子と各タスクが使用する最大のスタック
容量とを格納すると共に、タスクの実行状態が走行不可
能状態でありかつスタックが割り当てられていない場合
に実行状態が走行状態か走行待ち状態か走行可能状態か
のいずれかの状態となり、かつタスクの実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
である場合に走行不可能状態となる実行保護タスクの識
別子と、実行保護タスクが走行不可能状態となる場合に
使用する最大のスタック容量とを格納する実行保護タス
ク格納部と、タスクの切り替え要求を発生するタスク切
り替え要求部と、タスク切り替え要求部がタスク切り替
え要求を発生したときに、タスク情報格納部と実行保護
タスク格納部とを検索して、いずれのタスクに対しても
実行保護タスクではなくかつ実行状態が走行不可能状態
であるタスクの識別子を抽出する実行可能タスク抽出部
と、タスクの実行状態が走行状態であるタスクの実行状
態を走行可能状態に変更し、タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出部
と、実行中タスク抽出部により抽出された識別子を第1
の識別子とし、実行可能タスク抽出部により抽出された
識別子を第2の識別子としたときに、実行保護タスク格
納部を検索して、第1の識別子に対応するタスクが第2
の識別子に対応するタスクの実行保護タスクである第1
の識別子と第2の識別子との組合せを抽出するスタック
使用可能タスク抽出部と、実行保護タスク格納部を検索
して、スタック使用可能タスク抽出部により抽出された
第1の識別子と第2の識別子との組合せにおける第1の
識別子に対応するタスクが実行不可能状態となる場合に
使用する最大のスタック容量を得、そのスタック容量よ
りも第1の識別子に対応するタスクが現在使用している
スタック容量が小さい第1の識別子と第2の識別子との
組合せを抽出するスタック使用可能タスク選択部と、ス
タック使用可能タスク選択部により抽出された第1の識
別子と第2の識別子との組合せにおける第1の識別子に
対応するタスクの実行状態を走行不可能状態にし、第2
の識別子に対応するタスクの実行状態を走行状態にする
タスク切り替え部と、を備えたことを特徴としている。
ち状態と走行状態と走行不可能状態との少なくとも4つ
の実行状態とシステム内で一意の識別子とを持つタスク
が、タスク切り替えにより複数個実行される計算機シス
テムにおけるスケジューリング方法であって、各タスク
の識別子と実行状態とを格納するタスク情報格納部と、
各タスクの識別子と各タスクが使用する最大のスタック
容量とを格納すると共に、タスクの実行状態が走行不可
能状態でありかつスタックが割り当てられていない場合
に実行状態が走行状態か走行待ち状態か走行可能状態か
のいずれかの状態となり、かつタスクの実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
である場合に走行不可能状態となる実行保護タスクの識
別子と、実行保護タスクが走行不可能状態となる場合に
使用する最大のスタック容量とを格納する実行保護タス
ク格納部と、タスクの実行状態とスタックポインタとを
格納するスタックポインタ格納部とを用いて、タスクの
切り替え要求を発生するタスク切り替え要求ステップ
と、タスク切り替え要求ステップにおいてタスク切り替
え要求が発生されることにより、タスク情報格納部と実
行保護タスク格納部とを検索して、いずれのタスクに対
しても実行保護タスクではなくかつ実行状態が走行不可
能状態であるタスクの識別子を抽出する実行可能タスク
抽出ステップと、タスクの実行状態が走行状態であるタ
スクの実行状態を走行可能状態に変更し、タスク情報格
納部を検索してタスクの実行状態が走行待ち状態または
走行可能状態であるタスクの識別子を抽出する実行中タ
スク抽出ステップと、実行中タスク抽出ステップにおい
て抽出された識別子を第1の識別子とし、実行可能タス
ク抽出ステップにおいて抽出された識別子を第2の識別
子としたときに、実行保護タスク格納部を検索して、第
1の識別子に対応するタスクが第2の識別子に対応する
タスクの実行保護タスクである第1の識別子と第2の識
別子との組合せを抽出するスタック使用可能タスク抽出
ステップと、スタック使用可能タスク抽出ステップにお
いて抽出された第1の識別子と第2の識別子との組合せ
において実行保護タスクとなり得る識別子に対応するタ
スクの実行状態をスタックポインタ格納部に格納し、実
行保護タスクとなり得るタスクの実行状態を走行待ち状
態に変更し、実行保護タスクとなり得るタスクが使用し
ているスタック内のデータを圧縮し、実行保護タスクと
なり得るタスクのスタックポインタをスタックポインタ
格納部に格納するスタックデータ圧縮ステップと、実行
保護タスク格納部を検索して、スタック使用可能タスク
抽出ステップにおいて抽出された第1の識別子と第2の
識別子との組合せにおける第1の識別子に対応するタス
クが実行不可能状態となる場合に使用する最大のスタッ
ク容量を得、そのスタック容量よりも第1の識別子に対
応するタスクが現在使用しているスタック容量が小さい
第1の識別子と第2の識別子との組合せを抽出するスタ
ック使用可能タスク選択ステップと、スタック使用可能
タスク選択ステップにおいて抽出された第1の識別子と
第2の識別子との組合せにおける第1の識別子に対応す
るタスクの実行状態を走行不可能状態にし、第2の識別
子に対応するタスクの実行状態を走行状態にするタスク
切り替えステップと、タスク情報格納部を検索して実行
状態が走行待ち状態であるタスクの識別子を全て抽出
し、スタックポインタ格納部を検索してタスク情報格納
部から抽出した識別子に対応するタスクのスタックポイ
ンタと実行状態とを抽出し、スタックポインタ格納部か
らスタックポインタと実行状態とを抽出したタスクが使
用しているスタック内のデータを展開し、スタックポイ
ンタ格納部からスタックポインタと実行状態とを抽出し
たタスクの実行状態をスタックポインタ格納部から抽出
した実行状態に変更し、スタックポインタ格納部からス
タックポインタと実行状態とを抽出したタスクのスタッ
クポインタと実行状態とをスタックポインタ格納部から
削除するスタックデータ展開ステップと、を実行するこ
とを特徴としている。
ち状態と走行状態と走行不可能状態との少なくとも4つ
の実行状態とシステム内で一意の識別子とを持つタスク
が、タスク切り替えにより複数個実行される計算機シス
テムにおけるスケジューリング装置であって、各タスク
の識別子と実行状態とを格納するタスク情報格納部と、
各タスクの識別子と各タスクが使用する最大のスタック
容量とを格納すると共に、タスクの実行状態が走行不可
能状態でありかつスタックが割り当てられていない場合
に実行状態が走行状態か走行待ち状態か走行可能状態か
のいずれかの状態となり、かつタスクの実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
である場合に走行不可能状態となる実行保護タスクの識
別子と、実行保護タスクが走行不可能状態となる場合に
使用する最大のスタック容量とを格納する実行保護タス
ク格納部と、タスクの実行状態とスタックポインタとを
格納するスタックポインタ格納部と、タスクの切り替え
要求を発生するタスク切り替え要求部と、タスク切り替
え要求部がタスク切り替え要求を発生したときに、タス
ク情報格納部と実行保護タスク格納部とを検索して、い
ずれのタスクに対しても実行保護タスクではなくかつ実
行状態が走行不可能状態であるタスクの識別子を抽出す
る実行可能タスク抽出部と、タスクの実行状態が走行状
態であるタスクの実行状態を走行可能状態に変更し、タ
スク情報格納部を検索してタスクの実行状態が走行待ち
状態または走行可能状態であるタスクの識別子を抽出す
る実行中タスク抽出部と、実行中タスク抽出部により抽
出された識別子を第1の識別子とし、実行可能タスク抽
出部により抽出された識別子を第2の識別子としたとき
に、実行保護タスク格納部を検索して、第1の識別子に
対応するタスクが第2の識別子に対応するタスクの実行
保護タスクである第1の識別子と第2の識別子との組合
せを抽出するスタック使用可能タスク抽出部と、スタッ
ク使用可能タスク抽出部により抽出された第1の識別子
と第2の識別子との組合せにおいて実行保護タスクとな
り得る識別子に対応するタスクの実行状態をスタックポ
インタ格納部に格納し、実行保護タスクとなり得るタス
クの実行状態を走行待ち状態に変更し、実行保護タスク
となり得るタスクが使用しているスタック内のデータを
圧縮し、実行保護タスクとなり得るタスクのスタックポ
インタをスタックポインタ格納部に格納するスタックデ
ータ圧縮部と、実行保護タスク格納部を検索して、スタ
ック使用可能タスク抽出部により抽出された第1の識別
子と第2の識別子との組合せにおける第1の識別子に対
応するタスクが実行不可能状態となる場合に使用する最
大のスタック容量を得、そのスタック容量よりも第1の
識別子に対応するタスクが現在使用しているスタック容
量が小さい第1の識別子と第2の識別子との組合せを抽
出するスタック使用可能タスク選択部と、スタック使用
可能タスク選択部により抽出された第1の識別子と第2
の識別子との組合せにおける第1の識別子に対応するタ
スクの実行状態を走行不可能状態にし、第2の識別子に
対応するタスクの実行状態を走行状態にするタスク切り
替え部と、タスク情報格納部を検索して実行状態が走行
待ち状態であるタスクの識別子を全て抽出し、スタック
ポインタ格納部を検索してタスク情報格納部から抽出し
た識別子に対応するタスクのスタックポインタと実行状
態とを抽出し、スタックポインタ格納部からスタックポ
インタと実行状態とを抽出したタスクが使用しているス
タック内のデータを展開し、スタックポインタ格納部か
らスタックポインタと実行状態とを抽出したタスクの実
行状態をスタックポインタ格納部から抽出した実行状態
に変更し、スタックポインタ格納部からスタックポイン
タと実行状態とを抽出したタスクのスタックポインタと
実行状態とをスタックポインタ格納部から削除するスタ
ックデータ展開部と、を備えたことを特徴としている。
求ステップで、タスクの切り替え要求を発生し、実行可
能タスク抽出ステップで、タスク切り替え要求ステップ
においてタスク切り替え要求が発生されることにより、
タスク情報格納部と実行保護タスク格納部とを検索し
て、いずれのタスクに対しても実行保護タスクではなく
かつ実行状態が走行不可能状態であるタスクの識別子を
抽出し、実行中タスク抽出ステップで、タスクの実行状
態が走行状態であるタスクの実行状態を走行可能状態に
変更し、タスク情報格納部を検索してタスクの実行状態
が走行待ち状態または走行可能状態であるタスクの識別
子を抽出し、スタック使用可能タスク抽出ステップで、
実行中タスク抽出ステップにおいて抽出された識別子を
第1の識別子とし、実行可能タスク抽出ステップにおい
て抽出された識別子を第2の識別子としたときに、実行
保護タスク格納部を検索して、第1の識別子に対応する
タスクが第2の識別子に対応するタスクの実行保護タス
クである第1の識別子と第2の識別子との組合せを抽出
し、スタック使用可能タスク選択ステップで、実行保護
タスク格納部を検索して、スタック使用可能タスク抽出
ステップにおいて抽出された第1の識別子と第2の識別
子との組合せにおける第1の識別子に対応するタスクが
実行不可能状態となる場合に使用する最大のスタック容
量を得、そのスタック容量よりも第1の識別子に対応す
るタスクが現在使用しているスタック容量が小さい第1
の識別子と第2の識別子との組合せを抽出し、タスク切
り替えステップで、スタック使用可能タスク選択ステッ
プにおいて抽出された第1の識別子と第2の識別子との
組合せにおける第1の識別子に対応するタスクの実行状
態を走行不可能状態にし、第2の識別子に対応するタス
クの実行状態を走行状態にする。
部は、各タスクの識別子と実行状態とを格納する。実行
保護タスク格納部は、各タスクの識別子と各タスクが使
用する最大のスタック容量とを格納すると共に、タスク
の実行状態が走行不可能状態でありかつスタックが割り
当てられていない場合に実行状態が走行状態か走行待ち
状態か走行可能状態かのいずれかの状態となり、かつタ
スクの実行状態が走行状態か走行待ち状態か走行可能状
態かのいずれかの状態である場合に走行不可能状態とな
る実行保護タスクの識別子と、実行保護タスクが走行不
可能状態となる場合に使用する最大のスタック容量とを
格納する。タスク切り替え要求部は、タスクの切り替え
要求を発生する。実行可能タスク抽出部は、タスク切り
替え要求部がタスク切り替え要求を発生したときに、タ
スク情報格納部と実行保護タスク格納部とを検索して、
いずれのタスクに対しても実行保護タスクではなくかつ
実行状態が走行不可能状態であるタスクの識別子を抽出
する。実行中タスク抽出部は、タスクの実行状態が走行
状態であるタスクの実行状態を走行可能状態に変更し、
タスク情報格納部を検索してタスクの実行状態が走行待
ち状態または走行可能状態であるタスクの識別子を抽出
する。スタック使用可能タスク抽出部は、実行中タスク
抽出部により抽出された識別子を第1の識別子とし、実
行可能タスク抽出部により抽出された識別子を第2の識
別子としたときに、実行保護タスク格納部を検索して、
第1の識別子に対応するタスクが第2の識別子に対応す
るタスクの実行保護タスクである第1の識別子と第2の
識別子との組合せを抽出する。スタック使用可能タスク
選択部は、実行保護タスク格納部を検索して、スタック
使用可能タスク抽出部により抽出された第1の識別子と
第2の識別子との組合せにおける第1の識別子に対応す
るタスクが実行不可能状態となる場合に使用する最大の
スタック容量を得、そのスタック容量よりも第1の識別
子に対応するタスクが現在使用しているスタック容量が
小さい第1の識別子と第2の識別子との組合せを抽出す
る。タスク切り替え部は、スタック使用可能タスク選択
部により抽出された第1の識別子と第2の識別子との組
合せにおける第1の識別子に対応するタスクの実行状態
を走行不可能状態にし、第2の識別子に対応するタスク
の実行状態を走行状態にする。
え要求ステップで、タスクの切り替え要求を発生し、実
行可能タスク抽出ステップで、タスク切り替え要求ステ
ップにおいてタスク切り替え要求が発生されることによ
り、タスク情報格納部と実行保護タスク格納部とを検索
して、いずれのタスクに対しても実行保護タスクではな
くかつ実行状態が走行不可能状態であるタスクの識別子
を抽出し、実行中タスク抽出ステップで、タスクの実行
状態が走行状態であるタスクの実行状態を走行可能状態
に変更し、タスク情報格納部を検索してタスクの実行状
態が走行待ち状態または走行可能状態であるタスクの識
別子を抽出し、スタック使用可能タスク抽出ステップ
で、実行中タスク抽出ステップにおいて抽出された識別
子を第1の識別子とし、実行可能タスク抽出ステップに
おいて抽出された識別子を第2の識別子としたときに、
実行保護タスク格納部を検索して、第1の識別子に対応
するタスクが第2の識別子に対応するタスクの実行保護
タスクである第1の識別子と第2の識別子との組合せを
抽出し、スタックデータ圧縮ステップで、スタック使用
可能タスク抽出ステップにおいて抽出された第1の識別
子と第2の識別子との組合せにおいて実行保護タスクと
なり得る識別子に対応するタスクの実行状態をスタック
ポインタ格納部に格納し、実行保護タスクとなり得るタ
スクの実行状態を走行待ち状態に変更し、実行保護タス
クとなり得るタスクが使用しているスタック内のデータ
を圧縮し、実行保護タスクとなり得るタスクのスタック
ポインタをスタックポインタ格納部に格納し、スタック
使用可能タスク選択ステップで、実行保護タスク格納部
を検索して、スタック使用可能タスク抽出ステップにお
いて抽出された第1の識別子と第2の識別子との組合せ
における第1の識別子に対応するタスクが実行不可能状
態となる場合に使用する最大のスタック容量を得、その
スタック容量よりも第1の識別子に対応するタスクが現
在使用しているスタック容量が小さい第1の識別子と第
2の識別子との組合せを抽出し、タスク切り替えステッ
プで、スタック使用可能タスク選択ステップにおいて抽
出された第1の識別子と第2の識別子との組合せにおけ
る第1の識別子に対応するタスクの実行状態を走行不可
能状態にし、第2の識別子に対応するタスクの実行状態
を走行状態にし、スタックデータ展開ステップで、タス
ク情報格納部を検索して実行状態が走行待ち状態である
タスクの識別子を全て抽出し、スタックポインタ格納部
を検索してタスク情報格納部から抽出した識別子に対応
するタスクのスタックポインタと実行状態とを抽出し、
スタックポインタ格納部からスタックポインタと実行状
態とを抽出したタスクが使用しているスタック内のデー
タを展開し、スタックポインタ格納部からスタックポイ
ンタと実行状態とを抽出したタスクの実行状態をスタッ
クポインタ格納部から抽出した実行状態に変更し、スタ
ックポインタ格納部からスタックポインタと実行状態と
を抽出したタスクのスタックポインタと実行状態とをス
タックポインタ格納部から削除する。
部は、各タスクの識別子と実行状態とを格納する。実行
保護タスク格納部は、各タスクの識別子と各タスクが使
用する最大のスタック容量とを格納すると共に、タスク
の実行状態が走行不可能状態でありかつスタックが割り
当てられていない場合に実行状態が走行状態か走行待ち
状態か走行可能状態かのいずれかの状態となり、かつタ
スクの実行状態が走行状態か走行待ち状態か走行可能状
態かのいずれかの状態である場合に走行不可能状態とな
る実行保護タスクの識別子と、実行保護タスクが走行不
可能状態となる場合に使用する最大のスタック容量とを
格納する。スタックポインタ格納部は、タスクの実行状
態とスタックポインタとを格納する。タスク切り替え要
求部は、タスクの切り替え要求を発生する。実行可能タ
スク抽出部は、タスク切り替え要求部がタスク切り替え
要求を発生したときに、タスク情報格納部と実行保護タ
スク格納部とを検索して、いずれのタスクに対しても実
行保護タスクではなくかつ実行状態が走行不可能状態で
あるタスクの識別子を抽出する。実行中タスク抽出部
は、タスクの実行状態が走行状態であるタスクの実行状
態を走行可能状態に変更し、タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する。スタック使用可能タ
スク抽出部は、実行中タスク抽出部により抽出された識
別子を第1の識別子とし、実行可能タスク抽出部により
抽出された識別子を第2の識別子としたときに、実行保
護タスク格納部を検索して、第1の識別子に対応するタ
スクが第2の識別子に対応するタスクの実行保護タスク
である第1の識別子と第2の識別子との組合せを抽出す
る。スタックデータ圧縮部は、スタック使用可能タスク
抽出部により抽出された第1の識別子と第2の識別子と
の組合せにおいて実行保護タスクとなり得る識別子に対
応するタスクの実行状態をスタックポインタ格納部に格
納し、実行保護タスクとなり得るタスクの実行状態を走
行待ち状態に変更し、実行保護タスクとなり得るタスク
が使用しているスタック内のデータを圧縮し、実行保護
タスクとなり得るタスクのスタックポインタをスタック
ポインタ格納部に格納する。スタック使用可能タスク選
択部は、実行保護タスク格納部を検索して、スタック使
用可能タスク抽出部により抽出された第1の識別子と第
2の識別子との組合せにおける第1の識別子に対応する
タスクが実行不可能状態となる場合に使用する最大のス
タック容量を得、そのスタック容量よりも第1の識別子
に対応するタスクが現在使用しているスタック容量が小
さい第1の識別子と第2の識別子との組合せを抽出す
る。タスク切り替え部は、スタック使用可能タスク選択
部により抽出された第1の識別子と第2の識別子との組
合せにおける第1の識別子に対応するタスクの実行状態
を走行不可能状態にし、第2の識別子に対応するタスク
の実行状態を走行状態にする。スタックデータ展開部
は、タスク情報格納部を検索して実行状態が走行待ち状
態であるタスクの識別子を全て抽出し、スタックポイン
タ格納部を検索してタスク情報格納部から抽出した識別
子に対応するタスクのスタックポインタと実行状態とを
抽出し、スタックポインタ格納部からスタックポインタ
と実行状態とを抽出したタスクが使用しているスタック
内のデータを展開し、スタックポインタ格納部からスタ
ックポインタと実行状態とを抽出したタスクの実行状態
をスタックポインタ格納部から抽出した実行状態に変更
し、スタックポインタ格納部からスタックポインタと実
行状態とを抽出したタスクのスタックポインタと実行状
態とをスタックポインタ格納部から削除する。
説明する。 (実施例1)図1は本発明の実施例1におけるスケジュ
ーリング装置の構成図で、このスケジューリング装置
は、タスク情報格納部1と、実行保護タスク格納部2
と、タスク切り替え要求部3と、実行可能タスク抽出部
4と、実行中タスク抽出部5と、スタック使用可能タス
ク抽出部6と、スタック使用可能タスク選択部7と、タ
スク切り替え部8とを備えている。タスク情報格納部1
は、各タスクの識別子と実行状態とを格納する。実行保
護タスク格納部2は、各タスクの識別子と各タスクが使
用する最大のスタック容量とを格納すると共に、タスク
の実行状態が走行不可能状態でありかつスタックが割り
当てられていない場合に実行状態が走行状態か走行待ち
状態か走行可能状態かのいずれかの状態となり、かつタ
スクの実行状態が走行状態か走行待ち状態か走行可能状
態かのいずれかの状態である場合に走行不可能状態とな
る実行保護タスクの識別子と、実行保護タスクが走行不
可能状態となる場合に使用する最大のスタック容量とを
格納する。タスク切り替え要求部3は、タスクの切り替
え要求を発生する。実行可能タスク抽出部4は、タスク
切り替え要求部3がタスク切り替え要求を発生したとき
に、タスク情報格納部1と実行保護タスク格納部2とを
検索して、いずれのタスクに対しても実行保護タスクで
はなくかつ実行状態が走行不可能状態であるタスクの識
別子を抽出する。実行中タスク抽出部5は、タスクの実
行状態が走行状態であるタスクの実行状態を走行可能状
態に変更し、タスク情報格納部1を検索してタスクの実
行状態が走行待ち状態または走行可能状態であるタスク
の識別子を抽出する。スタック使用可能タスク抽出部6
は、実行中タスク抽出部5により抽出された識別子を第
1の識別子とし、実行可能タスク抽出部4により抽出さ
れた識別子を第2の識別子としたときに、実行保護タス
ク格納部2を検索して、第1の識別子に対応するタスク
が第2の識別子に対応するタスクの実行保護タスクであ
る第1の識別子と第2の識別子との組合せを抽出する。
スタック使用可能タスク選択部7は、実行保護タスク格
納部2を検索して、スタック使用可能タスク抽出部6に
より抽出された第1の識別子と第2の識別子との組合せ
における第1の識別子に対応するタスクが走行不可能状
態となる場合に使用する最大のスタック容量を得、その
スタック容量よりも第1の識別子に対応するタスクが現
在使用しているスタック容量が小さい第1の識別子と第
2の識別子との組合せを抽出する。タスク切り替え部8
は、スタック使用可能タスク選択部7により抽出された
第1の識別子と第2の識別子との組合せにおける第1の
識別子に対応するタスクの実行状態を走行不可能状態に
し、第2の識別子に対応するタスクの実行状態を走行状
態にする。
て、図2のフローチャートを参照しながら説明する。先
ずタスク切り替え要求部3が、タイマー割り込みなどに
よる従来周知の方法により、タスク切り替え要求を発生
する(ステップS1)。次に実行可能タスク抽出部4
が、タスク切り替え要求部3からのタスク切り替え要求
を受けて、タスク情報格納部1および実行保護タスク格
納部2から、いずれのタスクに対しても実行保護タスク
ではなく、かつ実行状態が走行不可能状態であるタスク
の識別子を検索し(ステップS2)、候補となる識別子
が見つからなかった場合、処理を終了する。なお、候補
となる識別子が見つからなかった場合に処理を終了する
とは、通常のスケジューリング装置に処理を戻す又はタ
スク切り替えを行わないということであり、このことは
以下も同様である。候補となる識別子が1つ以上存在す
れば、それらを抽出する(ステップS3)。次に実行中
タスク抽出部5が、実行状態が走行状態であるタスクを
走行可能状態に変更し、タスク情報格納部1から、実行
状態が走行可能状態または走行待ち状態であるタスクの
識別子を検索し(ステップS4)、候補となる識別子が
見つからなかった場合、処理を終了する。候補となる識
別子が1つ以上存在すれば、それらを抽出する(ステッ
プS5)。次にスタック使用可能タスク抽出部6が、実
行保護タスク格納部2から、第1の識別子に対応するタ
スクが第2の識別子に対応するタスクの実行保護タスク
である第1の識別子と第2の識別子との組合せを検索し
(ステップS6)、候補となる識別子が見つからなかっ
た場合、処理を終了する。候補となる識別子が1つ以上
存在すれば、それらを抽出する(ステップS7)。次に
スタック使用可能タスク選択部7が、スタック使用可能
タスク抽出部6により抽出された第1の識別子と第2の
識別子との組合せにおける第1の識別子に対応するタス
クの実行状態が走行不可能状態となる場合に使用する最
大のスタック容量を実行保護タスク格納部2から取得
し、そのスタック容量よりも第1の識別子に対応するタ
スクが現在使用しているスタック容量が小さい組合せを
検索し(ステップS8)、候補となる識別子が見つから
なかった場合、処理を終了する。候補となる識別子が1
つ以上存在すれば、それらを抽出する(ステップS
9)。次にタスク切り替え部8が、スタック使用可能タ
スク選択部7により抽出された第1の識別子に対応する
実行保護タスクの実行状態を走行不可能状態とし、第2
の識別子に対応するタスクの実行状態を走行状態として
(ステップS10)、処理を終了する。
具体的な動作の一例について説明する。図3はタスク情
報格納部1に格納されている内容の概念図で、識別子1
のタスクの実行状態は走行状態、識別子2のタスクの実
行状態は走行不可能状態、識別子3のタスクの実行状態
は走行可能状態である。なお、タスク情報格納部1に格
納されている実行状態は、タスクの実行状態の変化に伴
って適宜変更される。
ている内容の概念図で、識別子1のタスクが使用する最
大のスタック容量は50であり、対応する実行保護タス
クはない。識別子2のタスクが使用する最大のスタック
容量は50であり、対応する実行保護タスクの識別子は
1である。本実施例の場合、識別子2のタスクに対応す
る実行保護タスクの識別子が1であるということは、識
別子2のタスクが走行可能状態、走行待ち状態、走行状
態のいずれかの状態になるためには、識別子1のタスク
が使用するスタック容量が30以下でなければならない
ということである。識別子3のタスクが使用する最大の
スタック容量は70であり、対応する実行保護タスクは
ない。
いるスタック容量は25であるとする。先ずタスク切り
替え要求部3が、タスク切り替え要求を発生し、実行可
能タスク抽出部4に渡す。これにより実行可能タスク抽
出部4が、タスク情報格納部1と実行保護タスク格納部
2とから、タスク情報格納部1に格納されている識別子
に対応するいずれのタスクに対しても実行保護タスクで
はなく、かつ実行状態が走行不可能状態であるタスクの
識別子を抽出する。抽出した結果、識別子2が候補とな
る。次に実行中タスク抽出部5が、実行状態が走行状態
であるタスクを走行可能状態に変更し、タスク情報格納
部1に格納されているタスクの実行状態が走行待ち状態
または走行可能状態であるタスクの識別子を抽出する。
抽出した結果、識別子1と識別子3とが候補となる。次
にスタック使用可能タスク抽出部6が、実行中タスク抽
出部5によって抽出された識別子1または識別子3に対
応する実行保護タスクの識別子を、実行保護タスク格納
部2から抽出し、実行可能タスク抽出部4によって抽出
された識別子2と照合する。抽出した結果、識別子1と
識別子2との組み合わせが候補として抽出される。次に
スタック使用可能タスク選択部7が、スタック使用可能
タスク抽出部6によって抽出された組合せより、実行保
護タスクとなり得る識別子1に対応するタスクが走行不
可能状態となる場合に使用する最大のスタック容量を実
行保護タスク格納部2から抽出し、30を得る。さらに
スタック使用可能タスク選択部7が、識別子1に対応す
るタスクが使用しているスタック容量を従来周知の方法
により抽出し、25を得る。この結果、25は30以下
であるので、識別子1と識別子2との組合せが候補とし
て抽出される。次にタスク切り替え部8が、スタック使
用可能タスク選択部7によって抽出された識別子1のタ
スクを走行不可能状態とし、識別子2のタスクを走行状
態とし、識別子1のタスクが使用していたスタックを使
用して識別子2のタスクを実行する。かくして、タスク
情報格納部1の内容は図5のようになる。このように、
実行可能なタスクとスタックを使用することができる別
のタスクとの組合せを選択できるので、スタックの有効
利用を図ることができ、スタックの容量が少ない場合に
はスケジューリングできないという従来の問題を良好に
低減できる。
可能タスク選択部7により候補として抽出される識別子
の組み合わせが1組である例について説明したが、複数
の組み合わせが抽出される場合も考えられる。この場
合、抽出された識別子の組み合わせの中から、任意の1
つの組み合わせを選択する。 (実施例2)図6は本発明の実施例2におけるスケジュ
ーリング装置の構成図で、このスケジューリング装置
は、タスク情報格納部11と、実行保護タスク格納部1
2と、タスク切り替え要求部13と、実行可能タスク抽
出部14と、実行中タスク抽出部15と、スタック使用
可能タスク抽出部16と、スタック使用可能タスク選択
部17と、スタックポインタ格納部18と、スタックデ
ータ圧縮部19と、スタックデータ展開部20と、タス
ク切り替え部21とを備えている。タスク情報格納部1
1は、各タスクの識別子と実行状態とを格納する。実行
保護タスク格納部12は、各タスクの識別子と各タスク
が使用する最大のスタック容量とを格納すると共に、タ
スクの実行状態が走行不可能状態でありかつスタックが
割り当てられていない場合に実行状態が走行状態か走行
待ち状態か走行可能状態かのいずれかの状態となり、か
つタスクの実行状態が走行状態か走行待ち状態か走行可
能状態かのいずれかの状態である場合に走行不可能状態
となる実行保護タスクの識別子と、実行保護タスクが走
行不可能状態となる場合に使用する最大のスタック容量
とを格納する。タスク切り替え要求部13は、タスクの
切り替え要求を発生する。実行可能タスク抽出部14
は、タスク切り替え要求部13がタスク切り替え要求を
発生したときに、タスク情報格納部11と実行保護タス
ク格納部12とを検索して、いずれのタスクに対しても
実行保護タスクではなくかつ実行状態が走行不可能状態
であるタスクの識別子を抽出する。実行中タスク抽出部
15は、タスクの実行状態が走行状態であるタスクの実
行状態を走行可能状態に変更し、タスク情報格納部11
を検索してタスクの実行状態が走行待ち状態または走行
可能状態であるタスクの識別子を抽出する。スタック使
用可能タスク抽出部16は、実行中タスク抽出部15に
より抽出された識別子を第1の識別子とし、実行可能タ
スク抽出部14により抽出された識別子を第2の識別子
としたときに、実行保護タスク格納部12を検索して、
第1の識別子に対応するタスクが第2の識別子に対応す
るタスクの実行保護タスクである第1の識別子と第2の
識別子との組合せを抽出する。スタック使用可能タスク
選択部17は、実行保護タスク格納部12を検索して、
スタック使用可能タスク抽出部16により抽出された第
1の識別子と第2の識別子との組合せにおける第1の識
別子に対応するタスクが走行不可能状態となる場合に使
用する最大のスタック容量を得、そのスタック容量より
も第1の識別子に対応するタスクが現在使用しているス
タック容量が小さい第1の識別子と第2の識別子との組
合せを抽出する。スタックポインタ格納部18は、タス
クの識別子と実行状態とスタックポインタとを格納す
る。スタックデータ圧縮部19は、スタック使用可能タ
スク抽出部16により抽出された第1の識別子と第2の
識別子との組合せにおいて実行保護タスクとなり得る識
別子に対応するタスクの実行状態をスタックポインタ格
納部18に格納し、実行保護タスクとなり得るタスクの
実行状態を走行待ち状態に変更し、実行保護タスクとな
り得るタスクが使用しているスタック内のデータを圧縮
し、実行保護タスクとなり得るタスクのスタックポイン
タをスタックポインタ格納部18に格納する。スタック
データ展開部20は、タスク情報格納部11を検索して
実行状態が走行待ち状態であるタスクの識別子を全て抽
出し、スタックポインタ格納部18を検索してタスク情
報格納部11から抽出した識別子に対応するタスクのス
タックポインタと実行状態とを抽出し、スタックポイン
タ格納部18からスタックポインタと実行状態とを抽出
したタスクが使用しているスタック内のデータを展開
し、スタックポインタ格納部18からスタックポインタ
と実行状態とを抽出したタスクの実行状態をスタックポ
インタ格納部18から抽出した実行状態に変更し、スタ
ックポインタ格納部18からスタックポインタと実行状
態とを抽出したタスクのスタックポインタと実行状態と
をスタックポインタ格納部18から削除する。タスク切
り替え部21は、スタック使用可能タスク選択部17に
より抽出された第1の識別子と第2の識別子との組合せ
における第1の識別子に対応するタスクの実行状態を走
行不可能状態にし、第2の識別子に対応するタスクの実
行状態を走行状態にする。
いて、図7のフローチャートを参照しながら説明する。
先ずタスク切り替え要求部13が、タイマー割り込みな
どによる従来周知の方法により、タスク切り替え要求を
発生する(ステップS11)。次に実行可能タスク抽出
部14が、タスク切り替え要求部13からのタスク切り
替え要求を受けて、タスク情報格納部11および実行保
護タスク格納部12から、いずれのタスクに対しても実
行保護タスクではなく、かつ実行状態が走行不可能状態
であるタスクの識別子を検索し(ステップS12)、候
補となる識別子が見つからなかった場合、処理を終了す
る。候補となる識別子が1つ以上存在すれば、それらを
抽出する(ステップS13)。次に実行中タスク抽出部
15が、実行状態が走行状態であるタスクを走行可能状
態に変更し、タスク情報格納部11から、実行状態が走
行可能状態または走行待ち状態であるタスクの識別子を
検索し(ステップS14)、候補となる識別子が見つか
らなかった場合、処理を終了する。候補となる識別子が
1つ以上存在すれば、それらを抽出する(ステップS1
5)。次にスタック使用可能タスク抽出部16が、実行
保護タスク格納部12から、実行中タスク抽出部15に
より抽出された第1の識別子の候補と実行可能タスク抽
出部14により抽出された第2の識別子の候補とのう
ち、第1の識別子に対応するタスクが第2の識別子に対
応するタスクの実行保護タスクである第1の識別子と第
2の識別子との組合せを検索し(ステップS16)、候
補となる識別子が見つからなかった場合、処理を終了す
る。候補となる識別子が1つ以上存在すれば、それらを
抽出する(ステップS17)。次にスタックデータ圧縮
部19が、スタック使用可能タスク抽出部16により抽
出された識別子の組合せのうち実行保護タスクとなり得
る識別子に対応するタスクの実行状態をスタックポイン
タ格納部18に格納し、実行保護タスクとなり得る識別
子に対応するタスクの実行状態を走行待ち状態に変更
し、実行保護タスクとなり得る識別子に対応するタスク
が使用しているスタック内のデータを圧縮し、実行保護
タスクとなり得る識別子に対応するタスクのスタックポ
インタをスタックポインタ格納部18に格納する(ステ
ップS18)。次にスタック使用可能タスク選択部17
が、スタック使用可能タスク抽出部16により抽出され
てスタックデータ圧縮部19により圧縮された第1の識
別子と第2の識別子との組合せのうち、第1の識別子に
対応するタスクの実行状態が走行不可能状態となる場合
に使用する最大のスタック容量を実行保護タスク格納部
12から取得し、そのスタック容量よりも第1の識別子
に対応するタスクが現在使用しているスタック容量が小
さい組合せを検索し(ステップS19)、候補となる識
別子が見つからなかった場合、処理を終了する。候補と
なる識別子が1つ以上存在すれば、それらを抽出する
(ステップS20)。次にタスク切り替え部21が、ス
タック使用可能タスク選択部17により候補として抽出
された第1の識別子に対応する実行保護タスクの実行状
態を走行不可能状態とし、第2の識別子に対応するタス
クの実行状態を走行状態とし、処理を実行する(ステッ
プS21)。タスク切り替え部21により切り替えられ
たタスクの処理が終了した場合、スタックデータ展開部
20が、タスク情報格納部11から、実行状態が走行待
ち状態であるタスクの識別子を全て抽出し、抽出された
それぞれの識別子に対して、スタックポインタ格納部1
8から識別子に対応するスタックポインタと実行状態と
を抽出し、その識別子に対応するタスクが使用している
スタック内のデータを展開し、そのタスクの実行状態を
スタックポインタ格納部18から抽出した実行状態に変
更し、そのタスクのスタックポインタと実行状態とをス
タックポインタ格納部18から削除する(ステップS2
2)。
具体的な動作の一例について説明する。図8はタスク情
報格納部11に格納されている内容の概念図で、識別子
1のタスクの実行状態は走行状態、識別子2のタスクの
実行状態は走行不可能状態、識別子3のタスクの実行状
態は走行待ち状態である。なお、タスク情報格納部11
に格納されている実行状態は、タスクの実行状態の変化
に伴って適宜変更される。
れている内容の概念図で、識別子1のタスクが使用する
最大のスタック容量は50であり、対応する実行保護タ
スクはない。識別子2のタスクが使用する最大のスタッ
ク容量は50であり、対応する実行保護タスクの識別子
は1である。本実施例の場合識別子2のタスクに対応す
る実行保護タスクの識別子が1であるということは、識
別子2のタスクが走行可能状態、走行待ち状態、走行状
態のいずれかの状態になるためには、識別子1のタスク
が使用するスタック容量が35以下でなければならない
ということである。識別子3のタスクが使用する最大の
スタック容量は70であり、対応する実行保護タスクは
ない。
8ビットのマイクロコンピュータで、プログラムが4キ
ロバイト以内である場合、2バイトをスタックとして使
用する。スタック内で実際に使用するのは12ビットで
あるため、4ビットは不要である。そこで、4ビット分
を削除する。上述の圧縮方法により、スタックが5回積
まれたと考えると、(12×5+4)/16×5=0.
8という計算より、圧縮しない場合の8割の容量に圧縮
される。
いるスタック容量は40であるとする。先ずタスク切り
替え要求部13が、タスク切り替え要求を発生し、実行
可能タスク抽出部14に渡す。これにより実行可能タス
ク抽出部14が、タスク情報格納部11と実行保護タス
ク格納部12とから、タスク情報格納部11に格納され
ている識別子に対応するいずれのタスクに対しても実行
保護タスクではなく、かつ実行状態が走行不可能状態で
あるタスクの識別子を抽出する。抽出した結果、識別子
2が候補となる。次に実行中タスク抽出部15が、実行
状態が走行状態であるタスクを走行可能状態に変更し、
タスク情報格納部11に格納されているタスクの実行状
態が走行待ち状態または走行可能状態であるタスクの識
別子を抽出する。抽出した結果、識別子1と識別子3と
が候補となる。次にスタック使用可能タスク抽出部16
が、実行中タスク抽出部15によって抽出された識別子
1または識別子3に対応する実行保護タスクの識別子
を、実行保護タスク格納部12から抽出し、実行可能タ
スク抽出部14によって抽出された識別子2と照合す
る。抽出した結果、識別子1と識別子2との組み合わせ
が候補として抽出される。次にスタックデータ圧縮部1
9が、スタック使用可能タスク抽出部16によって抽出
された識別子1と識別子2との組合せにおいて、実行保
護タスクとなり得る識別子1に対応するタスクの実行状
態をスタックポインタ格納部18に格納し、識別子1に
対応するタスクの実行状態を走行待ち状態に変更し、識
別子1に対応するタスクが使用しているスタック内のデ
ータを圧縮し、識別子1に対応するタスクのスタックポ
インタをスタックポインタ格納部18に格納する。かく
して、タスク情報格納部11の内容は図10のようにな
り、スタックポインタ格納部18の内容は図11のよう
になる。すなわち本実施例の場合、スタックポインタは
100である。またスタック内のデータを圧縮した結
果、識別子1に対応するタスクが使用しているスタック
容量は80%に圧縮され、32となる。次にスタック使
用可能タスク選択部17が、スタック使用可能タスク抽
出部16によって抽出された組合せより、実行保護タス
クとなり得る識別子1に対応するタスクが走行不可能状
態となる場合に使用する最大のスタック容量を実行保護
タスク格納部12から抽出し、35を得る。さらに、ス
タック使用可能タスク選択部が、識別子1に対応するタ
スクが使用しているスタック容量を従来周知の方法によ
り抽出し、32を得る。この結果、32は35以下であ
るので、識別子1と識別子2との組合せが候補として抽
出される。次にタスク切り替え部21が、スタック使用
可能タスク選択部17によって抽出された識別子1のタ
スクを走行不可能状態とし、識別子2のタスクを走行状
態とし、識別子1のタスクが使用していたスタックを使
用して識別子2のタスクを実行する。かくしてタスク情
報格納部11の内容は図12のようになる。タスク切り
替え部21により切り替えられたタスクの処理が終了し
た場合、スタックデータ展開部20が、タスク情報格納
部11から実行状態が走行待ち状態であるタスクの識別
子を全て抽出する。切り替えられたタスクの処理が終了
した直後のタスク情報格納部11の内容は図13のよう
になっている。抽出した結果、識別子1と識別子3とが
候補となる。抽出されたそれぞれの識別子に対して、ス
タックポインタ格納部18より、抽出された識別子と同
一の識別子に対応するスタックポインタと実行状態とを
抽出する。抽出した結果、識別子1のスタックポインタ
は100、実行状態は走行可能状態であり、識別子3
は、該当するスタックポインタおよび実行状態はない。
この抽出結果より、識別子1に対応するタスクが使用し
ているスタック内のデータを展開し、識別子1に対応す
るタスクの実行状態を走行可能状態に変更し、識別子1
に対応するタスクのスタックポインタと以前の実行状態
とをスタックポインタ格納部18から削除する。かくし
てタスク情報格納部11の内容は図14のようになり、
スタックポインタ格納部18の内容は図15のようにな
る。
を使用することができる別のタスクとの組合せを選択で
きるので、スタックの有効利用を図ることができ、スタ
ックの容量が少ない場合にはスケジューリングできない
という従来の問題を良好に低減できる。また、実行可能
なタスクとスタックを使用することができる別のタスク
との組合せの範囲を広げることができるので、スタック
をより一層有効利用できる。
可能タスク選択部17により候補として抽出される識別
子の組み合わせが1組である例について説明したが、複
数の組み合わせが抽出される場合も考えられる。この場
合、抽出された識別子の組み合わせの中から、任意の1
つの組み合わせを選択する。またスタックのデータの圧
縮方法は、上記具体例で説明した方法に限られるもので
はなく、例えば適応型レンペル・ジブ・コーディング法
など、他の方法を用いてもよい。
行可能状態と走行待ち状態と走行状態と走行不可能状態
との少なくとも4つの実行状態とシステム内で一意の識
別子とを持つタスクが、タスク切り替えにより複数個実
行されるシステムにおけるスケジューリング装置であっ
て、各タスクの識別子と実行状態とを格納するタスク情
報格納部と、各タスクの識別子と各タスクが使用する最
大のスタック容量とを格納すると共に、タスクの実行状
態が走行不可能状態でありかつスタックが割り当てられ
ていない場合に実行状態が走行状態か走行待ち状態か走
行可能状態かのいずれかの状態となり、かつタスクの実
行状態が走行状態か走行待ち状態か走行可能状態かのい
ずれかの状態である場合に走行不可能状態となる実行保
護タスクの識別子と、実行保護タスクが走行不可能状態
となる場合に使用する最大のスタック容量とを格納する
実行保護タスク格納部と、タスクの切り替え要求を発生
するタスク切り替え要求部と、タスク切り替え要求部が
タスク切り替え要求を発生したときに、タスク情報格納
部と実行保護タスク格納部とを検索して、いずれのタス
クに対しても実行保護タスクではなくかつ実行状態が走
行不可能状態であるタスクの識別子を抽出する実行可能
タスク抽出部と、タスクの実行状態が走行状態であるタ
スクの実行状態を走行可能状態に変更し、タスク情報格
納部を検索してタスクの実行状態が走行待ち状態または
走行可能状態であるタスクの識別子を抽出する実行中タ
スク抽出部と、実行中タスク抽出部により抽出された識
別子を第1の識別子とし、実行可能タスク抽出部により
抽出された識別子を第2の識別子としたときに、実行保
護タスク格納部を検索して、第1の識別子に対応するタ
スクが第2の識別子に対応するタスクの実行保護タスク
である第1の識別子と第2の識別子との組合せを抽出す
るスタック使用可能タスク抽出部と、実行保護タスク格
納部を検索して、スタック使用可能タスク抽出部により
抽出された第1の識別子と第2の識別子との組合せにお
ける第1の識別子に対応するタスクが実行不可能状態と
なる場合に使用する最大のスタック容量を得、そのスタ
ック容量よりも第1の識別子に対応するタスクが現在使
用しているスタック容量が小さい第1の識別子と第2の
識別子との組合せを抽出するスタック使用可能タスク選
択部と、スタック使用可能タスク選択部により抽出され
た第1の識別子と第2の識別子との組合せにおける第1
の識別子に対応するタスクの実行状態を走行不可能状態
にし、第2の識別子に対応するタスクの実行状態を走行
状態にするタスク切り替え部と、を備えたので、実行可
能なタスクとスタックを使用することができる別のタス
クとの組合せを選択できることから、スタックの有効利
用を図ることができ、スタックの容量が少ない場合には
スケジューリングできないという従来の問題を良好に低
減できる。
状態と走行不可能状態との少なくとも4つの実行状態と
システム内で一意の識別子とを持つタスクが、タスク切
り替えにより複数個実行されるシステムにおけるスケジ
ューリング装置であって、各タスクの識別子と実行状態
とを格納するタスク情報格納部と、各タスクの識別子と
各タスクが使用する最大のスタック容量とを格納すると
共に、タスクの実行状態が走行不可能状態でありかつス
タックが割り当てられていない場合に実行状態が走行状
態か走行待ち状態か走行可能状態かのいずれかの状態と
なり、かつタスクの実行状態が走行状態か走行待ち状態
か走行可能状態かのいずれかの状態である場合に走行不
可能状態となる実行保護タスクの識別子と、実行保護タ
スクが走行不可能状態となる場合に使用する最大のスタ
ック容量とを格納する実行保護タスク格納部と、タスク
の識別子と実行状態とスタックポインタとを格納するス
タックポインタ格納部と、タスクの切り替え要求を発生
するタスク切り替え要求部と、タスク切り替え要求部が
タスク切り替え要求を発生したときに、タスク情報格納
部と実行保護タスク格納部とを検索して、いずれのタス
クに対しても実行保護タスクではなくかつ実行状態が走
行不可能状態であるタスクの識別子を抽出する実行可能
タスク抽出部と、タスクの実行状態が走行状態であるタ
スクの実行状態を走行可能状態に変更し、タスク情報格
納部を検索してタスクの実行状態が走行待ち状態または
走行可能状態であるタスクの識別子を抽出する実行中タ
スク抽出部と、実行中タスク抽出部により抽出された識
別子を第1の識別子とし、実行可能タスク抽出部により
抽出された識別子を第2の識別子としたときに、実行保
護タスク格納部を検索して、第1の識別子に対応するタ
スクが第2の識別子に対応するタスクの実行保護タスク
である第1の識別子と第2の識別子との組合せを抽出す
るスタック使用可能タスク抽出部と、スタック使用可能
タスク抽出部により抽出された第1の識別子と第2の識
別子との組合せにおいて実行保護タスクとなり得る識別
子に対応するタスクの実行状態をスタックポインタ格納
部に格納し、実行保護タスクとなり得るタスクの実行状
態を走行待ち状態に変更し、実行保護タスクとなり得る
タスクが使用しているスタック内のデータを圧縮し、実
行保護タスクとなり得るタスクのスタックポインタをス
タックポインタ格納部に格納するスタックデータ圧縮部
と、実行保護タスク格納部を検索して、スタック使用可
能タスク抽出部により抽出された第1の識別子と第2の
識別子との組合せにおける第1の識別子に対応するタス
クが実行不可能状態となる場合に使用する最大のスタッ
ク容量を得、そのスタック容量よりも第1の識別子に対
応するタスクが現在使用しているスタック容量が小さい
第1の識別子と第2の識別子との組合せを抽出するスタ
ック使用可能タスク選択部と、スタック使用可能タスク
選択部により抽出された第1の識別子と第2の識別子と
の組合せにおける第1の識別子に対応するタスクの実行
状態を走行不可能状態にし、第2の識別子に対応するタ
スクの実行状態を走行状態にするタスク切り替え部と、
タスク情報格納部を検索して実行状態が走行待ち状態で
あるタスクの識別子を全て抽出し、スタックポインタ格
納部を検索してタスク情報格納部から抽出した識別子に
対応するタスクのスタックポインタと実行状態とを抽出
し、スタックポインタ格納部からスタックポインタと実
行状態とを抽出したタスクが使用しているスタック内の
データを展開し、スタックポインタ格納部からスタック
ポインタと実行状態とを抽出したタスクの実行状態をス
タックポインタ格納部から抽出した実行状態に変更し、
スタックポインタ格納部からスタックポインタと実行状
態とを抽出したタスクのスタックポインタと実行状態と
をスタックポインタ格納部から削除するスタックデータ
展開部と、を備えたので、実行可能なタスクとスタック
を使用することができる別のタスクとの組合せを選択で
きることから、スタックの有効利用を図ることができ、
スタックの容量が少ない場合にはスケジューリングでき
ないという従来の問題を良好に低減できる。さらに、実
行可能なタスクとスタックを使用することができる別の
タスクとの組合せの範囲を広げることができることか
ら、スタックをより一層有効利用できる。
置の構成図である。
置の動作を説明するフローチャートである。
内容の概念図である。
内容の概念図である。
置の構成図である。
置の動作を説明するフローチャートである。
内容の概念図である。
の内容の概念図である。
る。
の内容の概念図である。
におけるタスク情報格納部の内容の概念図である。
の概念図である。
の内容の概念図である。
Claims (4)
- 【請求項1】 走行可能状態と走行待ち状態と走行状態
と走行不可能状態との少なくとも4つの実行状態とシス
テム内で一意の識別子とを持つタスクが、タスク切り替
えにより複数個実行されるシステムにおけるスケジュー
リング方法であって、各タスクの識別子と実行状態とを
格納するタスク情報格納部と、各タスクの識別子と各タ
スクが使用する最大のスタック容量とを格納すると共
に、タスクの実行状態が走行不可能状態でありかつスタ
ックが割り当てられていない場合に実行状態が走行状態
か走行待ち状態か走行可能状態かのいずれかの状態とな
り、かつタスクの実行状態が走行状態か走行待ち状態か
走行可能状態かのいずれかの状態である場合に走行不可
能状態となる実行保護タスクの識別子と、前記実行保護
タスクが走行不可能状態となる場合に使用する最大のス
タック容量とを格納する実行保護タスク格納部とを用
い、 タスクの切り替え要求を発生するタスク切り替え要求ス
テップと、 前記タスク切り替え要求ステップにおいてタスク切り替
え要求が発生されることにより、前記タスク情報格納部
と前記実行保護タスク格納部とを検索して、いずれのタ
スクに対しても実行保護タスクではなくかつ実行状態が
走行不可能状態であるタスクの識別子を抽出する実行可
能タスク抽出ステップと、 タスクの実行状態が走行状態であるタスクの実行状態を
走行可能状態に変更し、前記タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出ステ
ップと、 前記実行中タスク抽出ステップにおいて抽出された識別
子を第1の識別子とし、前記実行可能タスク抽出ステッ
プにおいて抽出された識別子を第2の識別子としたとき
に、前記実行保護タスク格納部を検索して、前記第1の
識別子に対応するタスクが前記第2の識別子に対応する
タスクの実行保護タスクである第1の識別子と第2の識
別子との組合せを抽出するスタック使用可能タスク抽出
ステップと、 前記実行保護タスク格納部を検索して、前記スタック使
用可能タスク抽出ステップにおいて抽出された第1の識
別子と第2の識別子との組合せにおける第1の識別子に
対応するタスクが実行不可能状態となる場合に使用する
最大のスタック容量を得、そのスタック容量よりも前記
第1の識別子に対応するタスクが現在使用しているスタ
ック容量が小さい第1の識別子と第2の識別子との組合
せを抽出するスタック使用可能タスク選択ステップと、 前記スタック使用可能タスク選択ステップにおいて抽出
された第1の識別子と第2の識別子との組合せにおける
第1の識別子に対応するタスクの実行状態を走行不可能
状態にし、第2の識別子に対応するタスクの実行状態を
走行状態にするタスク切り替えステップと、 を実行することを特徴とするスケジューリング方法。 - 【請求項2】 走行可能状態と走行待ち状態と走行状態
と走行不可能状態との少なくとも4つの実行状態とシス
テム内で一意の識別子とを持つタスクが、タスク切り替
えにより複数個実行される計算機システムにおけるスケ
ジューリング装置であって、 各タスクの識別子と実行状態とを格納するタスク情報格
納部と、 各タスクの識別子と各タスクが使用する最大のスタック
容量とを格納すると共に、タスクの実行状態が走行不可
能状態でありかつスタックが割り当てられていない場合
に実行状態が走行状態か走行待ち状態か走行可能状態か
のいずれかの状態となり、かつタスクの実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
である場合に走行不可能状態となる実行保護タスクの識
別子と、前記実行保護タスクが走行不可能状態となる場
合に使用する最大のスタック容量とを格納する実行保護
タスク格納部と、 タスクの切り替え要求を発生するタスク切り替え要求部
と、 前記タスク切り替え要求部がタスク切り替え要求を発生
したときに、前記タスク情報格納部と前記実行保護タス
ク格納部とを検索して、いずれのタスクに対しても実行
保護タスクではなくかつ実行状態が走行不可能状態であ
るタスクの識別子を抽出する実行可能タスク抽出部と、 タスクの実行状態が走行状態であるタスクの実行状態を
走行可能状態に変更し、前記タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出部
と、 前記実行中タスク抽出部により抽出された識別子を第1
の識別子とし、前記実行可能タスク抽出部により抽出さ
れた識別子を第2の識別子としたときに、前記実行保護
タスク格納部を検索して、前記第1の識別子に対応する
タスクが前記第2の識別子に対応するタスクの実行保護
タスクである第1の識別子と第2の識別子との組合せを
抽出するスタック使用可能タスク抽出部と、 前記実行保護タスク格納部を検索して、前記スタック使
用可能タスク抽出部により抽出された第1の識別子と第
2の識別子との組合せにおける第1の識別子に対応する
タスクが実行不可能状態となる場合に使用する最大のス
タック容量を得、そのスタック容量よりも前記第1の識
別子に対応するタスクが現在使用しているスタック容量
が小さい第1の識別子と第2の識別子との組合せを抽出
するスタック使用可能タスク選択部と、 前記スタック使用可能タスク選択部により抽出された第
1の識別子と第2の識別子との組合せにおける第1の識
別子に対応するタスクの実行状態を走行不可能状態に
し、第2の識別子に対応するタスクの実行状態を走行状
態にするタスク切り替え部と、 を備えたことを特徴とするスケジューリング装置。 - 【請求項3】 走行可能状態と走行待ち状態と走行状態
と走行不可能状態との少なくとも4つの実行状態とシス
テム内で一意の識別子とを持つタスクが、タスク切り替
えにより複数個実行される計算機システムにおけるスケ
ジューリング方法であって、各タスクの識別子と実行状
態とを格納するタスク情報格納部と、各タスクの識別子
と各タスクが使用する最大のスタック容量とを格納する
と共に、タスクの実行状態が走行不可能状態でありかつ
スタックが割り当てられていない場合に実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
となり、かつタスクの実行状態が走行状態か走行待ち状
態か走行可能状態かのいずれかの状態である場合に走行
不可能状態となる実行保護タスクの識別子と、前記実行
保護タスクが走行不可能状態となる場合に使用する最大
のスタック容量とを格納する実行保護タスク格納部と、
タスクの識別子と実行状態とスタックポインタとを格納
するスタックポインタ格納部とを用いて、 タスクの切り替え要求を発生するタスク切り替え要求ス
テップと、 前記タスク切り替え要求ステップにおいてタスク切り替
え要求が発生されることにより、前記タスク情報格納部
と前記実行保護タスク格納部とを検索して、いずれのタ
スクに対しても実行保護タスクではなくかつ実行状態が
走行不可能状態であるタスクの識別子を抽出する実行可
能タスク抽出ステップと、 タスクの実行状態が走行状態であるタスクの実行状態を
走行可能状態に変更し、前記タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出ステ
ップと、 前記実行中タスク抽出ステップにおいて抽出された識別
子を第1の識別子とし、前記実行可能タスク抽出ステッ
プにおいて抽出された識別子を第2の識別子としたとき
に、前記実行保護タスク格納部を検索して、前記第1の
識別子に対応するタスクが前記第2の識別子に対応する
タスクの実行保護タスクである第1の識別子と第2の識
別子との組合せを抽出するスタック使用可能タスク抽出
ステップと、 前記スタック使用可能タスク抽出ステップにおいて抽出
された第1の識別子と第2の識別子との組合せにおいて
実行保護タスクとなり得る識別子に対応するタスクの実
行状態を前記スタックポインタ格納部に格納し、前記実
行保護タスクとなり得るタスクの実行状態を走行待ち状
態に変更し、前記実行保護タスクとなり得るタスクが使
用しているスタック内のデータを圧縮し、前記実行保護
タスクとなり得るタスクのスタックポインタを前記スタ
ックポインタ格納部に格納するスタックデータ圧縮ステ
ップと、 前記実行保護タスク格納部を検索して、前記スタック使
用可能タスク抽出ステップにおいて抽出された第1の識
別子と第2の識別子との組合せにおける第1の識別子に
対応するタスクが実行不可能状態となる場合に使用する
最大のスタック容量を得、そのスタック容量よりも前記
第1の識別子に対応するタスクが現在使用しているスタ
ック容量が小さい第1の識別子と第2の識別子との組合
せを抽出するスタック使用可能タスク選択ステップと、 前記スタック使用可能タスク選択ステップにおいて抽出
された第1の識別子と第2の識別子との組合せにおける
第1の識別子に対応するタスクの実行状態を走行不可能
状態にし、第2の識別子に対応するタスクの実行状態を
走行状態にするタスク切り替えステップと、 前記タスク情報格納部を検索して実行状態が走行待ち状
態であるタスクの識別子を全て抽出し、前記スタックポ
インタ格納部を検索して前記タスク情報格納部から抽出
した識別子に対応するタスクのスタックポインタと実行
状態とを抽出し、前記スタックポインタ格納部からスタ
ックポインタと実行状態とを抽出したタスクが使用して
いるスタック内のデータを展開し、前記スタックポイン
タ格納部からスタックポインタと実行状態とを抽出した
タスクの実行状態をスタックポインタ格納部から抽出し
た実行状態に変更し、前記スタックポインタ格納部から
スタックポインタと実行状態とを抽出したタスクのスタ
ックポインタと実行状態とを前記スタックポインタ格納
部から削除するスタックデータ展開ステップと、 を実行することを特徴とするスケジューリング方法。 - 【請求項4】 走行可能状態と走行待ち状態と走行状態
と走行不可能状態との少なくとも4つの実行状態とシス
テム内で一意の識別子とを持つタスクが、タスク切り替
えにより複数個実行される計算機システムにおけるスケ
ジューリング装置であって、 各タスクの識別子と実行状態とを格納するタスク情報格
納部と、 各タスクの識別子と各タスクが使用する最大のスタック
容量とを格納すると共に、タスクの実行状態が走行不可
能状態でありかつスタックが割り当てられていない場合
に実行状態が走行状態か走行待ち状態か走行可能状態か
のいずれかの状態となり、かつタスクの実行状態が走行
状態か走行待ち状態か走行可能状態かのいずれかの状態
である場合に走行不可能状態となる実行保護タスクの識
別子と、前記実行保護タスクが走行不可能状態となる場
合に使用する最大のスタック容量とを格納する実行保護
タスク格納部と、 タスクの識別子と実行状態とスタックポインタとを格納
するスタックポインタ格納部と、 タスクの切り替え要求を発生するタスク切り替え要求部
と、 前記タスク切り替え要求部がタスク切り替え要求を発生
したときに、前記タスク情報格納部と前記実行保護タス
ク格納部とを検索して、いずれのタスクに対しても実行
保護タスクではなくかつ実行状態が走行不可能状態であ
るタスクの識別子を抽出する実行可能タスク抽出部と、 タスクの実行状態が走行状態であるタスクの実行状態を
走行可能状態に変更し、前記タスク情報格納部を検索し
てタスクの実行状態が走行待ち状態または走行可能状態
であるタスクの識別子を抽出する実行中タスク抽出部
と、 前記実行中タスク抽出部により抽出された識別子を第1
の識別子とし、前記実行可能タスク抽出部により抽出さ
れた識別子を第2の識別子としたときに、前記実行保護
タスク格納部を検索して、前記第1の識別子に対応する
タスクが前記第2の識別子に対応するタスクの実行保護
タスクである第1の識別子と第2の識別子との組合せを
抽出するスタック使用可能タスク抽出部と、 前記スタック使用可能タスク抽出部により抽出された第
1の識別子と第2の識別子との組合せにおいて実行保護
タスクとなり得る識別子に対応するタスクの実行状態を
前記スタックポインタ格納部に格納し、前記実行保護タ
スクとなり得るタスクの実行状態を走行待ち状態に変更
し、前記実行保護タスクとなり得るタスクが使用してい
るスタック内のデータを圧縮し、前記実行保護タスクと
なり得るタスクのスタックポインタを前記スタックポイ
ンタ格納部に格納するスタックデータ圧縮部と、 前記実行保護タスク格納部を検索して、前記スタック使
用可能タスク抽出部により抽出された第1の識別子と第
2の識別子との組合せにおける第1の識別子に対応する
タスクが実行不可能状態となる場合に使用する最大のス
タック容量を得、そのスタック容量よりも前記第1の識
別子に対応するタスクが現在使用しているスタック容量
が小さい第1の識別子と第2の識別子との組合せを抽出
するスタック使用可能タスク選択部と、 前記スタック使用可能タスク選択部により抽出された第
1の識別子と第2の識別子との組合せにおける第1の識
別子に対応するタスクの実行状態を走行不可能状態に
し、第2の識別子に対応するタスクの実行状態を走行状
態にするタスク切り替え部と、 前記タスク情報格納部を検索して実行状態が走行待ち状
態であるタスクの識別子を全て抽出し、前記スタックポ
インタ格納部を検索して前記タスク情報格納部から抽出
した識別子に対応するタスクのスタックポインタと実行
状態とを抽出し、前記スタックポインタ格納部からスタ
ックポインタと実行状態とを抽出したタスクが使用して
いるスタック内のデータを展開し、前記スタックポイン
タ格納部からスタックポインタと実行状態とを抽出した
タスクの実行状態をスタックポインタ格納部から抽出し
た実行状態に変更し、前記スタックポインタ格納部から
スタックポインタと実行状態とを抽出したタスクのスタ
ックポインタと実行状態とを前記スタックポインタ格納
部から削除するスタックデータ展開部と、 を備えたことを特徴とするスケジューリング装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5279376A JP2544896B2 (ja) | 1993-11-09 | 1993-11-09 | スケジュ―リング方法およびスケジュ―リング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5279376A JP2544896B2 (ja) | 1993-11-09 | 1993-11-09 | スケジュ―リング方法およびスケジュ―リング装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07134655A JPH07134655A (ja) | 1995-05-23 |
| JP2544896B2 true JP2544896B2 (ja) | 1996-10-16 |
Family
ID=17610288
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5279376A Expired - Fee Related JP2544896B2 (ja) | 1993-11-09 | 1993-11-09 | スケジュ―リング方法およびスケジュ―リング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2544896B2 (ja) |
-
1993
- 1993-11-09 JP JP5279376A patent/JP2544896B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07134655A (ja) | 1995-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5931935A (en) | File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system | |
| JPH113269A (ja) | スタックの内容をサブスタックに分離することによる正確なガーベイジ・コレクションを補助するシステムと方法 | |
| CN102707990A (zh) | 基于容器的处理方法、装置和系统 | |
| JP2001249907A (ja) | 起動処理方式 | |
| GB2386715A (en) | Method for the use of a stack in a Java accelerator device | |
| HK1003604A1 (en) | Method and apparatus for handling nested interrupts | |
| JP2544896B2 (ja) | スケジュ―リング方法およびスケジュ―リング装置 | |
| CN113254223B (zh) | 一种系统重启后的资源分配方法、系统及相关组件 | |
| JP3110185B2 (ja) | 計算機システム | |
| EP1008045B1 (en) | File system primitive allowing reprocessing of i/o requests by multiple drivers in a layered driver i/o system | |
| JPS59116840A (ja) | 並行印字処理方式 | |
| JPH05134930A (ja) | メモリ保護装置 | |
| JPS63305439A (ja) | 類似デ−タファイルの圧縮格納方法および復元方法 | |
| JP3680228B2 (ja) | 並行処理プロセスの実行状態管理方法及びシステム | |
| JP2989608B2 (ja) | セルプール管理装置 | |
| JPH11134202A (ja) | タスク切替え装置 | |
| JPH0833856B2 (ja) | 通番管理方式 | |
| HK40067493A (en) | Storage space recovery method, storage medium and program product | |
| JP3223675B2 (ja) | データ収集処理装置 | |
| JP2850757B2 (ja) | 階層型ファイルシステムにおける障害対応方式 | |
| JPH0228846A (ja) | データ格納方式 | |
| JPS63298543A (ja) | キ−付ファイルのアクセス制御方式 | |
| JPS5911460A (ja) | デイスクフアイルコントロ−ラ装置 | |
| JP2006259806A (ja) | プーリング方法、システム及びプログラム | |
| JPH02267643A (ja) | ファイル拡張方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070725 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080725 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090725 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090725 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100725 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 15 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 15 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 16 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 16 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 17 |
|
| LAPS | Cancellation because of no payment of annual fees |