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
Application number
JP53094773A
Other languages
English (en)
Other versions
JPS5523527A (en
Inventor
Naoya Oono
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP9477378A priority Critical patent/JPS5523527A/ja
Publication of JPS5523527A publication Critical patent/JPS5523527A/ja
Publication of JPS6126095B2 publication Critical patent/JPS6126095B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、マルチプログラミン方式の情報処理
装置におけるデイスパツチング方式に関する。更
に詳しくいえば、デイスパツチングの優先度に対
応して異なるタイムスライスをもたせデイスパツ
チング方式に関する。
マルチプログラミン方式においては、各プログ
ラムに対してデイスパツチングのプライオリテイ
を割当てる。
デイスパツチングは、CPUを使用したいたプ
ログラムが入出力動作を起動した等の理由で、こ
れ以上CPUの処理を続行できなくなつた時点、
あるいは、CPUに対して割込みが発生した時点
で行われるが、このときCPUで実行可能なプロ
グラムのうち、最も高いプライオリテイをもつプ
ログラムにCPUを割当てるという制御が行われ
る。
各プログラムにプライオリテイを割当てる際に
は、一般にはそのプログラムの完了がどの程度急
がれているかという見地と、そのプログラムがど
の程度の頻度で入出力動作を行うかという見地の
両方が考慮される。後者は、入出力動作を頻繁に
行うプログラムに高いプライオリテイを与えるこ
とにより、入出力装置の使用率を上げることがで
き、これによりスループツトを向上させようとす
るものである。
また、特定のプログラムが連続してCPUを使
用することにより他のプログラムが遅らされるの
を防ぐためにCPUにタイムスライスを設け、
CPUをこの時間占有し続けたプログラムは一度
中断され、これと同じプライオリテイをもつ他の
プログラムがある場合には、これにCPUを割当
てることが行われている。
このタイムスライスを短くすることにより、同
一プライオリテイのプログラム間におけるCPU
処理の受け方を均等化できるという効果があるが
反面タイムスライスが終了することによるタイマ
割込み処理およびこれに続いて行われるプログラ
ムの切換えのための処理のために、CPUのオー
バヘツドが増大するという欠点がある。
本発明は、高いプライオリテイのプログラムに
は短いタイムスライスを、低いプライオリテイの
プログラムには長いタイムスライスを割当てるこ
とにより、高いプライオリテイをもつプログラム
ではCPUでの処理をなるべく均等化し、高速を
要求されるプログラム、入出力動作を頻繁に行う
プログラムに均等にCPUが割当てられることに
なる。また、低いプライオリテイをもつプログラ
ムに対しては、長いタイムスライスを与えること
により、低いプライオリテイのプログラム間では
CPUの割当てに不均衡は生じるが、これは低い
プライオリテイのプログラムにおいてはそれほど
問題とはならず、反面タイマ割込みおよびこれに
伴うデイスパツチのためのCPUオーバヘツドを
小さくできるという長所が生じる。
従つて、本発明の目的は、CPUオーバヘツが
比較的少くかつ、タイムスライスの効果を有効に
果し得るデイスパツチング方式を提供することに
ある。
次に本発明の一実施例を説明する。図は本発明
の一実施例を示すブロツク図である。
本実施例においては、各デイスパツチングプラ
イオリテイに対応したタイムスライスを保持する
手段として、主記憶装置10上にタイムスライス
テーブル1が用意される。
また、CPU2で実行可能なプログラムを管理
するデイスパツチングリスト(L1〜Ln)が主記
憶10上に管理される。これは、デイスパツチン
グプライオリテイの各値(PR1〜PRo)毎に、そ
のプライオリテイのプログラムであり、CPUで
実行可能なもの、即ち、レデイ状態にあるものを
管理するものであり、入出力動作の終了等でレデ
イ状態になつたプログラムをそのプログラムのプ
ライオリテイに対応するリストの最後尾に登録す
ることにより、レデイ状態にあるプログラムを
FIFO(フアーストイン・フアーストアウト)の
順に管理する。
更に本実施例においては、設定された時間が経
過すると、CPU2に外部割込を発生するインタ
バルタイマ3が設けられている。
次に本実施例における動作を説明する。
本実施例においては、ある時点で割込みが発生
すると、それまで実行されていたプログラムは一
旦中断され、割込処理ルーチンに制御が渡される
がこの前に、割込の発生する直前に実行されてい
たプログラムがそのプログラムのプライオリテイ
PRjに対応するリストLjの最後尾に登録される。
そして、割込処理が終了した後で、次にCPUを
割当てるデイスパツチング処理においてはまず最
も高いプライオリテイPR1に対応するリストL1
調べられ、この最初のプログラムがデイスパツチ
の対象として決定される。最も高いプライオリテ
イに対応するリストにプログラムが登録されてい
ないとき即ちレデイ状態のプログラムがないとき
には、次に高いプライオリテイPR2のリストL2
調べられる。
このようにして、レデイ状態にあるプログラム
の中で最も高いプライオリテイをもち、かつ対応
するリストの最初にあるプログラムがデイスパツ
チの対象として決定されると、次にそのプログラ
ムのプライオリテイPRjに対応するタイムスライ
ステーブル1のエントリの値Tjが主記憶データ
レジスタ4に読出される。次に、読出されたタイ
ムスライス値Tjをインタバルタイマ3にセツト
した後、前記デイスパツチの対象として決定され
たジヨブに制御を引渡す。このプログラムの実行
においては、長くともTjの時間が経過すれば割
込が発生し、これにより、このプログラムよりも
高いプライオリテイをもつプログラムがレデイ状
態になればこれに対してデイスパツチが行われ
る。高いプライオリテイのレデイ状態のプログラ
ムがない場合には同じプライオリテイをもつ他の
プログラムに対してデイスパツチが行われること
になる。
以上本発明の一実施例を説明したが、この説明
により明らかなように、本発明の主旨は、各プラ
イオリテイに対応して設定されたタイムスライス
値を保持する手段としてタイムスライステーブ
ル、割込みに際して、それまでCPUで実行中で
あつたプログラムを対応するプライオリテイのレ
デイプログラムリストの最後尾に登録する手段、
デイスパツチングに際して、高いプライオリテイ
に対応するレデイプログラムリストからサーチを
始め最も高いプライオリテイをもつレデイプログ
ラムリストの最初のプログラムをデイスパツチン
グの対象として選択する手段、およびデイスパツ
チングに際して前記タイムスライステーブルか
ら、デイスパツチを行うプログラムのプライオリ
テイに対応するタイムスライス値を読出し、これ
をインタバルタイマに格納する手段を設けること
により、各プライオリテイに対応して異なるタイ
ムスライス値を設定することを可能にしたもので
あり、本発明の主旨に反しない限り、本実施例の
いくつかの変形は可能であることは明らかであろ
う。
たとえば、本実施例においては、タイムスライ
ステーブルは主記憶上に設けられるとしている
が、CPU2内に専用のレジスタを設け、これによ
り、実現することも可能である。
また、本実施例においては、割込みに際しての
リストの最後尾への登録、あるいはデイスパツチ
ングにおけるレデイプログラムリストのサーチ、
あるいはインタバルタイマのセツト等の処理は機
械後プログラムにより実行されることを想定して
いるが、これはマイクロプログラム制御により実
行することも可能である。
また、本実施例においては、割込に際して現プ
ログラムの状態の退避、デイスパツチングに際し
ての旧状態の復帰等の処理の詳細については本発
明の本来の主旨とは関係がないので省略してある
が、これらは従来知られている技術により実現で
きることは明らかであろう。
また、本実施例の説明においては、主記憶上の
タイムスライステーブルのアドレスの決定のしか
た、あるいはレデイプログラムリストの具体的実
現方法についてはふれていないが、これらは前者
に関しては、たとえば、プライオリテイ値をイン
デクスとするインデクス修飾、後者に関しては、
たとえば各プログラム制御ブロツクに設けたポイ
ンタによつても実現できる。
【図面の簡単な説明】
図は本発明の一実施例を示すもので、10は主
記憶、1はタイムスライステーブル、2は
CPU、3はインタバルタイマ、4は主記憶デー
タレジスタを示す。

Claims (1)

    【特許請求の範囲】
  1. 1 各デイスパツチングプライオリテイに対応す
    るタイムスライス値を保持する手段と、CPUで
    実行可能状態にあるプログラムを各プライオリテ
    イ毎にフアーストイン・フアーストアウトの順序
    でリストにより管理する手段と、割込みに際して
    これまで実行中であつたプログラムをそのプログ
    ラムに対応する前記管理手段におけるプライオリ
    テイのリスト最後尾に付加する手段と、デイスパ
    ツチングに際して、デイスパツチを決定されたプ
    ログラムのプライオリテイに対応するタイムスラ
    イス値を前記保持手段から読出し、これを設定さ
    れた時間が経過すると割込みを発生するインタバ
    ルタイマに設定する手段をもち、プライオリテイ
    に対応して異なるタイムスライスによりデイスパ
    ツチングを行い得ることを特徴とするデイスパツ
    チング方式。
JP9477378A 1978-08-02 1978-08-02 Dispatching system Granted JPS5523527A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)