JPS6121532A - スケジユ−リング方法 - Google Patents

スケジユ−リング方法

Info

Publication number
JPS6121532A
JPS6121532A JP14193484A JP14193484A JPS6121532A JP S6121532 A JPS6121532 A JP S6121532A JP 14193484 A JP14193484 A JP 14193484A JP 14193484 A JP14193484 A JP 14193484A JP S6121532 A JPS6121532 A JP S6121532A
Authority
JP
Japan
Prior art keywords
interrupt
program
level
hardware
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.)
Pending
Application number
JP14193484A
Other languages
English (en)
Inventor
Hiroko Sugimura
杉村 裕子
Yutaka Takano
豊 高野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP14193484A priority Critical patent/JPS6121532A/ja
Publication of JPS6121532A publication Critical patent/JPS6121532A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、計算機のオペレーティングシステムのスケ久
−リング方法に関するものである。
従来例の構成とその問題点 プログラム割込みの機能を持つCPUにおいては、プロ
グラム割込みによってスケジューラの起動を行なうこと
により、容易にプロセスのスケジューリングを行なうこ
とができる。プログラム割込みはハードウェア割込みと
は異なり、命令によって発生させることのできる割込み
で、スケジュ−ラやシステムサービスルーチン起動のた
めに月割込みよりも低いレベルが割り当てられ、したが
ってプロセスレベルとバードウ7エア割込ミレヘルの間
に位置することに瀝る。すなわち、プログラム割込みは
プロセスレベルでのみ発生させ、ることか可能な割込み
で、もしハードウェアレベルにあるプログラム中でプロ
グラム割込み発生命令を実行したとしても、レベルがプ
ロセスレベルに復帰する壕で実際の割込みの発生を遅延
させることができる性質を持っている。
以下にプログラム割込み機能を持つCPHのスケジュー
・リングの様子を説明する。第1図はプログラム割込み
機能を持つCPUのスケジューリングの様子を説明する
だめの模式的なタイミングチャートである。
1の部分ハプロセスレベルでプロセスが実行中であるこ
とを示している。プロセスの実行中に2の時点でハード
ウェア割込みが発生すると割込み処理プログラムが起動
され、3の部分で割込み処理プログラムは前記プロセス
のコンチフスifすべで割込みスタックに退避する。も
し今回の割込み原因がプロセスの再スケジュールを要す
る様なものである場合、割込み処理プログラムは40時
点でプロセスレベル復帰後にプログラム割込みを発生さ
せるためにプログラム割込み発生命令を実行する。プロ
グラム割込みj/′i/%−ドウエア割込みよシもレベ
ルが低いため、前記割込み処理プログラムに対してすぐ
に割り込むことはない。前記割込み処理プログラムが所
定の処理を完了後前記プロセスのコンテクストを回復し
、割込みからの復帰命令を実行すると、前記プロイスが
割込みによって中断された次の命令5の地点に制御プ;
戻る。 ゛前記プロセスに復帰しプロセスレベルになる
色直後の6の時点で、先に割込み処理プログラム内で実
行されたブコグラム割込み発生命令によってプログラム
割込みが発生し、この割込みによってスケシュ=2が起
動される。スケジューラは初期の処理7の部分で前記プ
ロセスのコンテクストを対応スルスケジュール用スタッ
クに退避し、続いて次に実行すべきプロセスを探し出゛
してそのプロセスのコンテクストを回復した後、80侍
点でプログラム割込みからの復帰命令を実行することに
よって新たなプロセスに制m1t−移す。90部分は新
たなプロセスがプロセスレベルで実行中であることを示
している。
以上述べてきたように、コンピュータの機能としてプロ
グラム割込みを持つOPUでは、ハードウェア割込み処
理プログラム内でプログラム1lJJ込み発生命令を実
行することにより、プロセスレベルへ戻るとプログラム
割込みが発生し、自動的にスケジューラを起動すること
が可能である。この時ハードウェア割込みが多重に発生
し、かつそれらの割込み処理の中で再スケジュールの要
因が複数個発生したとしても、処理方法は極めて単純で
あり、そのつどプログラム割込み発生命令を実行してお
きさえすればプロセスレベルに復帰した直後にプログラ
ム割込みが発生する。
しかしながらプログラム割込み機能を持たないCPUで
は割込みによってスケジューラの起動を行なうことがで
きないため、ハードウェア割込みの1つをスケシュごう
に割り当てる等の手段を用いて上記の機能を実現してい
た。すなわち、あらかじめ定められた出力ボートに定め
られたデータを書き°出すと、ハードウェア割込みが発
生する様な回路を設ける等の手段により実現していたわ
けである。しかし上記の方法は、スケジューラを割込み
によって起動することができるもののプログラムが複雑
になり、かつプログラムの実行速度を低下させ、更には
割込みを発生させるための回路を構成する回路部品が必
要なことからコストを上昇させる等の重大な欠点を含ん
でいた。
発明の目的 本発明はプログラム割込み機能を持たないCPHにおい
て、容易にスケジューリング機能を実現することを目的
としている。゛ 発明の構成        、 本発明はプロセス実行中に・・−ドウエア割込みが発生
し、割込み処理グログ2ムが起動されると前記プロセス
のコンテクストを割込みスタックに退避し、前記・・−
ドウエア割込みの原因がプロセスの再スケジュールを要
するものである場合、主記憶上に設けちれたスケジュー
ル要求フラグの1ビットをセットし、前記割込み処理プ
ログラムが所定の処理を完了後前記ハードウェア割込み
が前記ハードウェア割込みのレベルよりも低いレベルの
割込み処理プログラムへ多重に割り込んだものかどうか
を判定し、もし、よりレベルの低い割込み処理プログラ
ムへ多重に割り込んでいる場合は次位に高いレベルの割
込み処理プログラムに割込みからの復帰命令によって制
御を移し、多重割込みでない場合、前記スケジュール要
求フラグがセットされていない場合は前記割込みスタッ
ク内の前記プロセスのコンテクストを回復し、割込みか
らの復帰命令によって前記プロセスに制御を移し前記ス
ケジュール要求フラグがセットされている場合は前記割
込みスタックに退避された前記プロセスのコンテクスト
を前記プロセスに対応するスケジュール用スタックに転
送し、直接スケジューラに分岐することによってスケジ
ューラを起動するものである。
実施例の説明 以下に本発明によるスケジューリング方法の様子を説明
する。
第2図は本発明によるスケジューリング方法を説明する
ための模式的なタイミングチャートである。
11の部分はプロセスレベルでプロセスが実行中である
ことを示している。プロセスの実行中に12の時点でハ
ードウェア割込みが発生すると割込み処理プログラムが
起動される。130部分で割込み処理プログラムは前記
プロセスのコンテクストをすべて割込みスタックに退避
し、次に今回の割込みの原因がプロセスの再スケジュー
ルを要する様なものである場合、割込み処理プログラム
は主記憶上に設けられたスケジュール要求フラグのビッ
トヲセソトする。140時点で、前記割込み処理プログ
ラムは前記ハードウェア割込みが前記ハードウェア割込
みのレベルよシも低いレベルの割込み処理プログラムへ
多重に割シ込んだものかどうかを判定する。もしよりレ
ベルの低い9割込み処理プログラムへ多重に割り込んで
いる場合は、次位に高いレベルの割込み処理プログラム
にハードウェア割込みからの復帰命令によって制御を移
す。14の時点の判定で、割込み処理プログラムへの多
重割込みでない場合、前記スケジュール要求フラグがセ
ットされていなければ、前記割込みスタック内の前記プ
ロセスのコンチフス)1回復し、割込みからの復帰命令
を実行すると前記ハードウェア割込みによって中断され
たプロセスの次の命令に制御が戻る。もしスケジュール
要求フラグがセットされている場合、前記割込みスタッ
ク援退避された前記プロセスのコンチフストラ前記プロ
セスに対応するスケジュール用スタックに転送し、直接
スケジューラに分岐する。以上の処理によりプログラム
割込み機能を持つCPUにおいて、プログラム割込みで
起動されたスケジューラが中断したプロセスのコンチフ
ストラプロセスに対応するスケジュール用スタックに退
避した時点と同等の状態になる。続いてスケジューラは
16の部分で次に実行すべきプロ、セスを探し出してそ
のプロセスのコンテクストを回復し、16の時点で割込
みからの復帰命令を実行することによって新たなプ“ロ
セスに制御を移す。17の部分は新たなプロセスがプロ
セスレベルで実行中であることを示している。
第3図は、上記の割込み処理プログラムの手順を示した
フローチャートである。
以上述べてきたように、本発明による方法によれば、プ
ログラム割込みの機能を持たないCPUでも回路手段を
用いることなくスケジューラを起動することが可能であ
る。またハードウェア割込みが多重に発生し、かつそれ
らの割込み処理の中で再スケジュールの要因が複数個発
生したとしても、前記ハードウェア割込みの中で最も低
いレベルのハードウェア割込みの割込み処理プログラム
からスケジューラが起動されることになり、プログラム
割込みの機能を持つCPUと同等の機能を実現すること
ができる。
発明の効果 本発明のスケジューリング方法は、割込み処理プログラ
ムからの復帰時に、現在の割込みがそれよりも低いレベ
ルの割込み処理プログラムへ多重に割り込んだものかど
うかを判定し、より低いレベルの割込み処理プログラム
に多重に割9込んでいる場合、次位に高いレベルの割込
み処理プログラムに制御を移し、割込み処理プログラム
への多重割込みでない場合、スケジュール要求フラグが
セットされていない場合はプロセスへの復帰処理を行な
い、スケジュール要求フラグがセットされている場合は
割込みスタック内のプロセスのコンチフストラ前記プロ
セスのスケジュール用スタックに転送し直接スケジュー
ラに分岐することにより、プログラム割込み機能を持た
ないCPUにおいても回路手段を用いずに容易にスケジ
ューラを起動することができ、その実用的効果は大きい
【図面の簡単な説明】
第1図はプログラム割込み機能を持つCPUのスケジュ
ーリングの様子を示す模式的なタイミングチャート、第
2図は本発明によるスケジューリング方法を示す模式的
なタイミングチャート、第3図は本発明による割込み処
理プログラムの手順を示したフローチャートである。 6・・・・・・命令、7・・・・・・処理。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名@1
図 第 28a 91”Ml;− 第311 スケC】−ラ1分(慶(ン

Claims (1)

    【特許請求の範囲】
  1. プログラム割込み機能を持たないCPUでプロセスの実
    行中にハードウェア割込みが発生し割込み処理プログラ
    ムが起動されると、前記割込み処理プログラムは前記プ
    ロセスのコンテクストを割込みスタックに退避し、前記
    ハードウェア割込みの原因がプロセスの再スケジュール
    を要するようなものである場合、主記憶上に設けられた
    スケジュール要求フラグの1ビットをセットし前記割込
    み処理プログラムの所定の処理を完了後、前記ハードウ
    ェア割込みが前記ハードウェア割込みのレベルよりも低
    いレベルの割込み処理プログラムへ多重に割り込んだも
    のかどうかを判定し、もしよりレベルの低い割込み処理
    プログラムへ多重に割り込んでいる場合、次位に高いレ
    ベルの割込み処理プログラムに割込みからの復帰命令に
    よって制御を移し、多重割込みでない場合、前記スケジ
    ュール要求フラグがセットされていない場合は前記プロ
    セスのコンテクストを回復し、割込みからの復帰命令に
    よって前記プロセスに制御を移し、前記スケジュール要
    求フラグがセットされている場合は前記割込みスタック
    に退避された前記プロセスのコンテクストを前記プロセ
    スに対応するスケジュール用スタックに転送し、直接ス
    ケジューラに分岐することによってスケジューラを起動
    することを特徴とするスケジューリング方法。
JP14193484A 1984-07-09 1984-07-09 スケジユ−リング方法 Pending JPS6121532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14193484A JPS6121532A (ja) 1984-07-09 1984-07-09 スケジユ−リング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14193484A JPS6121532A (ja) 1984-07-09 1984-07-09 スケジユ−リング方法

Publications (1)

Publication Number Publication Date
JPS6121532A true JPS6121532A (ja) 1986-01-30

Family

ID=15303543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14193484A Pending JPS6121532A (ja) 1984-07-09 1984-07-09 スケジユ−リング方法

Country Status (1)

Country Link
JP (1) JPS6121532A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489682B1 (ko) * 2002-11-19 2005-05-17 삼성전자주식회사 통신 네트워크에서 시스템 소프트웨어의 비순차적 초기화방법
JP2009011794A (ja) * 2007-07-06 2009-01-22 Yoshio Takeshita 温熱機能付き全身用健康器具。

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5394849A (en) * 1977-01-31 1978-08-19 Nec Corp Control unit for interruption process

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5394849A (en) * 1977-01-31 1978-08-19 Nec Corp Control unit for interruption process

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489682B1 (ko) * 2002-11-19 2005-05-17 삼성전자주식회사 통신 네트워크에서 시스템 소프트웨어의 비순차적 초기화방법
JP2009011794A (ja) * 2007-07-06 2009-01-22 Yoshio Takeshita 温熱機能付き全身用健康器具。

Similar Documents

Publication Publication Date Title
JPS6121532A (ja) スケジユ−リング方法
JP3601677B2 (ja) タスク処理システム
EP0796466B1 (en) An improved method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
JPH0588933A (ja) デバツグ機能を有する並列処理システム
JPS6033654A (ja) マイクロプロセツサ間デ−タ転送方式
JPS59146387A (ja) マルチプロセスにおけるスタツク制御方式
JPS62140144A (ja) 障害処理方式
JPH02244371A (ja) マルチプロセツサシステムの排他制御方法
JPH06332724A (ja) オブジェクト指向型システムにおける論理的単位の実装方式、及び実行多重度制御方式、並びに実行優先度制御方式
JPH02108145A (ja) トランザクションスケジューリング方式
JPH0462093B2 (ja)
JPH05313916A (ja) 電子計算機における割込み処理方法及び電子計算機
JPH0778091A (ja) マルチタスク管理方法
JPH01200440A (ja) プログラムデバツグ方法
JPH0764802A (ja) リアルタイムシステムのシミュレーション装置
JPH0440533A (ja) オペレーテイング・システムのプロセス・スケジユーリング方式
JPH0498448A (ja) マルチcpu用メモリシステム
JPS62217326A (ja) 複数os格納切替可能コンピユ−タ
JPS61235925A (ja) 電子計算機システムの運用方式
JPS6027950A (ja) 優先デイスパツチ制御方式
JPH04195575A (ja) タイムシェアリングシステム
JPH03116335A (ja) 非特権cpuから特権cpuヘの乗り移り方式
JPH01318117A (ja) プログラム初期化/終結処理方式
JPH02138632A (ja) 情報退避・復元方式
JPS59165151A (ja) 計算機におけるタスク・スケジユ−リング方法