JPS6126095B2 - - Google Patents
Info
- Publication number
- JPS6126095B2 JPS6126095B2 JP53094773A JP9477378A JPS6126095B2 JP S6126095 B2 JPS6126095 B2 JP S6126095B2 JP 53094773 A JP53094773 A JP 53094773A JP 9477378 A JP9477378 A JP 9477378A JP S6126095 B2 JPS6126095 B2 JP S6126095B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- priority
- dispatching
- cpu
- list
- 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
Links
- 238000000034 method Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Description
【発明の詳細な説明】
本発明は、マルチプログラミン方式の情報処理
装置におけるデイスパツチング方式に関する。更
に詳しくいえば、デイスパツチングの優先度に対
応して異なるタイムスライスをもたせデイスパツ
チング方式に関する。
装置におけるデイスパツチング方式に関する。更
に詳しくいえば、デイスパツチングの優先度に対
応して異なるタイムスライスをもたせデイスパツ
チング方式に関する。
マルチプログラミン方式においては、各プログ
ラムに対してデイスパツチングのプライオリテイ
を割当てる。
ラムに対してデイスパツチングのプライオリテイ
を割当てる。
デイスパツチングは、CPUを使用したいたプ
ログラムが入出力動作を起動した等の理由で、こ
れ以上CPUの処理を続行できなくなつた時点、
あるいは、CPUに対して割込みが発生した時点
で行われるが、このときCPUで実行可能なプロ
グラムのうち、最も高いプライオリテイをもつプ
ログラムにCPUを割当てるという制御が行われ
る。
ログラムが入出力動作を起動した等の理由で、こ
れ以上CPUの処理を続行できなくなつた時点、
あるいは、CPUに対して割込みが発生した時点
で行われるが、このときCPUで実行可能なプロ
グラムのうち、最も高いプライオリテイをもつプ
ログラムにCPUを割当てるという制御が行われ
る。
各プログラムにプライオリテイを割当てる際に
は、一般にはそのプログラムの完了がどの程度急
がれているかという見地と、そのプログラムがど
の程度の頻度で入出力動作を行うかという見地の
両方が考慮される。後者は、入出力動作を頻繁に
行うプログラムに高いプライオリテイを与えるこ
とにより、入出力装置の使用率を上げることがで
き、これによりスループツトを向上させようとす
るものである。
は、一般にはそのプログラムの完了がどの程度急
がれているかという見地と、そのプログラムがど
の程度の頻度で入出力動作を行うかという見地の
両方が考慮される。後者は、入出力動作を頻繁に
行うプログラムに高いプライオリテイを与えるこ
とにより、入出力装置の使用率を上げることがで
き、これによりスループツトを向上させようとす
るものである。
また、特定のプログラムが連続してCPUを使
用することにより他のプログラムが遅らされるの
を防ぐためにCPUにタイムスライスを設け、
CPUをこの時間占有し続けたプログラムは一度
中断され、これと同じプライオリテイをもつ他の
プログラムがある場合には、これにCPUを割当
てることが行われている。
用することにより他のプログラムが遅らされるの
を防ぐためにCPUにタイムスライスを設け、
CPUをこの時間占有し続けたプログラムは一度
中断され、これと同じプライオリテイをもつ他の
プログラムがある場合には、これにCPUを割当
てることが行われている。
このタイムスライスを短くすることにより、同
一プライオリテイのプログラム間におけるCPU
処理の受け方を均等化できるという効果があるが
反面タイムスライスが終了することによるタイマ
割込み処理およびこれに続いて行われるプログラ
ムの切換えのための処理のために、CPUのオー
バヘツドが増大するという欠点がある。
一プライオリテイのプログラム間におけるCPU
処理の受け方を均等化できるという効果があるが
反面タイムスライスが終了することによるタイマ
割込み処理およびこれに続いて行われるプログラ
ムの切換えのための処理のために、CPUのオー
バヘツドが増大するという欠点がある。
本発明は、高いプライオリテイのプログラムに
は短いタイムスライスを、低いプライオリテイの
プログラムには長いタイムスライスを割当てるこ
とにより、高いプライオリテイをもつプログラム
ではCPUでの処理をなるべく均等化し、高速を
要求されるプログラム、入出力動作を頻繁に行う
プログラムに均等にCPUが割当てられることに
なる。また、低いプライオリテイをもつプログラ
ムに対しては、長いタイムスライスを与えること
により、低いプライオリテイのプログラム間では
CPUの割当てに不均衡は生じるが、これは低い
プライオリテイのプログラムにおいてはそれほど
問題とはならず、反面タイマ割込みおよびこれに
伴うデイスパツチのためのCPUオーバヘツドを
小さくできるという長所が生じる。
は短いタイムスライスを、低いプライオリテイの
プログラムには長いタイムスライスを割当てるこ
とにより、高いプライオリテイをもつプログラム
ではCPUでの処理をなるべく均等化し、高速を
要求されるプログラム、入出力動作を頻繁に行う
プログラムに均等にCPUが割当てられることに
なる。また、低いプライオリテイをもつプログラ
ムに対しては、長いタイムスライスを与えること
により、低いプライオリテイのプログラム間では
CPUの割当てに不均衡は生じるが、これは低い
プライオリテイのプログラムにおいてはそれほど
問題とはならず、反面タイマ割込みおよびこれに
伴うデイスパツチのためのCPUオーバヘツドを
小さくできるという長所が生じる。
従つて、本発明の目的は、CPUオーバヘツが
比較的少くかつ、タイムスライスの効果を有効に
果し得るデイスパツチング方式を提供することに
ある。
比較的少くかつ、タイムスライスの効果を有効に
果し得るデイスパツチング方式を提供することに
ある。
次に本発明の一実施例を説明する。図は本発明
の一実施例を示すブロツク図である。
の一実施例を示すブロツク図である。
本実施例においては、各デイスパツチングプラ
イオリテイに対応したタイムスライスを保持する
手段として、主記憶装置10上にタイムスライス
テーブル1が用意される。
イオリテイに対応したタイムスライスを保持する
手段として、主記憶装置10上にタイムスライス
テーブル1が用意される。
また、CPU2で実行可能なプログラムを管理
するデイスパツチングリスト(L1〜Ln)が主記
憶10上に管理される。これは、デイスパツチン
グプライオリテイの各値(PR1〜PRo)毎に、そ
のプライオリテイのプログラムであり、CPUで
実行可能なもの、即ち、レデイ状態にあるものを
管理するものであり、入出力動作の終了等でレデ
イ状態になつたプログラムをそのプログラムのプ
ライオリテイに対応するリストの最後尾に登録す
ることにより、レデイ状態にあるプログラムを
FIFO(フアーストイン・フアーストアウト)の
順に管理する。
するデイスパツチングリスト(L1〜Ln)が主記
憶10上に管理される。これは、デイスパツチン
グプライオリテイの各値(PR1〜PRo)毎に、そ
のプライオリテイのプログラムであり、CPUで
実行可能なもの、即ち、レデイ状態にあるものを
管理するものであり、入出力動作の終了等でレデ
イ状態になつたプログラムをそのプログラムのプ
ライオリテイに対応するリストの最後尾に登録す
ることにより、レデイ状態にあるプログラムを
FIFO(フアーストイン・フアーストアウト)の
順に管理する。
更に本実施例においては、設定された時間が経
過すると、CPU2に外部割込を発生するインタ
バルタイマ3が設けられている。
過すると、CPU2に外部割込を発生するインタ
バルタイマ3が設けられている。
次に本実施例における動作を説明する。
本実施例においては、ある時点で割込みが発生
すると、それまで実行されていたプログラムは一
旦中断され、割込処理ルーチンに制御が渡される
がこの前に、割込の発生する直前に実行されてい
たプログラムがそのプログラムのプライオリテイ
PRjに対応するリストLjの最後尾に登録される。
そして、割込処理が終了した後で、次にCPUを
割当てるデイスパツチング処理においてはまず最
も高いプライオリテイPR1に対応するリストL1が
調べられ、この最初のプログラムがデイスパツチ
の対象として決定される。最も高いプライオリテ
イに対応するリストにプログラムが登録されてい
ないとき即ちレデイ状態のプログラムがないとき
には、次に高いプライオリテイPR2のリストL2が
調べられる。
すると、それまで実行されていたプログラムは一
旦中断され、割込処理ルーチンに制御が渡される
がこの前に、割込の発生する直前に実行されてい
たプログラムがそのプログラムのプライオリテイ
PRjに対応するリストLjの最後尾に登録される。
そして、割込処理が終了した後で、次にCPUを
割当てるデイスパツチング処理においてはまず最
も高いプライオリテイPR1に対応するリストL1が
調べられ、この最初のプログラムがデイスパツチ
の対象として決定される。最も高いプライオリテ
イに対応するリストにプログラムが登録されてい
ないとき即ちレデイ状態のプログラムがないとき
には、次に高いプライオリテイPR2のリストL2が
調べられる。
このようにして、レデイ状態にあるプログラム
の中で最も高いプライオリテイをもち、かつ対応
するリストの最初にあるプログラムがデイスパツ
チの対象として決定されると、次にそのプログラ
ムのプライオリテイPRjに対応するタイムスライ
ステーブル1のエントリの値Tjが主記憶データ
レジスタ4に読出される。次に、読出されたタイ
ムスライス値Tjをインタバルタイマ3にセツト
した後、前記デイスパツチの対象として決定され
たジヨブに制御を引渡す。このプログラムの実行
においては、長くともTjの時間が経過すれば割
込が発生し、これにより、このプログラムよりも
高いプライオリテイをもつプログラムがレデイ状
態になればこれに対してデイスパツチが行われ
る。高いプライオリテイのレデイ状態のプログラ
ムがない場合には同じプライオリテイをもつ他の
プログラムに対してデイスパツチが行われること
になる。
の中で最も高いプライオリテイをもち、かつ対応
するリストの最初にあるプログラムがデイスパツ
チの対象として決定されると、次にそのプログラ
ムのプライオリテイPRjに対応するタイムスライ
ステーブル1のエントリの値Tjが主記憶データ
レジスタ4に読出される。次に、読出されたタイ
ムスライス値Tjをインタバルタイマ3にセツト
した後、前記デイスパツチの対象として決定され
たジヨブに制御を引渡す。このプログラムの実行
においては、長くともTjの時間が経過すれば割
込が発生し、これにより、このプログラムよりも
高いプライオリテイをもつプログラムがレデイ状
態になればこれに対してデイスパツチが行われ
る。高いプライオリテイのレデイ状態のプログラ
ムがない場合には同じプライオリテイをもつ他の
プログラムに対してデイスパツチが行われること
になる。
以上本発明の一実施例を説明したが、この説明
により明らかなように、本発明の主旨は、各プラ
イオリテイに対応して設定されたタイムスライス
値を保持する手段としてタイムスライステーブ
ル、割込みに際して、それまでCPUで実行中で
あつたプログラムを対応するプライオリテイのレ
デイプログラムリストの最後尾に登録する手段、
デイスパツチングに際して、高いプライオリテイ
に対応するレデイプログラムリストからサーチを
始め最も高いプライオリテイをもつレデイプログ
ラムリストの最初のプログラムをデイスパツチン
グの対象として選択する手段、およびデイスパツ
チングに際して前記タイムスライステーブルか
ら、デイスパツチを行うプログラムのプライオリ
テイに対応するタイムスライス値を読出し、これ
をインタバルタイマに格納する手段を設けること
により、各プライオリテイに対応して異なるタイ
ムスライス値を設定することを可能にしたもので
あり、本発明の主旨に反しない限り、本実施例の
いくつかの変形は可能であることは明らかであろ
う。
により明らかなように、本発明の主旨は、各プラ
イオリテイに対応して設定されたタイムスライス
値を保持する手段としてタイムスライステーブ
ル、割込みに際して、それまでCPUで実行中で
あつたプログラムを対応するプライオリテイのレ
デイプログラムリストの最後尾に登録する手段、
デイスパツチングに際して、高いプライオリテイ
に対応するレデイプログラムリストからサーチを
始め最も高いプライオリテイをもつレデイプログ
ラムリストの最初のプログラムをデイスパツチン
グの対象として選択する手段、およびデイスパツ
チングに際して前記タイムスライステーブルか
ら、デイスパツチを行うプログラムのプライオリ
テイに対応するタイムスライス値を読出し、これ
をインタバルタイマに格納する手段を設けること
により、各プライオリテイに対応して異なるタイ
ムスライス値を設定することを可能にしたもので
あり、本発明の主旨に反しない限り、本実施例の
いくつかの変形は可能であることは明らかであろ
う。
たとえば、本実施例においては、タイムスライ
ステーブルは主記憶上に設けられるとしている
が、CPU2内に専用のレジスタを設け、これによ
り、実現することも可能である。
ステーブルは主記憶上に設けられるとしている
が、CPU2内に専用のレジスタを設け、これによ
り、実現することも可能である。
また、本実施例においては、割込みに際しての
リストの最後尾への登録、あるいはデイスパツチ
ングにおけるレデイプログラムリストのサーチ、
あるいはインタバルタイマのセツト等の処理は機
械後プログラムにより実行されることを想定して
いるが、これはマイクロプログラム制御により実
行することも可能である。
リストの最後尾への登録、あるいはデイスパツチ
ングにおけるレデイプログラムリストのサーチ、
あるいはインタバルタイマのセツト等の処理は機
械後プログラムにより実行されることを想定して
いるが、これはマイクロプログラム制御により実
行することも可能である。
また、本実施例においては、割込に際して現プ
ログラムの状態の退避、デイスパツチングに際し
ての旧状態の復帰等の処理の詳細については本発
明の本来の主旨とは関係がないので省略してある
が、これらは従来知られている技術により実現で
きることは明らかであろう。
ログラムの状態の退避、デイスパツチングに際し
ての旧状態の復帰等の処理の詳細については本発
明の本来の主旨とは関係がないので省略してある
が、これらは従来知られている技術により実現で
きることは明らかであろう。
また、本実施例の説明においては、主記憶上の
タイムスライステーブルのアドレスの決定のしか
た、あるいはレデイプログラムリストの具体的実
現方法についてはふれていないが、これらは前者
に関しては、たとえば、プライオリテイ値をイン
デクスとするインデクス修飾、後者に関しては、
たとえば各プログラム制御ブロツクに設けたポイ
ンタによつても実現できる。
タイムスライステーブルのアドレスの決定のしか
た、あるいはレデイプログラムリストの具体的実
現方法についてはふれていないが、これらは前者
に関しては、たとえば、プライオリテイ値をイン
デクスとするインデクス修飾、後者に関しては、
たとえば各プログラム制御ブロツクに設けたポイ
ンタによつても実現できる。
図は本発明の一実施例を示すもので、10は主
記憶、1はタイムスライステーブル、2は
CPU、3はインタバルタイマ、4は主記憶デー
タレジスタを示す。
記憶、1はタイムスライステーブル、2は
CPU、3はインタバルタイマ、4は主記憶デー
タレジスタを示す。
Claims (1)
- 1 各デイスパツチングプライオリテイに対応す
るタイムスライス値を保持する手段と、CPUで
実行可能状態にあるプログラムを各プライオリテ
イ毎にフアーストイン・フアーストアウトの順序
でリストにより管理する手段と、割込みに際して
これまで実行中であつたプログラムをそのプログ
ラムに対応する前記管理手段におけるプライオリ
テイのリスト最後尾に付加する手段と、デイスパ
ツチングに際して、デイスパツチを決定されたプ
ログラムのプライオリテイに対応するタイムスラ
イス値を前記保持手段から読出し、これを設定さ
れた時間が経過すると割込みを発生するインタバ
ルタイマに設定する手段をもち、プライオリテイ
に対応して異なるタイムスライスによりデイスパ
ツチングを行い得ることを特徴とするデイスパツ
チング方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9477378A JPS5523527A (en) | 1978-08-02 | 1978-08-02 | Dispatching system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9477378A JPS5523527A (en) | 1978-08-02 | 1978-08-02 | Dispatching system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5523527A JPS5523527A (en) | 1980-02-20 |
JPS6126095B2 true JPS6126095B2 (ja) | 1986-06-19 |
Family
ID=14119407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9477378A Granted JPS5523527A (en) | 1978-08-02 | 1978-08-02 | Dispatching system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5523527A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57117913A (en) * | 1981-01-16 | 1982-07-22 | Uroko Seisakusho Co Ltd | Device for manufacturing veneer |
US4736318A (en) * | 1985-03-01 | 1988-04-05 | Wang Laboratories, Inc. | Data processing system having tunable operating system means |
JPS61223950A (ja) * | 1985-03-29 | 1986-10-04 | Toshiba Corp | スケジユ−ラ |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5197950A (en) * | 1975-02-26 | 1976-08-28 | Kanripuroguramuno seigyohoshiki | |
JPS5231693A (en) * | 1975-09-04 | 1977-03-10 | Matsushita Electric Ind Co Ltd | Photocnductive element |
-
1978
- 1978-08-02 JP JP9477378A patent/JPS5523527A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5197950A (en) * | 1975-02-26 | 1976-08-28 | Kanripuroguramuno seigyohoshiki | |
JPS5231693A (en) * | 1975-09-04 | 1977-03-10 | Matsushita Electric Ind Co Ltd | Photocnductive element |
Also Published As
Publication number | Publication date |
---|---|
JPS5523527A (en) | 1980-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7831980B2 (en) | Scheduling threads in a multi-processor computer | |
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US9588808B2 (en) | Multi-core system performing packet processing with context switching | |
JPH05324361A (ja) | 仮想計算機システムのcpu制御方式 | |
CN107203428B (zh) | 一种基于Xen的VCPU多核实时调度算法 | |
CN111324432B (zh) | 处理器调度方法、装置、服务器及存储介质 | |
KR20130066900A (ko) | 연성 실시간 운영체제의 실시간성 확보방법 | |
CN111897637A (zh) | 作业调度方法、装置、主机及存储介质 | |
EP3443456A1 (en) | Process scheduling in a processing system having at least one processor and shared hardware resources | |
US7225443B2 (en) | Stack usage in computer-related operating systems | |
CN109766168B (zh) | 任务调度方法和装置、存储介质以及计算设备 | |
CN114461365A (zh) | 一种进程调度处理方法、装置、设备和存储介质 | |
CN108958903B (zh) | 嵌入式多核中央处理器任务调度方法与装置 | |
US20180321973A1 (en) | Method and apparatus for scheduling tasks to a cyclic schedule | |
EP0052713B1 (en) | A process management system for scheduling work requests in a data processing system | |
JP3644042B2 (ja) | マルチタスク処理装置 | |
JPS6126095B2 (ja) | ||
CN108958905B (zh) | 嵌入式多核中央处理器的轻量级操作系统 | |
CN108958904B (zh) | 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架 | |
JPS603229B2 (ja) | 情報処理方式 | |
JPH1124946A (ja) | タスクスケジューリング装置および方法 | |
JP2585905B2 (ja) | マルチタスク実行装置 | |
KR102115738B1 (ko) | 가상화된 시스템에서의 중요한 서비스 가속화 방법 및 장치 | |
JP2579008B2 (ja) | 時分割マルチタスク実行装置 | |
JPH0586574B2 (ja) |