JPH0650470B2 - 動的ディスパッチング方式 - Google Patents

動的ディスパッチング方式

Info

Publication number
JPH0650470B2
JPH0650470B2 JP62319754A JP31975487A JPH0650470B2 JP H0650470 B2 JPH0650470 B2 JP H0650470B2 JP 62319754 A JP62319754 A JP 62319754A JP 31975487 A JP31975487 A JP 31975487A JP H0650470 B2 JPH0650470 B2 JP H0650470B2
Authority
JP
Japan
Prior art keywords
notification function
source program
input
priority
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.)
Expired - Fee Related
Application number
JP62319754A
Other languages
English (en)
Other versions
JPH01161443A (ja
Inventor
眞一 諏訪部
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP62319754A priority Critical patent/JPH0650470B2/ja
Publication of JPH01161443A publication Critical patent/JPH01161443A/ja
Publication of JPH0650470B2 publication Critical patent/JPH0650470B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプロセスの優先度にオペレーティングシステム
で動的に設定し、その優先度に従ってプロセスに中央処
理装置を割当てる動的ディスパッチング方式に関する。
〔従来の技術〕
従来、多重プログラミング方式を採用しているオペレー
ティングシステムに於けるこの種の動的ディスパッチン
グ方式に於いては、一定時間毎に対象となるプロセス
(オペレーティングシステムが認識する処理単位であ
り、中央処理装置割当ての単位となる)を全て実行保留
状態にし、実行保留状態にした各プロセスの上記一定時
間に於けるシステム資源利用特性(一定時間内の消費C
PU時間,入出力命令の実行回数,実行待機状態であっ
た時間等)によって各プロセスの相対的な特性を判定
し、その判定結果に基づいて、次の一定時間に於ける各
プロセスの中央処理装置割当て優先度を決定するように
している。
〔発明が解決しようとする問題点〕
従来は上述したように、対象となるプロセスの全てを一
定時間毎に実行保留状態にして特性を判定しているた
め、対象となるプロセスの数が多い場合、判定処理によ
るオーバーヘッドが大きくなる問題があった。また、プ
ロセスのシステム資源利用特性の見直し時間間隔を短く
すると、判定処理によるオーバーヘッドが大きくなり、
長くすると、各プロセスに対する優先度の値がその時点
での各プロセスの特性を反映したものにならない問題点
もあった。
本発明はこのような問題点を解決したものであり、その
目的はオーバーヘッドを大きくすることなく、プロセス
の特性を反映させた中央処理装置割当て優先度を得るこ
とができるようにすることにある。
〔問題点を解決するための手段〕
本発明は前述の如き問題点を解決するため、 多重プログラミング方式を採用しているオペレーティン
グシステムで、プロセスの優先度を動的に設定し、その
優先度に従ってプロセスに中央処理装置を割当てる動的
ディスパッチング方式に於いて、 ソースプログラムのコンパイル時に、該ソースプログラ
ム中に、入出力処理要求を内部に含む繰返し構造が存在
すると認識した場合、該ソースプログラム対応のコンパ
イルユニットに於ける入出力処理要求を内部に含む繰返
し構造の直前及び直後の部分に通知機能を組み込む通知
機能組み込み手段と、 前記ソースプログラム対応のロードモジュールの実行時
に、該ロードモジュールを実行しているプロセスからの
前記通知機能による通知を契機として、該プロセスに対
する中央処理装置割当て優先度を変更する優先度設定手
段とを設けたものである。
〔作用〕
ソースプログラムが繰返し構造を有し、且つ繰返し構造
の内部に入出力処理要求が存在する場合、通知機能組み
込み手段によって、コンパイル時に、上記ソースプログ
ラムに対応したコンパイルユニットの入出力処理要求を
含む繰返し構造の直前,直後の部分に通知機能が組み込
まれる。通知機能が組み込まれたコンパイルユニット対
応のロードモジュールを実行しているプロセスの処理
が、繰返し構造の直前に組み込まれた通知機能の部分に
達することにより、優先度設定手段はそのプロセスの中
央処理装置割当て優先度を高め、前記プロセスの処理が
繰返し構造の直後に組み込まれた通知機能の部分に達す
ることにより、優先度設定手段は上記プロセスの中央処
理装置割当て優先度の値を以前の値に戻す。
〔実施例〕
次に本発明の実施例について図面を参照して詳細に説明
する。
第1図は本発明の実施例のブロック図であり、ユーザプ
ログラムのソースプログラム1と、コンパイラ20と、コ
ンパイルユニット6と、連繋編集手段(リンカ)7と、
ロードモジュール8と、中央処理装置9と、実行中のプ
ロセス10と、実行待機状態のプロセス11,12を含む実行
待機状態のプロセス群30と、オペレーティングシステム
によって構成されるプロセス管理部40とを含んでいる。
コンパイラ20はソースプログラム翻訳手段2と、プログ
ラム構造認識手段3と、通知機能組み込み手段4と、入
出力実行機能登録表5とを含み、プロセス管理部40は優
先度設定手段13と、プロセス制御情報テーブル14と、デ
ィスパッチャ15とを含んでいる。
コンパイラ20内のソースプログラム翻訳手段2はソース
プログラム1をコンパイルする過程でソースプログラム
1に繰返し構造があることを検出すると、プログラム構
造認識手段3に繰返し構造の部分を渡す。繰返し構造の
部分が渡されると、プログラム構造認識手段3は、入出
力実行機能登録表5を参照して繰返し構造に含まれる機
能の中に入出力実行機能が存在するか否かを判断し、入
出力実行機能が繰返し構造に含まれていると判断した場
合のみ、通知機能組み込み手段4にその旨を通知する。
通知機能組み込み手段4はプログラム構造認識手段3か
ら通知を受けた場合は、ソースプログラム翻訳手段2で
コンパイルされたコンパイルユニットの入出力処理要求
を内部に含む繰返し構造の直前及び直後の部分に優先度
設定手段13に対して通知を行なう通知機能を組み込んだ
ものをコンパイルユニット6として出力し、プログラム
構造認識手段3から通知を受けなかった場合は、ソース
プログラム翻訳手段2でコンパイルされたものをそのま
まコンパイルユニット6として出力する。尚、上記の通
知機能による通知内容としては、繰返し構造の直前であ
るのか直後であるのかが区別できる情報以外に、直前の
通知機能では実行段階で入出力実行繰返し回数がプログ
ラムロジック上で判明する時はその回数が、単に入出力
実行が繰返される可能性しか判らない時はその旨が通知
される。
連繋編集手段7はコンパイルユニット6を連繋編集して
ロードモジュール8を作成する。
ロードモジュール8がプロセス10のもとで実行され、通
知機能組み込み手段4によって繰返し構造の始まる直前
の部分に組み込まれた通知機能が実行されると、プロセ
ス10から優先度設定手段13に情報が通知される。この情
報としては、前述したように、繰返し構造の直前である
ことが判る情報と、実行段階で繰返し構造内の入出力要
求の要求回数がプログラムロジック上で判る場合にはそ
の値が、単に繰返し入出力要求が実行される可能性があ
ることしか判らない場合にはその旨が通知される。優先
度設定手段13はプロセス10の中央処理装置割当て優先度
をプロセス10からの上述した優先度決定情報に基づいて
決定し、プロセス制御情報テーブル14に登録されている
プロセス10対応の中央処理装置割当て優先度を変更す
る。尚、優先度設定手段13は入出力処理要求の要求回数
が多い程、高い優先度を与えるものであり、このように
することにより、一般的な事務システムの場合、高いシ
ステム効率をあげることができる。
プロセス10が内部に入出力実行要求を含む繰返し構造に
よる処理の終了時点に到達すると、通知機能組み込み手
段4によって組み込まれている通知機能が実行され、優
先度設定手段13に繰返し構造となっている処理の終了が
通知される。
優先度設定手段13はこの通知を受けることにより、プロ
セス制御情報テーブル14に登録されているプロセス10対
応の中央処理装置割当て優先度を予め定められている以
前の値に戻す。
ディスパッチャ15はプロセス制御情報テーブル14に登録
されている各プロセスの中央処理装置割当て優先度に基
づいて、実行待機状態のプロセス11,12に中央処理装置
9を割当てる。
次に、ソースプログラム1が第2図に示すものである場
合を例にとって第1図の動作を説明する。
ソースプログラム1のラインL2からラインL4までは
繰返し構造となっており、その内部に入出力処理の実行
を要求するラインL3を含んでいる。コンパイルユニッ
ト6の作成時、前述したように、プログラム構造認識手
段3によって繰返し構造中に入出力処理の実行を要求す
るラインL3が存在することが認識され、通知機能組み
込み手段4によってラインL2の直前の部分とラインL
4の直後の部分とに通知機能が組み込まれる。実行段階
でないコンパイル段階では、ラインL3に存在する入出
力処理の繰返し回数は確定しないが、実行段階ではライ
ンL1によって確定するので、繰返し構造の直前の通知
機能は直前に実行されたラインL1で確立したMAX
CNTに基づく繰返し回数を通知するように構成され
る。
このソースプログラム1のロードモジュール8が実行に
移され、ラインL2の直前に組み込まれた通知機能が実
行されることにより、プロセス10から優先度設定手段13
に対して入出力処理の繰返しを示す変数MAX CNT
の値も通知される。優先度設定手段13はこの通知内容に
基づいてプロセス制御情報テーブル14に登録されている
プロセス10対応の優先度を変更する。
そして、入出力処理を含む繰返し構造の処理が終了し、
ラインL4の直後に組み込まれた通知機能が実行される
ことにより、プロセス10から優先度設定手段13に終了通
知が行なわれ、これにより優先度設定手段13はプロセス
制御情報テーブル14に登録されているプロセス10対応の
優先度を元の値に戻す。
また、ラインL5は入出力処理の実行を要求するライン
であるが、繰返し構造に含まれていないため、このライ
ンL5によって通知機能が組み込まれ、プロセスの優先
度が変更されることはない。
〔発明の効果〕
以上説明したように、本発明は、ソースプログラムが繰
返し構造を有し、且つ繰返し構造の内部に入出力処理要
求が存在する場合、コンパイル時に通知機能組み込み手
段によって、上記ソースプログラムに対応したコンパイ
ルユニットの繰返し構造の直前,直後の部分に優先度設
定手段に対する通知機能を組み込んでおき、通知機能の
組み込まれたコンパイルユニットに対応したロードモジ
ュールの実行時、ロードモジュールを実行するプロセス
が繰返し構造の直前及び直後に組み込まれた通知機能を
実行することにより、優先度設定手段がそのプロセスの
優先度を変更するようにしたものであり、プロセスの実
行中に中央処理装置割当て優先度を設定できるので、対
象となるプロセスを全て実行保留状態にして特性の判定
処理を実施しなければならなかった従来例に比較してシ
ステム効率を高いものとすることができると共に対象と
なるプロセスの数が多い場合に於いても判定処理による
オーバーヘッドが増加しない効果がある。また、事務処
理システム等でが入出力特性はプロセスのシステム資源
使用特性の内で最も重要であり、本発明はそのような入
出力特性に注目し、繰返し要求される入出力要求の実行
の直前及び直後に中央処理装置割当て優先度が変更され
るものであるので、中央処理装置割当て優先度にプロセ
スの特性を正確に反映させることができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図及び、 第2図はソースプログラム1の一例を示す図である。 図に於いて、1…ソースプログラム、2…ソースプログ
ラム翻訳手段、3…プログラム構造認識手段、4…通知
機能組み込み手段、5…入出力実行機能登録表、6…コ
ンパイルユニット、7…連繋編集手段、8…ロードモジ
ュール、9…中央処理装置、10…実行中のプロセス、1
1,12…実行待機状態のプロセス、13…優先度設定手段、
14…プロセス制御情報テーブル、15…ディスパッチャ、
20…コンパイラ、30…実行待機状態のプロセス群、40…
プロセス管理部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】多重プログラミング方式を採用しているオ
    ペレーティングシステムで、プロセスの優先度を動的に
    設定し、その優先度に従ってプロセスに中央処理装置を
    割当てる動的ディスパッチング方式に於いて、 ソースプログラムのコンパイル時に、該ソースプログラ
    ム中に、入出力処理要求を内部に含む繰返し構造が存在
    すると認識した場合、該ソースプログラム対応のコンパ
    イルユニットに於ける入出力処理要求を内部に含む繰返
    し構造の直前及び直後の部分に通知機能を組み込む通知
    機能組み込み手段と、 前記ソースプログラム対応のロードモジュールの実行時
    に、該ロードモジュールを実行しているプロセスからの
    前記通知機能による通知を契機として、該プロセスに対
    する中央処理装置割当て優先度を変更する優先度設定手
    段とを含むことを特徴とする動的ディスパッチング方
    式。
JP62319754A 1987-12-17 1987-12-17 動的ディスパッチング方式 Expired - Fee Related JPH0650470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62319754A JPH0650470B2 (ja) 1987-12-17 1987-12-17 動的ディスパッチング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62319754A JPH0650470B2 (ja) 1987-12-17 1987-12-17 動的ディスパッチング方式

Publications (2)

Publication Number Publication Date
JPH01161443A JPH01161443A (ja) 1989-06-26
JPH0650470B2 true JPH0650470B2 (ja) 1994-06-29

Family

ID=18113799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62319754A Expired - Fee Related JPH0650470B2 (ja) 1987-12-17 1987-12-17 動的ディスパッチング方式

Country Status (1)

Country Link
JP (1) JPH0650470B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250928A (ja) * 1993-02-24 1994-09-09 Matsushita Electric Ind Co Ltd 情報処理装置

Also Published As

Publication number Publication date
JPH01161443A (ja) 1989-06-26

Similar Documents

Publication Publication Date Title
US9977664B2 (en) Information processing device and information processing method in heterogenous multi-cores having different architectures
JP2738692B2 (ja) 並列化コンパイル方法
EP1152329B1 (en) Method, computer program product and apparatus for identifying splittable packets in a multithreated vliw processor
KR100589798B1 (ko) 중지동안 바이트 코드 최적화 장치 및 방법
JP2005284749A (ja) 並列処理コンピュータ
CN106062716B (zh) 在单任务系统中实现多任务的方法、装置及单任务系统
EP1146420A1 (en) Method and apparatus for splitting packets in a multithreaded VLIW processor
JPS6184740A (ja) 汎用オブジエクトコ−ド生成方式
JPH06243112A (ja) マルチプロセッサ装置
JPH0650470B2 (ja) 動的ディスパッチング方式
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
Schreiner Virtual tasks for the PACLIB kernel
JPH1131134A (ja) コンピュータシステム及び同システムに適用するスケジューリング方法
Tousimojarad et al. The Glasgow Parallel Reduction Machine: Programming shared-memory many-core systems using parallel task composition
Hibino A practical parallel garbage collection algorithm and its implementation
JP3628782B2 (ja) 並列分散処理システム
JPH07105013A (ja) レジスタ割り付け方式
JPH02125335A (ja) 並列論理型言語処理系におけるゴール管理処理方式
JP2795312B2 (ja) プロセス間通信スケジューリング方式
Smith A directly coupled multiprocessing system
JPH02105224A (ja) コンパイラにおけるデータ割付け方式
Ha et al. Design and Implementation of a Massively Parallel Multithreaded Architecture: DAVRID
Obuchi et al. Efficient translation and execution method for automated parallel processing system by using valgrind
Horn Improving Parallel Implementations of Lazy Functional Languages Using Evaluation Transformers
CN119973974A (zh) 机器人控制系统、硬件资源、机器人

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees