JPS6027948A - スケジユ−リング方法 - Google Patents
スケジユ−リング方法Info
- Publication number
- JPS6027948A JPS6027948A JP58138422A JP13842283A JPS6027948A JP S6027948 A JPS6027948 A JP S6027948A JP 58138422 A JP58138422 A JP 58138422A JP 13842283 A JP13842283 A JP 13842283A JP S6027948 A JPS6027948 A JP S6027948A
- Authority
- JP
- Japan
- Prior art keywords
- program
- psw
- time
- timer interruption
- execution
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、コンピュータシステムにおける時分割による
スケジューリング方法に関するものである。
スケジューリング方法に関するものである。
従来例の構成とその問題点
今日、多くのコンピュータシステムにおいては巨視的に
見た場合、複数個のプログラムが同時に実行されている
。当然、微視的に見た場合、1個のコンピュータ7ステ
ムにおいては一時には1個のプログラムしか実行できな
いが、たとえば、ある時間間隔で次々と実行するプログ
ラムを切り換えて行くと、上記時間間隔に比して十分長
い時間が経過した時、あたかも複数個のプログラムが同
時に実行されたかのように見ることができる。上記の様
なプログラムの実行の仕方を時分割スケジューリングと
呼ぶことにする。
見た場合、複数個のプログラムが同時に実行されている
。当然、微視的に見た場合、1個のコンピュータ7ステ
ムにおいては一時には1個のプログラムしか実行できな
いが、たとえば、ある時間間隔で次々と実行するプログ
ラムを切り換えて行くと、上記時間間隔に比して十分長
い時間が経過した時、あたかも複数個のプログラムが同
時に実行されたかのように見ることができる。上記の様
なプログラムの実行の仕方を時分割スケジューリングと
呼ぶことにする。
時分割スケジューリングの管理下にあるプログラムは、
ある時間を区切って実行権が与えられ、その時間を使い
切ると実行権を剥奪される。スケジューラは今実行権を
剥奪したプログラムを待ち行列の最後尾につなぎ、次の
順位のプログラムに実行権を与える。1個のプログラム
は許容された時間CPUを使って処理を実行すると、次
に順番が来るまで待ち状態となり、この繰り返しによっ
て処理を進めて行く。
ある時間を区切って実行権が与えられ、その時間を使い
切ると実行権を剥奪される。スケジューラは今実行権を
剥奪したプログラムを待ち行列の最後尾につなぎ、次の
順位のプログラムに実行権を与える。1個のプログラム
は許容された時間CPUを使って処理を実行すると、次
に順番が来るまで待ち状態となり、この繰り返しによっ
て処理を進めて行く。
時分割スケジューリングによると、複数個のプログラム
が1個のCPUを分は合って使用することになるので、
個々のプログラムの処理が完了するまでに要する時間は
長くなるが、同時に実行しだい要求のある複数個のプロ
グラムの各々に対して公平にCPUを分は与えることが
できるため、タイムシェアリングシステムに多用される
。又、時分割スケジューリングはタイムシェアリングシ
ステムのみでなく、同様な目的を持つコンピュータシス
テムにおいて一般的に使用される非常に有効なスケジュ
ーリング方法である。
が1個のCPUを分は合って使用することになるので、
個々のプログラムの処理が完了するまでに要する時間は
長くなるが、同時に実行しだい要求のある複数個のプロ
グラムの各々に対して公平にCPUを分は与えることが
できるため、タイムシェアリングシステムに多用される
。又、時分割スケジューリングはタイムシェアリングシ
ステムのみでなく、同様な目的を持つコンピュータシス
テムにおいて一般的に使用される非常に有効なスケジュ
ーリング方法である。
時分割スケジューリングを行なうためには計時機能が必
須な機能である。通常コンピュータシステムにおいては
、ある一定間隔で割込み信号を発生するタイマ装置と、
CPHの割込み機能とによって計時機能を実現する。た
とえばタイマ割込みの発生回数を計数し、その回数にタ
イマ割込みの時間間隔を乗すると、経過時間を知ること
ができる。
須な機能である。通常コンピュータシステムにおいては
、ある一定間隔で割込み信号を発生するタイマ装置と、
CPHの割込み機能とによって計時機能を実現する。た
とえばタイマ割込みの発生回数を計数し、その回数にタ
イマ割込みの時間間隔を乗すると、経過時間を知ること
ができる。
そこで時分割スケジューリングは、上記の計時機能があ
る定められた時間経過を開時した時、スケジューラの起
動を行なう様にすれば実現することができる。後は前述
の様にスケジューラが現在実行中のプログラムの実行権
を剥奪して待ち行列の最後尾につなぎ、次の順位のプロ
グラムに実行権を与える。
る定められた時間経過を開時した時、スケジューラの起
動を行なう様にすれば実現することができる。後は前述
の様にスケジューラが現在実行中のプログラムの実行権
を剥奪して待ち行列の最後尾につなぎ、次の順位のプロ
グラムに実行権を与える。
前述の時分割スケジューリングの手順はごく一般的なも
のであるが、詳細に見ると無駄な処理が含まれているこ
とがわかる。今、ちょうど、プログラムを切り換える時
点であると仮定して以下に説明する。
のであるが、詳細に見ると無駄な処理が含まれているこ
とがわかる。今、ちょうど、プログラムを切り換える時
点であると仮定して以下に説明する。
まず、タイマ割込みが発生すると、その時点でプログラ
ムの実行は中断され、タイマ割込み処理プログラムへ実
行が移る。この時中断したプログラムを再開するために
、プログラムの状態を示すレジスタの内容等の各種の情
報がスタック内に退避される。これらの情報は通常は数
個から数十個の範囲である。以後これらの情報をプログ
ラムスティタスワード(p s w)と呼ぶことにする
、次にタイマ処理プログラムは計時処理を行ない、プロ
グラム切シ換えのタイミングであることを知ると、スケ
ジューラを起動するために内部割込みの発生を依頼する
。通常、タイマの割込みレベルはスケジューラ用の内部
割込みのレベルよシ優先順位が高いためこの時点ではま
だスケジュール割込みは発生しない。タイマ割込み処理
プログラムの実行が終了すると、復帰命令によって先に
中断したプログラムへ復帰する。ここで以前スタックに
退避されたPSWが所定のレジスタ等に格納される。タ
イマ割込み処理から復帰すると、先に依頼した内部割込
みが発生しスケジューラへ実行が移る。この時点でもタ
イマ割込み発生時と同様なpswの退避が行なわれる。
ムの実行は中断され、タイマ割込み処理プログラムへ実
行が移る。この時中断したプログラムを再開するために
、プログラムの状態を示すレジスタの内容等の各種の情
報がスタック内に退避される。これらの情報は通常は数
個から数十個の範囲である。以後これらの情報をプログ
ラムスティタスワード(p s w)と呼ぶことにする
、次にタイマ処理プログラムは計時処理を行ない、プロ
グラム切シ換えのタイミングであることを知ると、スケ
ジューラを起動するために内部割込みの発生を依頼する
。通常、タイマの割込みレベルはスケジューラ用の内部
割込みのレベルよシ優先順位が高いためこの時点ではま
だスケジュール割込みは発生しない。タイマ割込み処理
プログラムの実行が終了すると、復帰命令によって先に
中断したプログラムへ復帰する。ここで以前スタックに
退避されたPSWが所定のレジスタ等に格納される。タ
イマ割込み処理から復帰すると、先に依頼した内部割込
みが発生しスケジューラへ実行が移る。この時点でもタ
イマ割込み発生時と同様なpswの退避が行なわれる。
スケジューラが次の順位のプログラムを探し、そのプロ
グラムのPSWを用いて復帰命令を実行すると、割込み
から復帰する形で実行が移る。ここでもPSWがレジス
タ等に格納される。スケジューラが起動された時に退避
されたPSWは保存され、次回起動される時に用いられ
る。
グラムのPSWを用いて復帰命令を実行すると、割込み
から復帰する形で実行が移る。ここでもPSWがレジス
タ等に格納される。スケジューラが起動された時に退避
されたPSWは保存され、次回起動される時に用いられ
る。
以上の説明でわかる通り、現在実行中のプログラムから
次のプログラムに実行が移るまでに、各々2回のpsw
の退避と格納が行なわれる。この操作はプログラムの実
行を再開するためには必要なものであるが、本来目的と
する処理には何ら寄与しない、言わば無駄な操作である
ので、コンピュータシステムの性能を著しく低下させる
原因の1つとなっている。
次のプログラムに実行が移るまでに、各々2回のpsw
の退避と格納が行なわれる。この操作はプログラムの実
行を再開するためには必要なものであるが、本来目的と
する処理には何ら寄与しない、言わば無駄な操作である
ので、コンピュータシステムの性能を著しく低下させる
原因の1つとなっている。
しだがって、上記の様な手順では、マイクロコンピュー
タによる実時間制御システムの要求する性能に応じ切れ
ない場合が多々ある。これは近年マイクロコンピュータ
の使用がさかんになるにつれ、その応用範囲も拡大し、
従来は別の手段によって実現されていた非常に高速な動
作が要求される応用分野にまで、マイクロコンピュータ
が進出してきたためである。
タによる実時間制御システムの要求する性能に応じ切れ
ない場合が多々ある。これは近年マイクロコンピュータ
の使用がさかんになるにつれ、その応用範囲も拡大し、
従来は別の手段によって実現されていた非常に高速な動
作が要求される応用分野にまで、マイクロコンピュータ
が進出してきたためである。
発明の目的
本発明は上記欠点を除き、より高速な応用分野にも適用
できる性能の向上を図った時分割スケジューリング方法
を提供することを目的とする。
できる性能の向上を図った時分割スケジューリング方法
を提供することを目的とする。
発明の構成
本発明のスケジューリング方法は、タイマ割込み時に退
避されるPSWをそのまま次回のスケジューリング時に
使用する様にしだものであり、pswの退避と格納を各
々1回にすることにより無駄な退避、格納操作をなくシ
、コンピュータシステムの性能を向上させたものである
。
避されるPSWをそのまま次回のスケジューリング時に
使用する様にしだものであり、pswの退避と格納を各
々1回にすることにより無駄な退避、格納操作をなくシ
、コンピュータシステムの性能を向上させたものである
。
実施例の説明
本発明のスケジューリング方法は、プログラムの起動時
に、前記プログラムが待ち状態となる時に使用するプロ
グラム状態情報退避領域のアドレスを、タイマ割込みに
対応するプログラムスティタスワード中に格納しておく
ようにしたものである。
に、前記プログラムが待ち状態となる時に使用するプロ
グラム状態情報退避領域のアドレスを、タイマ割込みに
対応するプログラムスティタスワード中に格納しておく
ようにしたものである。
本発明のスケジューリング方法は、psw切り換え方式
のコンピュータに適用する。PSW切り換え方式とは、
あらかじめ割込みの発生原因別にpswと呼ばれる割込
み処理プログラムの起動条件等を主記憶の定められた番
地に格納しておき、割込みの発生時にPSWによって指
定される番地にスタックを開設して、割込まれたプログ
ラムのpswを退避し、割込み原因に対応する新たなp
swを各レジスタ等に格納して、割込み処理プログラム
へ分岐する方式を言う。
のコンピュータに適用する。PSW切り換え方式とは、
あらかじめ割込みの発生原因別にpswと呼ばれる割込
み処理プログラムの起動条件等を主記憶の定められた番
地に格納しておき、割込みの発生時にPSWによって指
定される番地にスタックを開設して、割込まれたプログ
ラムのpswを退避し、割込み原因に対応する新たなp
swを各レジスタ等に格納して、割込み処理プログラム
へ分岐する方式を言う。
更に本発明においては、タイマ割込み処理プログラムを
、計時処理の他にスケジューリングの機能も果たす様に
構成する。
、計時処理の他にスケジューリングの機能も果たす様に
構成する。
以下にその動作の様子を説明する。本発明による方法で
は、まずタイマ割込みに対応するpsw中のスタックア
ドレス格納領域に、現プログラムが待ち状態になる時に
使用するスタックのアドレスを格納しておく。ここで、
タイマ割込みが発生すると、上記スタックへ割込まれた
プログラムのPSWが退避され、新だにタイマ割込みに
対応するPSWの内容がレジスタ等に格納されて、タイ
マ割込み処理プログラムの実行が開始される。タイマ割
込み処理プログラムの処理の中で、まず計時処理が行な
われ、プログラムの切り換えをすべきかどうかの判断が
行なわれる。もし、寸だそのタイミングでない場合、中
断したプログラムのPSWを使ってそのまま割込み処理
プログラムから中断したプログラムへ復帰すればよい。
は、まずタイマ割込みに対応するpsw中のスタックア
ドレス格納領域に、現プログラムが待ち状態になる時に
使用するスタックのアドレスを格納しておく。ここで、
タイマ割込みが発生すると、上記スタックへ割込まれた
プログラムのPSWが退避され、新だにタイマ割込みに
対応するPSWの内容がレジスタ等に格納されて、タイ
マ割込み処理プログラムの実行が開始される。タイマ割
込み処理プログラムの処理の中で、まず計時処理が行な
われ、プログラムの切り換えをすべきかどうかの判断が
行なわれる。もし、寸だそのタイミングでない場合、中
断したプログラムのPSWを使ってそのまま割込み処理
プログラムから中断したプログラムへ復帰すればよい。
一方、プログラム切り換えのタイミングである場合、引
き続き次に実行権を与えるべきプログラムを探し、該当
するプログラムが待ち状態になる時に使用するスタック
のアト:レスを、タイマ割込みに対応するPSW中のス
タックアドレス格納領域に格納する。そして、そのプロ
グラムが以前中断された時に退避されたPSWを使って
、タイマ割込み処理プログラムからの復帰を行なう。し
たがって、この時点で自動的に次に実行すべきプログラ
ムの実行を開始することができる。
き続き次に実行権を与えるべきプログラムを探し、該当
するプログラムが待ち状態になる時に使用するスタック
のアト:レスを、タイマ割込みに対応するPSW中のス
タックアドレス格納領域に格納する。そして、そのプロ
グラムが以前中断された時に退避されたPSWを使って
、タイマ割込み処理プログラムからの復帰を行なう。し
たがって、この時点で自動的に次に実行すべきプログラ
ムの実行を開始することができる。
発明の効果
以上述べてきた様に、本発明の方法によればタイマ割込
み発生時に退避したプログラムの状態情報をそのまま次
に再開されるまで保存することになり、単にタイマ割込
みのだめだけにPSWの退避、格納を行なう必要がない
。しだがって、現在実行中のプログラムから次のプログ
ラムに実行が移るまでに行なわれるpswの退避、格納
の回数を各々1回にすることが可能である。このことに
よってコンピュータシステムの性能を著しく向上させる
ことができ、その効果は極めて犬なるものがある。
み発生時に退避したプログラムの状態情報をそのまま次
に再開されるまで保存することになり、単にタイマ割込
みのだめだけにPSWの退避、格納を行なう必要がない
。しだがって、現在実行中のプログラムから次のプログ
ラムに実行が移るまでに行なわれるpswの退避、格納
の回数を各々1回にすることが可能である。このことに
よってコンピュータシステムの性能を著しく向上させる
ことができ、その効果は極めて犬なるものがある。
Claims (1)
- プログラムの起動時に、前記プログラムが待ち状態とな
る時に使用するプログラム状態情報退避領域のアドレス
を、タイマ割込に対応するプログラムスティタスワード
中に格納しておくことを特徴とするスケジューリング方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58138422A JPS6027948A (ja) | 1983-07-27 | 1983-07-27 | スケジユ−リング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58138422A JPS6027948A (ja) | 1983-07-27 | 1983-07-27 | スケジユ−リング方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6027948A true JPS6027948A (ja) | 1985-02-13 |
Family
ID=15221590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58138422A Pending JPS6027948A (ja) | 1983-07-27 | 1983-07-27 | スケジユ−リング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6027948A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5647767A (en) * | 1979-09-27 | 1981-04-30 | Tech Res & Dev Inst Of Japan Def Agency | Measuring apparatus for carrier frequency |
| JPS63160099A (ja) * | 1986-12-22 | 1988-07-02 | Mitsubishi Electric Corp | 高周波蓄積合成装置 |
-
1983
- 1983-07-27 JP JP58138422A patent/JPS6027948A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5647767A (en) * | 1979-09-27 | 1981-04-30 | Tech Res & Dev Inst Of Japan Def Agency | Measuring apparatus for carrier frequency |
| JPS63160099A (ja) * | 1986-12-22 | 1988-07-02 | Mitsubishi Electric Corp | 高周波蓄積合成装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3776449B2 (ja) | マルチタスク低電力制御装置 | |
| KR920001319A (ko) | 처리기 및 처리기의 처리방법 | |
| US7412590B2 (en) | Information processing apparatus and context switching method | |
| US20090183153A1 (en) | Method and computer for synchronous scheduling of multiple virtual CPUs | |
| JP2001117786A (ja) | プロセススケジューリング装置およびプロセススケジューリング方法 | |
| JPS6227413B2 (ja) | ||
| CN112433834A (zh) | 一种基于Linux系统的调度处理方法及装置 | |
| JPS62123552A (ja) | 中央処理装置割当て方式 | |
| JPS6148743B2 (ja) | ||
| JPS62217326A (ja) | 複数os格納切替可能コンピユ−タ | |
| JPS6380334A (ja) | マイクロプロセツサ | |
| JPS6126095B2 (ja) | ||
| JP2000132409A (ja) | 待ち状態のないタスクのスタック共有方式 | |
| JPH02173828A (ja) | 割込み処理方式 | |
| JPS6125249A (ja) | 排他制御方式 | |
| JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
| JPH0281254A (ja) | マルチプロセッサ制御装置 | |
| JPH02171834A (ja) | 密結合マルチプロセツサにおけるタスクスケジュール方式 | |
| JPH0462093B2 (ja) | ||
| JPH02244371A (ja) | マルチプロセツサシステムの排他制御方法 | |
| JPS6134633A (ja) | 情報処理システムにおけるタイミング方式 | |
| JPS5829059A (ja) | 低速メモリアクセス制御方式 | |
| JPH03164940A (ja) | 割込み時期を複数化した計算機 | |
| JPH03116335A (ja) | 非特権cpuから特権cpuヘの乗り移り方式 | |
| JPH039431A (ja) | 割込み処理方式 |