JPS61262938A - チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム - Google Patents

チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム

Info

Publication number
JPS61262938A
JPS61262938A JP61045133A JP4513386A JPS61262938A JP S61262938 A JPS61262938 A JP S61262938A JP 61045133 A JP61045133 A JP 61045133A JP 4513386 A JP4513386 A JP 4513386A JP S61262938 A JPS61262938 A JP S61262938A
Authority
JP
Japan
Prior art keywords
task
signal
queue
control block
ready
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.)
Granted
Application number
JP61045133A
Other languages
English (en)
Other versions
JPH0756634B2 (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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS61262938A publication Critical patent/JPS61262938A/ja
Publication of JPH0756634B2 publication Critical patent/JPH0756634B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明1は、多重プログラム化データ処哩システムのだ
メのオペレーティング・システムにおける改良に関する
従来技術の説明 多重プログラムド・データ処理システムは記憶装置に複
数のプログラムを同時にMl−でおり、このため中央処
理装置はそれらの間で共用される。
このスキームは、より短い時間により多くの作業をなす
ことにより計算機システムの全体の効率を改善する。多
重プログラミングの利点は、中央処理装置tの活用の増
大と高いトータルジョブスル−プントにある。
多重プログラミングの欠点は、中央処理装置を最大限に
活用するために、実行中のタスクをつねに有さねばなら
ないことである。もし2μ上のタスクがあれば、残りは
処理装置があくまで待たなければならず再スケシー−リ
ングされ得る。待ち状態のどのタスクが次に中央処理装
置のサービスを受けるか決定するだめの手段が設けられ
ねばならない。これはいオペレーティングシステムのス
ケジューリング及びタスク指名部の機能である。
異なる優先度の複数の待ち行列を供給する。多くのスケ
ジューリング法が従来より知られている。
タスクはユーザの設定する優先度を割当てられ。
これが初期の待ち行列割当を決定する。さらに。
タスクの指名順位はそれが進行するにつ凡その挙動に応
じてリフダイン(refine)される。
実際には、大きな負荷のかけられたシステムが種々のタ
スクを実行しているときに、いろいろな問題の起り得る
ことが分ってきた。相対的に低い1順位であるが、入出
力のサービスを得るため中央処理装置の制御を渡す前に
中央処理装置かられずかなサービスしか必要としないタ
スク(「入出力バウンド(束縛)」のタスク)は、その
ようなサービスを得られないことがある。というのは、
制御を渡す前に中央処理装置からの多くのサービスを必
殻とする高い順位のタスク(’ rcPUCPUバウン
ド)」のタスク)に対して、中央処理装置が優先的に割
当てられるからである。このことは。
一般的にいって好ましくない状態である。
従って1本発明の目的は、相対的に低いユーザ設定順位
を有し入出力バウンドな挙動をするタスクが、相対的に
高いユーザ設定順位を有しCPUバウンドなタスクに゛
よってロックアウトされることを防+hl、得る改良さ
れたオペレーティングシス 。
テムを提供することである。本発明の別の目的は、人出
力バウンドなタスクとCPUバウンドなタスクとが混在
したものを実行する多重プログラム化データ処理システ
ムのスルーブツトを最大にすることである。
本発明は、計時装置と、記憶装置と、入出力装置と、デ
ータ記憶装置及び入出力装置を制−する中央処理装置と
、を有し、状態レジスタ装置を設けている。複数の同時
タスク実行用多重プログラミングデータ処理システムに
おいて実施される。
データ記let装置ば、データ処理システムを制御すル
オペレーティングシステム手段を表示する信号の供給装
置と、オペレーティングシステム手段の制御下で中央処
理装置のオペレーションに関4−jる王制倒ブロックデ
ータ構造を規定する信号の記憶エレメントと、複数のタ
スク制御ブロックデータ構造を規定する信号記憶エレメ
ントと、を有する。
各タスク制御ブロックデータ構造は、データ処理システ
ムにおける複数の同時タスクの1つと関連し、データ記
憶装置におけるその記憶位置を表示する関連したアドレ
ス値を有する。各タスク制御ブロックデータ構造は、関
連するタスクは現在の実行状態を表示する状態信号の記
憶工1/メントと、タスク指名順位の値に灯心するタス
ク指名信号の記憶エレメントと、を有する。
王制1IIIIブロックデータ購債ば、特定のアドレス
値を表示する信号の複数の待ち行91J記障エレメノト
を供給し、その記憶エレメントハ、入出力装置によるサ
ービスを待つタスクを表示している少なくとも1つの連
鎖I/O待ち行列のヘッドとテイル(tail )を識
別し、中央処理装置によるサービスを受けるために待ち
行列につながったタスクを表示する。8個の連続した鎖
状のレディ(ready)待ち行列の各々は、ヘッドと
テイルを識別する。
各レディ待ち行列は、0からNまでのその位置と関連す
るサービスに対して待ち行列の優先順位を有している。
待ち行列の優先順位は、タスクの記憶位置とともに1次
のタスクを識別する。1/ディキ子−き惨今吟舛 オペレーティングシステム手段は、タスク指名手段、ス
ケジューラ手段、入出力ルーチン手段及び割込みハンド
リング手段をMする。そのタスク指名手段は、レディ待
ち行ダ1[から検索するためのタスク指名信号及び識別
された次のタスクと関連するタスク制御ブロックの記憶
位置を表示するアドレス値信号に応答する手段と:関連
するタスク制御ブロックから状態信号を検索し、検索さ
れた状態信号を中央処理4fe置のレジスタ装置に置く
ための、検索されたアドレス値信号に応答する手段と、
を1ltffえ、これにより中央処1浬装置の制m11
を次のタスクに渡す。
入出力ルーチン手段は、入出カー+=段によるサービス
の実行タスクからの呼出しを表示する。中央処理装置か
らの信号に1、応答し、関連するアドレス値信号を■/
O待ち行列のテイルに置く。スケジューラ手段は、古い
タスク指名順位値を表わす。
呼ひ出しタスク指名順位信号に応答(7,新しくより高
いタスク指名順位値を表わすためにタスク指名順位信号
i 1Jセツトし、タスク指名信号を供給する。
割込みハンドリング手段は、同時タスクの1つに関する
入出力機能の完了を表わすIlo 割込み信号に1.S
答して、第1の割込みハンドリング手段信号を供給する
。スケジューラ手段は、その第1の刷込み・・ンドリン
グ手段信号と、上記の1つのタスクに関連するタスク制
御器グロックのタスク指名順位信号と、に応答し、関連
するアI・1/ス値信号を対応するレディ待ち行列のテ
イルに置く。
テ〜り記憶装置は、さらに時間間隔制限信号を供給する
。タイマ手段は、タスク指名手段に応答して時間間隔制
限信号によって規定された時間間隔の終了を待ち、検索
された状部信号が状態レジスタ手段に置かれるときに動
作を始め、その時間間隔の終了に1.−6答してタイマ
割込み信号を供給する。
割込みハンドリング手段(1,そのタイマ割込み信号に
応答して、現在実行中のタスクの実行を停止し、中央処
理装置からの現在状態信号を検索し。
その状態信号を中1ifしたタスクに関連するタスクの
側倒ブロックのタスク制御ブロック記憶エレメントに置
き、スケジー−ラ手段へ第2の割込みハンドリング手段
を供給する。
スケジューラ手段は、その第2の割込みハンドリング手
段信号と、古いタスク指名順位値を表わす中断タスク指
名順位信号と、に応答して、そのタスク指名順位信号を
リセツトして新しくより低いタスク指名順位値を表わす
ようにし、中断タスクのタスク制fIl+ブロックと関
連するアドレス信号をその新しいタスク指名11餘値に
対1心するレディ待ち行列のテイルに置く。
本発明に従えば、デ=−タ記憶装置はさらに待ち行列範
囲信号を供給する少なくとも1つの範囲記憶エレメント
を備えており、その待ち行夕(])舶四信号はともにN
未満の待ち行列の・低数Mを表している。各タスク制御
卸ズロノクは、待ち行列範囲分割信号を供給する待ち行
列範囲分割上記憶エレメントを有し、その分割は号に関
連するタスクに対するユーザ設定順位から得られるl 範囲分割信号及び範囲信号はともに各タスクに関し北限
及び下1暇まで区画された待ち行列のサブセットを定義
し、そのタスクに関する最高及び最低順位の待ち行列を
含み、同時タスクの待ち行列のサブセットは2重複した
待ち行列サブセットをもたらす他の同時タスクの待ち行
列と、少なくとも1つの共通の待ち行列を有する。
谷タスクに関し、スケジューラ手段はさらに待ち行列範
囲分割信号及び待ち行列範囲信号に+、6.答し、その
タスクに対して驚義された待ち行列サブセット内の特定
のレディ待ち行列に関連タスク側斜ブロックアドレスを
置く。
さらに、本発明に従えば、最短の及び最長のタイムスラ
イス直とそれらの間で単ダMに増力nする。
複数の離散的タイムスライス11&、を与える。複数の
タイムスライス言己1意エレメントをイ膚えている。谷
タスクに関し、タスク指名手段は待ち行列範囲分割信号
と待ち行列範囲信号とに応答し、タスク制イ卸ブロック
アドレス信号がサブセラ]・内で最高順位の侍も行列か
ら検索されるとき最小のタイムスライス値に応答する時
間間隔制限値を供給し、タスク制御卸ブロックアドレス
信号がサブセット内の最低順位の待ち行列から検索され
るとき最大のタイムスライス1直に応答する時間間隔制
限値信号を供給し、′まだ単調に減少するll@位のサ
ブセットの残りの待ち行列に対応した単調増加のタイム
スライス直にhl”応答する時間間隔制限値信号を供給
する。
好適な実施例において、データ記憶装置はさらに、より
短いタイムスライス及びより長いタイムスライスをそれ
ぞれ表わしている第1及び75g2のタイムスライス信
号を供給する第1及び第2タイムスライス1直記憶エレ
メントを1雇えている。谷タスクに関し、タスク指名手
段は、待ち行列範囲分割信号と待ち行列φnn倍信号に
1,6答し、タスク制御ブロックアドレス信号が待ち行
列サブセットの」1限のレディ待ち行列から検索される
とき第1のタイムスライス値信号に応答する時間間隔制
限1直号を供給し、タスク制疵ブロックアドレス信号が
待ち行列のサブセントの下限のレディ待ち行列から検索
されるとき第2のタイムスライス値信号にc6答する時
間間隔制限値信号を供給する。タスク範囲分割値と範囲
値は、第1のタイムスライス値で指名されるべきタスク
が、第2のタイムスライス1直で指名されるべき他のタ
スクに割当てられる最高順位の待ち行列の順位と少なく
とも等しい順位を有する待ち行列に割当てられ得る。
好適には、第1のタイムスライス信号は、データ処理シ
ステムで同時に実行中のI/Oバウンドなタスクの平均
的CPUバースト時間乃至その1/2 倍の間の値を表
わし、第2のタイムスライス信号は、データ処理システ
ムで同時に実行中のCPUバウンドなタスクの半均的C
PUバースト時間乃至その1/2 @の間の値を表わす
その他の目的、特徴及び利点に1図面を参照しながら、
本発明の好適な実施例についての以丁の説明から明らか
となろう。
好適な実施例の説明 図面1%に第1図を参照すると1本発明は、記憶装置1
2.入出力装置14及び中央処理・装置16を備えるデ
ータ処理システム1oにおいて作用する。
CPU 中央処理装置16はシステム/Oの動作を制置するため
に作用する。特に、中央処理装置16は。
記憶装置12を制御してデータを表わす信号をそこに置
く、すなわち、信号をそこから検索するために構成され
、接続される。(ここで用語「データ」ハ、プログラム
と、プログラムによって操作された計算可能なその他の
データとの双方に言及するために使用される。)中央処
理@置16はさらに入出力裟1t14を側斜するために
構成され接続されてI/O機能を提供する。例えば、デ
ィスク18.プリンター20のような装置、りるいはキ
ーボード、モニター、通信リンク(図示せず)のような
その他の装置は装置14によって・制置される。
オペレーテ ング・システム 記憶装置tllJ、オペレーティングシステムプログラ
ムケ表わす信号を供給する装置26ケ備えている。さら
に、記憶装置12はオペレーティング・システム・プロ
グラムの#31J rm下で@作する処理装置16に関
連する王側副ブロックデータ構造を定義する信号の記憶
エレメントを28に設けている(もしシステム/Oが2
μ北のプロセツサを有するならば、2以上の王側倒ブロ
ックとなろう。)。
オペレーティングシステムプログラムの制仰下で。
王制御ブロック28に記憶された信号に関し、中央処理
装置16はh記の装置12及び14を側副し、ここには
関係しないその他のシステム・サービスを同様に提供す
る。
応用プログラム さらに記憶装置12は種々の応用(ユーザ)プログラム
を表わす信号を供給する装置を22に設けている。中央
処理装置16は、そのような応用プログラムによって制
御されるとき、そのプログラムによって規定される計算
操作を行なうことか、入出力・装置14の機能のような
オペレーティングシステムサービスを要求し行なうこと
妃より、コンピュータ技術において公知の方法でそのプ
ログラムを実行する。
タ  ス  り 「タスク」は作業のストリームとして定義され。
連続的プログラムは、各々が共通の実行中のタスクによ
って直続的に識別されて、実行され得る。
多重プログラムデータ処理システムにおいては。
複数の同時タスクが存在し、システムで実行すれるが、
それらの谷々は中央処理装置16のサービスを共用する
必要がある。そのようなタスクは22におけるような応
用(ユーザ)プログラムである。特に会話形ユーザやワ
ークステーションはタスクとみなすことができ、それら
に関してイ重々のプログラムが連続的に実行される。ワ
ークステーションは会話形すなわち[フォアグラウンド
(foreground ) J  タスクであり、バ
ッチ(非会話形)モードで実行しているプログラムは「
バックグラウンド」タスクである。
タス ゛IIIIIブロック 8引意装置12に、タスク制mljグaツクデータ構造
を表わす信号の記憶エレメント60を備えている。名タ
スク制狽1ブロックデータ構造0乃至Pは。
複数の同時タスクP即ちシステム/Oに存在するタスク
の1つと関連している。タスク制御ブロックは、タスク
が「作成」されるとき、即ちシステム/Oによって存在
が認識されるとき、始めて設けられる。各タスク側倒ブ
ロックデータ構@は。
記憶装置12の中での記憶位1置を表わす関連したアド
レス値を有する。
各タスク制御ブロックデータ構造は、関連するタスクの
現在の(即ち最新の)実行状態を表わす状態信号の記憶
エレメント32を備えている。
CPU゛、ルジスタ 中央処理装置16は、該装置16を現在制御しているタ
スクの現在の実行状態を表わす信号を供給する状態レジ
スタ装置24を有している。現在実行状態信号は、プロ
グラムに従って中央処理装置を制御するために必要であ
る、次の命令のアドレスや種々のレジスタの内容等の情
報を供給する。
タスクが、中央処理装置16の制御を与えられるとき、
そのような状態信号は関連するタスク制御ブロック30
から状態レジスタ装置24ヘロードされる。そのタスク
は「ディスパッチ」(指名)されたと呼ばれる。
待ち行列 どの同時タスクが次に中央処理装置16の制御を与えら
れるのか、あるいはシステム入出力装置のサービスを得
るのかを決定しその後に認識する装置が設けられなけれ
ばならない。このため、主制御ブロック28は複数の待
ち行列記憶エレメントを備えている。当該技術分野で公
知のように。
連鎖された待ち行列は、該待ち行列のヘッドにあるタス
クに対するタスク制御ブロックのアドレス値ヲ表わす信
号を記憶することによって与えられる。タスク制御ブロ
ックは、待ち行列における次のタスクに対するタスク制
御ブロックのアドレス値を表わす信号を記憶する。待ち
行列の最後のタスク制御ブロックのアドレス値を表わす
信号は。
待ち行列のテイルとして待ち行列記憶エレメントに記憶
される。
従って、工/O待機の待ち行列36は、連鎖されたI/
O待ち行列に対するヘッドアドレス68及びテイルアド
レス40の記憶エレメントを有する。
レディ待ち行列 さらに、主制御プロンクデータ構造28U、中央処理装
置16によるサービスを受けるべき待ち行列に連なるタ
スクを表わしているN個の連続した各連鎖レディ待ち行
列のヘッドとテイルの識別信号の待ち行列記憶エレメン
トを42に設けている。各レディ待ち行列は位置0乃至
Nに関連するサービスに関する待ち行列の順位を有する
。位置0の待ち行列は、最高順位を有すると考えられる
連鎖したレディ待ち行列内のタスクの位ばと、待ち行列
の順位とから次のタスクが認識される。すなわち、その
タスクは、中央処理装置16が次に使用可能なとぎにそ
の制@を与えられる。
タスク指名11@位 各タスク側倒ブロックデータ構哉30は、タスク指名順
位に対応するタスク指名順位を記憶する順位記厖エレメ
ントヲ備えている。タスクが「作成すれた」即ちシステ
ム/Oにおいて存在していると始めて認識されたとき、
ディフォルト順位値を表わす信号が2本発明には関係し
ない方法で。
しかし、ユーザ設定順位又はフォアグラウンド及びバッ
クグラウンド・タスク間の区別に応じて。
64に与えられる。
中央処理装置16に関しタスクをスケジューリング(レ
ディ待ち行列に割当て)シ、デイスノくノチング(中央
処理装置16の制m2与えることを)することは、オペ
レーティングシステム26の制御下で行なわれる。オペ
レーティングシステム26は、ディスパフチャ44.ス
ケジユーラ46゜割込みハンドラ48及びI/Oルーチ
ン49のみならず2本発明には関係なく、ここでは説明
しない部分も有する。
タイマ50はオペレーティングシステム26の一部とし
て、あるいはシステム/Oの一部として設けられる。タ
イマ50は、(以下に説明するように)時間間隔制限値
信号によって定められる時間間隔の終わりを待ち、その
ような間隔の終わりに応答してタイマ割込信号を供給す
る。
デイスノぐノチャ44 ディスパッチャ44の制御下で動作するとき。
中央処理装置16は(説明されるべき方法で供給される
)タスク指名信号に応答して、レディ待ち行列42から
、識別された次のタスクに関連するタスク制御ブロック
60の記憶位置ヲ表わすアドレス値信号を検索する。こ
れは、待ち行列にタスクがあるか否か見出すために今度
は待ち行列0から始めてレディ待ち行列の各々ヲ調べる
ことによって行なわれる。もし、待ち行列0のヘッドに
タスクがあれば、それがタスク指名される。しかし、な
ければ待ち行列1が同様にして当該技術において公知の
方法で調べられる。従って7待ち行列1のタスクが指名
される前に待ち行列0は空になっていなければならない
。ディスパッチャ44に従って装置16が動作する度ご
とに、(すなわち。
中央処理装置が使用さね、る変ごとに)待ち行列は再び
0から始めて調べられる。
!、た、ディスパッチャ44の制−下で動作すれば、中
央処理装置16は、レディ待ち行列42から検索される
アドレス値信号に応答し、識別された次のタスクに対1
,6シて、関連するタスク朋]御ブロック60を位置決
めし、中央処理装置の状態レジスタ装jt24に状態信
号装置く。これにより。
中央処理装置の制aiI]は次のタスクに与えられる。
記憶装置12ばさらに時間間隔制限値信号52を提供す
る。次のタスクが指名されるとき、タイマ装置50はタ
イムスライスと呼ばれる時間間隔の終わりを待つ。その
間隔は、制限値信号によって定められる。
中央処理装置16の制御がタスクに与えられたトキ、装
置16は適切なプログラムの命令の実行に進む。タスク
は2つの交互の相からなるザイクルを通過することが認
められる。すなわち、第1の相は、(複数の命令が実行
される〕排他的なCPUの実行の相でりり、第2の相は
、ψ1jえばディスク18から信号を読出し、あるいは
ディスクに信号を書き込み、あるいはまたプリンタ20
に結果やメツセージをプリントアウトすることのような
I/Oサービスをタスクが待つ相である。各時間間隔ご
とに1次のタスクの制御下で動作する中央処理装置16
が、l/O(すなわち非CPU)サービスを必要とする
かしないかは、以下で説明スルようにオペレーティング
システムの応答する重要な事実である。
I/Oサービス呼出し I/Oサービスがタスクによって必要されるとき、中央
処理装置16はタスクの実行を中止し。
サービスの呼出しを表示する信号を供給し、その結果I
/Oルーチン490制倒下で中央処理装置16は次の動
作を行なうことになる。そのタスクは中央処理装置16
の制御を「自発的]に渡すかのように説明される。I/
Oルーチン49の制御下で、中央処理装置16は呼出し
信号に応答しI/O待ち行列66のテイル40に現在実
行中のタスクに関連するアドレス値信号を置く。
人出力の完了 物理的I/O機能が特定の同時タスクに対して完了した
ときに、1/O割込み信号が生成される。
そのI/O割込み信号に応答して1割込みノ・ンドラ4
8の制御下において中央処理装置16(は、スケジュー
ラ46への制御の転送をひき起す第1の割込ハンドラー
装置信号を供給する。スケジューラ46の制御下で、中
央処理装置16はタスク指名順位信号(、IJ上セツト
て、より高い順位(一般に、 11@位は1だけ増分さ
れる)を表わす新しい値にし、その新しいタスク指名順
位に対応するレディ待ち行列のテイルに、そのタスクに
対するタスク側倒ブロックと関連するアドレス値のアド
レス値信号を置く。もし、最高順位の待ち行列に前のタ
スク指名順位値がタスクを置くなら、順位値はその前の
(古い)値にリセットされる。池の実施態様では、タス
ク指名+1@位は、■/O児了1りはむしろI/O呼出
しに応答しでリセットされる。
これは本発明に対する問題ではない。CPU装置16は
、さらにタスク指名信号を供給し、上記したようにディ
スパッチャ44に従って動作することとなる。
ムスラ スーランアウト タイマ50は、制限値信号52によって定められる時間
間隔の完了に応答してタイマ割込1百号に供給する。も
し+ Ilo (あるいは非CPU)サービスの要求が
時間間隔完了の前になけね、は、実行中のタス、りは「
そのタイムスライスをラノアウト」シたと言われる。そ
れfl−Iloその池のサービスの要求時点捷での間、
中央処理装置のサービスを必要とする。タイムスライス
の完了時に。
タイマ50LI−1,タイマ割込信号を供給する。その
とき中央処理装置16は割込みノ・ンドラ48の制御下
で動作し、そのタイマ割込信号に応答して現在実行中の
タスクの実行を停止する。装置16は現在の状態信号を
レジスタ装置24から検索し、中断したタスクに関連す
るタスク制御ブロックデータ構造60の状態レジスタ装
置にその信号を置き。
第2の割込ハンドラ装置信号を供給する。
そのような信号に応答して、中央処理装置t16はスケ
ジューラ46に従ってさらに動作し、中断したタスクの
タスク側倒ブロックの34でタスク指名信号をリセット
してより低い順位(一般に。
順位は1だけ減分される)を表わす値にリセットされる
。中央処理装置16がさらに、新しいタスクの指名順位
に対応したレディ待ち行列42のテイル46に、中断し
たタスクに関連したアドレス信号を置く。前のように、
もし古い順位値が低い順位の待ち行列にタスクを置けば
、11@位値はその先の(古い)値にリセットされる。
スケジー−ラ46の制御下で装置16はタスク指名信号
を供給し、上記したようにディスパッチャ44に従って
動作することとなる。
I/Oバウンド及びCPUバウンドなタスク様々な種類
の複数の同時タスクがデータ処理システムに存在すると
き、各タスクは、中央処理装置の実行サイクル時間と比
較して長いどのような期間でも、■/Oあるいは非CP
Uサービスを得るために自発的に制御を渡すまで中央処
理装置を使用する特性実行時間にPTJバースト時間)
を有する。異なるタスクは、異なる特性CPUバースト
時間を有する。従って、CPUバースト時間は数ミリ秒
から数/O0ミリ秒捷で分布している。
一般的に、同時タスクは任意の時点で「■/Oバウンド
」及び1−CPUバウンド」と呼ばれる2つのカテゴリ
ーにはいり、特性CPUバースト時間の異なる値に一般
的に対応する。
本発明が実施されるデータ処理システムに関して、もし
特性CPUバースト時間が約15ミリ秒であればタスク
はJI/Oバウンド」として説明される。もし特性CP
Uバースト時間が約60ミリ秒であればタスクはrCP
U”ランド」として説明される。一般に、これらの値は
特定のデータ処理システムに依存する。
一般に、システムのI/O装置のH功作する速度によっ
て与えられる制限とは別に、■/Oバウンドなタスクは
それらがI/O装置の可用性によって、即ち、それらが
I/O待ち行列で待機に費やす時間によってそれらの実
行速度に制限が与えられると考えられる。
これに反して、CPUの動作速度は別として。
CI) Uバウンドなタスクは中央処理装置の可用性に
より、即ち、レディ待ち行列で待つために費やす時間に
よってそわ2らが実行される速度に制限が与えられると
考えられている。特定の応用プログラムは実行中具なる
時点でこれらのカテゴリーの第1のものに、そして次に
その他のものになり得る。一般に、(そしてシステム構
成髪素の効率的な使用のために好捷しくに)任意の時点
で、タスクの混合が存在し、あるものMx/Oバウンド
であり、あるものはCPUバウンドである。これらのカ
テゴリーの厳密な定義は必要でない。
二二」」■む1免 多くのデータ処理システムにおいて、タスクは。
ユーザ設定の順位に対応する1/ディ待ち行列のある範
囲に割当てられ、システム/Oによって与えられるレデ
ィ待ち行列の総数Nより数が少ない。
タスク指名順位は上記のようにタスクの挙動に、囲チ、
タイムスライスをランア1リドするか否かに応じて僅返
しリセットされる。しかしその割当てられた範囲外では
待ち行列にタスクを置くためにリセットすることはでき
ない。従来技術によね、ば。
特定のユーザ設定順位に関する範囲はばらばらであった
。例えば、レディ待ち行列4−8の範囲は。
ある特定の順位のアプリケーションタスクに割当てられ
、待ち行列9−13の範囲はアプリケーション・タスク
の第2のセットに割当てられる。その第2の順位のタス
クは待ち行夕114−8のどれにも北がることはできな
いし、第1の順位のタスクも待ち行列9−16のどhV
cも下がれない。上記のように、タスクが待ち行列4−
8のいずれかに7hは待ち行列9−16にあるタスクは
ディスパッチ(指名)されよう。そのことは、もし待ち
行列4−8の1つにおけるタスクが強いCPUバウンド
なら、これらの待ち行列の1つに繰返し再割当てされる
しCPU0制@を繰返し与えられる。
ツレは、待ち行列9−16の1つにおけるI/Oバウン
ドなタスクを1−ロックアウト」する、即ち中央処理g
lfO制仰を得られず、パフォーマンスを著しく損なう
ことになる。
さらに従来技術によれば、もし2つ以上のタイムスライ
ス値が採用さf″Lれば、特定のレディ待ち行ダ11に
それらの値は永久的に関連する。
上記のスケジューリング及びディスパッチング法によれ
ば、高いユーザ設定順位を有する高いCPUバウンドタ
スクが、より低いユーザ設定順位を有するタスク金ロッ
クアウトすることは可能である。たとえ後者のタスクが
高いI/Oバウンドであり、中央処理装置の制@を自発
的に渡す前に1つのタイムスライスの部分だけを必要と
する場合でもある。
特に、(会話形タスクのような)フォアグラウンドタス
クは強いCPUバウンドであり、(バッチジョブのよう
な)I/Oバウンドなバンクグラウンドタスクのスルー
プットを厳しく制限する。
これはある状況において許容可能であっても、他の状況
下では許容されない。本発明は、この望ましくない動作
モードを妨げる手段を提供する。
]二m 本発明に従えば、記憶装置12は少なくとも1つの待ち
行列範囲信号を供給する。範囲記憶エレメント54をさ
らに設けている。待ち行列範囲信号は、待ち行列の等し
い数を表わす。あるいはまた、それらは真中の待ち行列
の七又は下の待ち行列の等しい数を表わす。そのような
場合、待ち行列の総数は奇数である。さらにまた、ある
分割線の北又は下に等しくない数の待ち行列もあり得る
谷タスク制御ブロック60は、待ち行列範囲分割信号を
供給する待ち行列範囲分割記憶エレメントを肩する。そ
の分割信号はタスク側倒ブロックに関連するタスクに関
しく非常に高閲、高以、中央及び低度のものから共通し
て選択された)ユーザ設定順位より得られる。分割信号
ハ、シかし。
タスクがフォアグラウンドかバックグラウンドかのよう
な他の要因にも依存し得る。そのような場合1分割信号
によって表示される。タスクの8つのカテゴリーが存在
する。その他の数のカテゴリーも1吏用される。
範囲分割信号及び範囲信号は併せてM個の待ち行列のサ
ブセントを谷間時タスクに対し定義する。
ここでMQN(レディ待ち行列の総数)より小さく、そ
のサブセットは1側及び下側の範囲に分けられ、タスク
に対し上限及び下限の順位の待ち行列を宮んでいる。本
発明に従えば、同時タスクの待ち行列のサブセントは重
複している。即ち、同時タスクの待ち行列サブセノトハ
、他の同時タスクの待ち行列サブセットと共通の少なく
とも1つの待ち行列を有する。好適な実施クリでは1重
複は以下に説明するように、より大きい。
各タスクに対し、スケジューラ46の制御下で動作し、
さらにタスク指名順位信号64に応答する。中央処理装
置は、待ち行列範囲分割信号56と待ち行列範囲信号5
4とに応答して、関連するタスク制御ブロックアドレス
信号を、そのタスクに対して定義された待ち行列サブセ
ット内の特定のレディ待ち行列42に置く。(タスクが
そのタイムスライスの最新のランアウトケシたが否かに
対応する)タスク指名順位における変化がタスクにサブ
セット内の連続する待ち行列を割当てきせてもタスクは
それに対して定義されたサブセットの外の待ち行列に割
当てられ得ない。サブセットの境界はタスク指名値を無
効にし、そのタスクは前の待ち行列に再び割当てられる
さらに本発明に従えば、少なくとも2つの離散したタイ
ムスライス値を表わす、少なくとも2つのタイムスライ
ス信号全供給する複数のタイムスライス値記憶エレメン
トを、データ記憶装置12はまた備えている。タイムス
ライスは連続的に増加する。従って1例えば、8.15
,20.3[]及び40のタイムスライス値のシーケン
スが与えられる。各タスクに対し、ディスパッチャ46
に従って動作する中央処理装置16は待ち行列範囲分割
信号56に応答し、タスク制両ブロックアトレス信号が
適当な待ち行列セントの最高順位を有するレディ待ち行
列から検索されるとき最小のタイムスライス値に応答す
る時間間隔制限値信号52を供給し、サブセントの最低
順位を有するレディ待ち行列からタスク側副ブロックア
ドレス信号が検索されるとき最大のタイムスライス値信
号に応答する時間間隔制限値信号52′f:供給する、
中間タイムスライス値は、タスクがより高いI/Oバウ
ンドな態様で挙動するとき比較的短いタイムスライスで
タスク指名され、より高いCPUバウンドな態様で挙動
するときには、比較的に長いタイムスライスでタスク指
名されるように適当な方法で中間順位待ち行列に関連す
る。従って、特定の待ち行列に永久的に且つ絶対的に関
連させられるかわりに、タイムスライス値は特定のタス
クの待ち行列サブセット内の待ち行列の相対的位置と関
連させられる。
本発明の好適な実施例においては、データ記憶装置12
はそれぞれ短いタイムスライス及び長いタイムスライス
の値を表わす、第1及び第2のりイムスライス信号を供
給する第1及び第2のタイムスライス値記憶エレメント
58を設けている。
各タスクに対し、ディスパッチャ46に従って動作する
中央処理装置16は、待ち行列範囲信号5乙に応答し、
適当な待ち行列サブセットの上側の範囲にレディ待ち行
列42からタスク制御ブロックアドレスが検索されたと
き第1のタイムスライス値信号に応答する時間間隔制限
値信号を供給し、タスク制御ブロックアドレス信号がよ
り低い範囲のレディ待ち行列から検索されるとき第2の
タイムスライス値信号に応答する時間間隔制限値信号5
2を供給する。
このため、同じ順位従って同じ待ち行列ザブセントラ有
するタスクのカテゴリー内で、I/Oバウンドなタスク
は、より上側の範囲にドリフト(drift)  (、
、(何故ならタスク指名順位は、タイムスライスの終わ
り捷で非CPUサービスをタスクが呼び出すときに繰返
して増分されるから)。
また、CPUバウンドタスクがより下側の範囲にドリフ
トする前にタスク指名される(何故なら。
タスク指名順位はタスクがそのタイムスライスをランア
ウトするとき繰返して減分する。)。
全ての同時タスクに対し56に表示されたタスク範囲分
割値と54に表わされた範囲値は、第2の(長い)タイ
ムスライス値でタスク指名された他のタスクに割り当て
られる最高順位の待ら行列の順位と少なくとも等しい順
位を有する待ち行列に、第1の(より小さい)タイムス
ライス値で指名されたタスクが割当てられるように関係
づけられる。従って、低い順位でも、その丁/Oバウン
ドなタスクは、より高い順位のCPUバウンドのタスク
と待ち行列に置かれ、後者によってロックアウトされ得
ない。そのCPUバウンドなタスクはそのかわりCPU
バウンドなタスクが再び指名されるまで、タスク指名さ
れるのであろう。
もし、タスクの特定の混合にとって望まれるなら、最高
順位のCPUバウンドなタスクに割り当てられ得る順位
より高い6つの待ち行列の1つに最低順位のI/Oバウ
ンドタスクが置かれるように、実際にも、待ち行列の重
複がより大きくなる。
待ち行列サブセントの重複の大きさの変更は、ユーザの
設定順位と、タスクの挙動に基づいた順位と、に多少の
重量を与える効果を有する。
ここに第2図を参照すると、好適な実施例の特定のもの
が、例として示さねばならない。20のレディ待ち行列
42は、アプリケーションタスクに関して利用可WEで
あり、順位4乃至26を有すると仮定する(待ち行列1
乃至3はシステムタスクだけのものであり、アプリケー
ションタスクはそれらには割当てられない)。この例に
おいて。
FG(フォアグラウンド)、BG(バックグラウンド)
、VH(非常に高度)、H(高度)1M(中部)及びL
(低度)という属性に基づいてタスクの8つのカテゴリ
ーが存在する。範囲信号は。
54で供給され7つの待ち行列から成る(分割待ち行列
を含む)上側の範囲を定め、6つの待ち行列から成る(
分割待ち行列の)下側範囲を定め。
16の待ち行列から成るサブセットを作る。
各F”G/V’l(タスクに対し、待ち行列/Oに等し
い分割待ち行列′f:表わす信号が56で与えられる。
それゆえ、F”G/VHタスクに関する待ち行夕1」の
サブセットは、待ち行列4に等しい最高順位の待ち行列
を有し、待ち行列16に等しい最低順位の待ち行列を有
する。FC/VHタスクは、待ち行列4乃至/Oのいず
れか(最新の挙動が一般的にI/Oバウンドなため)か
ら指名され、8ミリ秒のタイムスライス値でタスク指名
される。待ち行列11乃至16のいずれか(最新の挙動
が多かれ少なかれCPUバウンドなため)から指名され
るとき、45ミリ秒のタイムスライス値で成される。
一方、BG/Lタスクは、待ち行列11より上の待ち行
列には割当てられず、最低順位の待ち行列は待ち行列2
6である。しかし、BG/Lタスクが待ち行列11から
タスク指名されるとき、8ミリ秒のタイムスライス値で
成され(これUI/Oバウンドなタスクにとって好適な
値であるが)。
これに対し、F、、G/VHタスクは同じ待行列から指
名され、45ミリ秒にPUバウンドなタスクに好適な値
である)のタイムスライス値でタスク(出) 指名される。特定の実施例の記述において、不十分なレ
ディ待ち行列は最高のタスク指名順位のBG/Lタスク
をFG/VT(のCPUバウンドタスクより玉の待ち行
列に割当てることl’T能にし。
従って2つのタスクは1つの待ち行列で競合し。
BG/LタスクはしばしばFG/VT(タスクが45ミ
リ秒のタイムスライスの経過の間待たなければならない
。しかし、もし特定のシステムがより大きな重複を与え
ることにより可能にするなら。
そのような競合を避けることが望捷しい。
2つのタイムスライス値を与えることの効果は。
その時間の殆んどの間システムに存在するタスクが待ち
行列のサブセット内の4つのばらばらの領域:すなわち
トップの領域(そのタスクUI/Oバウンド);そのす
ぐ上の領域で分割待ち行列を含む領域(そのタスクは適
度にI/Oバウンド);分割待ち行列のすぐ下の領域(
そのタスクは適度にCPUバウンド);あるいはボトム
領域(そのタスク1cPUバウンド)のうちの1つにス
ケジューリングされる。
これらの領域の各々は、タスクの各カテゴリに対し、他
のカテゴリと同じ範囲を含むものとは別の少なくとも1
つのレディ待ち行列を含むため。
最高順位の、特定のプログラムを実行するタスクは低い
順位で同じプログラムを実行するタスクと比較して好適
な取扱を受けるであろう。
さらに、偶数の最低順位グループ(BG/L)のI/O
バウンドな待ち行列(土間の範囲)は。
最高順位グループ(FG/H)のCPUバウンドな待ち
行列(下田1の範囲)と同じ、または望捷しくほより高
い順位のため、CPUバウンドなタスクは中央処理装置
からサービスをI/Oノ<ランドなタスクが得ることを
妨げないであろう。これはシステムのリソース及びパフ
ォーマンスを最大にする。
2つの等しくないタイムスライス値は、データ処理シス
テムの動作においてかなり大きな利益を。
I/OバウンドなタスクがCPUバウンドなタスクから
区別されるとき、もたらす。しかし、その利益は、タイ
ムスライス値の選択を最適化することにより増大させ得
る。
好適な実施例において、小さいタイムスライス値fiI
/OバウンドなタスクのCP ’Uバースト時間の平均
の1乃至1/2 の間で選ば′FLゐ。結局、平均にお
いて、■/Oバウンドなタスクは■/Oサービスの呼び
出しを出すことなく第1のタイムスライスをランアウト
する。その結果、タスク指名順位は減分され、より低い
順位の待ち行列に割当てられる。しかし、平均において
、タスクは。
第2のタイムスライスの間にI/Oサービスヲ呼び出し
、その結果タスク指名順位は増分さJll、第1のタイ
ムスライス以前のタスク指名順位の値に復元される。従
って、平均において、■/Oバウンドなタスクは初めに
与えられた待ち行列に、挙動が犬きく変わらないかぎり
、とどまっている。
しばしば、I/O呼び出しを発する前に6つのタイムス
ライスを必要とし、従ってタスク指名順位は2つ下げら
れるが、このようなことにまれであり、タスクが連続的
タイムスライスでI/O呼び出しを発するとき機会を選
んで平均化し、タスク(59,) 指名順位を再び増加させる。
類似した挙@は、第2のタイムスライス値がCP ’U
バウンドのタスクの平均的CPUバースト時間の1乃至
1/2 の間で選ばれるなら、CPUバウンドなタスク
に対し予期され得る。実際のところ、タイムスライスと
比較して長い時間に3つの待ち行列の範囲にわたって1
−揺動」や「浮動」ヲ、多くのプログラムがタスクに起
させる。かくして、上で議論した4つの領域の各々は、
長さにおいて好適には6つの待ち行列である。タスクの
挙動が変化すれば、タスクはその他の領域の1つにほぼ
一致して移っていく。これらの領域の中間の待ち行列に
おいて、もしそのような領域が与えられるなら、タスク
は比較的に費やす時間が短い。
従って、好適な実施例において、4つの6待ち行列の領
域、即ち全部で12の待ち行列は待ち行列のサブセット
を構成する。第2図の実施例では16の待ち行列が与え
られているが、これは奇数の待ち行列を必要とするよう
に設計された特定のシステムの詳細な実施例のためであ
る。実際、りスフは待ち行列4にはまれに割当てられる
だけである。
58に示されるタイムスライス値と、56に示される分
割値は、システム/Oのパフォーマンスを変えるため容
易に変更されるパラメータである。
従って、オペレーティングシステム26のスケジューラ
とディスパッチャは「チューニング可能」といわれる。
待ち行列の重俵の大きさを分割値の変更によって変える
効果は以下に議論される。
第2図を再び参照すると、線AH−8ミlJ秒のタイム
スライスで領域を分けるように引かハ、。
45ミリ秒のタイムスライスで関連する領域と関係付け
られる。線Aは、鋭角に左から水平へF方に傾斜する。
第6図を参照すると、線Aが再び示されている。
概念的に汀、線Aの土及び右への領域はユーザ設定順位
のカテゴリにおいて■5/Oバウンドなタスクであり、
線Aの下及び左には、全ユーザ設定順位のうちのCPT
Jバウンドなタスクである。この場合は、最高順位及び
最低順位間の6つの峙ち行列の最小重複(隣接する待ち
行列サブセント間の11待ち行列の重複)に相当し、1
3G/Lカテゴリーの殆んどのI/Oバウンドなタスク
U’lli’G/VHカテゴリの最小のCPUバウンド
なタスクと、待ち行り]」11において連なることに注
意されたい。
先に議論し′#c従来技術のように、この用台を考察す
ると、従来では、タスクの谷ユーザ設定順位カテゴリに
関し待ち行列サブセット間に重複は許されなかった。こ
の場合2例えば、待ち行列4乃至8の全てのタスクは、
待ち行列9乃至16で全タスクが指名される。待ち行列
サブセント9−13のうちの1つのI/Oバウンドなタ
スクは、タスク指名111位が繰返し増分されて、待ち
行列9捷で上がる。4−8待ち行列ザブセラ]・の1つ
のCPUバウンドなタスクは、タスク指名順位が繰返し
減分されて待ち行列7まで下がる。しかしながら。
待ち行列9のI/Oバウンドなタスクは、相対的に短い
タイムスライスでタスク指名されるといっても、CPU
バウンドな、待ち行列8のタスクによってロックアウト
され、そのCPUバウンドなタスクも、比較的に長いタ
イムスライスで指名されるとはいえロックアウトされる
。この、非重複な待ち行列の割当ては、第3図において
垂線Bで表わされる。高い順位のタスクがこのスキーム
で良いザルビスを受けている間、大きなシステムの使用
の時間には、低い順位タスクはロックアウトされる。
それに対して、ユーザ設定順位に関係なく、全てのタス
クはレディ待ち行列へ移ることを許される(即ち、ユー
ザ設定順位に関連する待ち行列サブセットu無い)なら
ば、全てのI/Oバウンドなタスクは」二側の待ち行列
に」二かり(そして比較的短いタイム・スライスで指名
され)、−万全てのCPUバウンドなタスクはより低い
待ち行列に  ”下がり、比較的長いタイムスライスで
指名される。
つ1す、全てのI/Oバウンドなタスクは全てのCPU
バウンドなタスクより先に実行される。そのような状況
は第6図の水平線Cによって表わされる。待ち行列のこ
の割当ては、従来より知られているものである。この配
列の欠点は、フォアグ(品) ラウンド又は他の高いユーザ設定順位はバ・ツクグラウ
ンドより良いザルビスを受けることはないことであり、
システム使用が頻繁であればフォアグラウンド(会話形
)タスクの応答時間は、システムがI/Oバウンドなバ
ックグラウンドタスクを実行している間1.著しく低下
する。
従来技術のこれらの線B及びCで示された両極端と比べ
1本発明に従って動作するデータ処理システムは順位の
カテゴリー間で良好な□バランスがとれ、システムのス
ルーブツトも向上する。そのようなスルーブツトは、定
量的に1例えば、1時間当りのトランザクションの数、
あるいは標準的ジョブの完了の数、さらにその他の適切
なベンチマーク等、従来よりよく知られた方法で考察で
きる。
最小の、待ち行列サブセント間の重複が噌犬すれば、C
PUバウンドな@依からI/Oバウンドな領域を区画す
る線は、Dに見られるように水平線C(完全重複を示す
)に対して傾斜している。
最小待ち行列重複が減少すれば、垂線Bに対し。
(b4.) 2つの領域を画する線は傾斜する(Bは待ち行列間に重
複のないことを示す)。システムのこのようなチューニ
ングは1種々のオペレーションの要因、に応じて遂行さ
れ、−!た特定のインストレージョンにおいて望まれる
程度の順位化を提供できる。
本システムのレディ待ち行列の1部についてのみ本発明
を実施可能であり、他の部分については゛従来の方法で
タスクに割当てることも可能である。
さらに、@囲分割値に順位カテゴリ間で一隘に変化する
必要はない。もし特定の実施において望むなら、2つの
最低順位カテゴリハ、それらの待ち行列サブセットが残
りのカテゴリの重複が、残りのカテゴリ間の重複よりも
非常に小さくなるように分割信号を供給され得る。その
ような場合、2つの領域(Ilo バウンド及びCPU
バウンド)は2第2図及び第6図に示すように直線によ
って分割にされないであろう。
【図面の簡単な説明】
第1図は、記憶装置内の割当てを含む、本発明が実施さ
れるデータ処理システムを示し。 第2図は2本発明の特定の実施例を説明するための図解
であり。 第6図は、第2図に示した特定の実施例を説明するため
の図解である。 なお1図面において。 /Oニジステム。 12:記憶装置。 14:入出力装置。 16:中央処理装置。 18:ディスク。 20:プリンタ。 24:状態レジスタ。 26:オペレーティングシステム。 28:主制御ブロック。 3、!S:I/O待ち行列。 44:ディスパッチャ。 46:スケジューラ。 48:割込ハンドラ。 50:タイマ。 58:タイムスライス。 (68’) 手続補正書 昭和4′年 3月J1日

Claims (1)

  1. 【特許請求の範囲】 1)複数の同時タスクを実行する多重プログラム化デー
    タ処理システムであって、 タイマ手段と、 データ記憶手段と、 入出力手段と、 上記データ記憶手段と上記入出力手段と状態レジスタ手
    段と、を備える上記データ処理システムにおいて、 上記データ記憶手段は、 上記データ処理システムを制御するオペレーティングシ
    ステムを表わす信号を供給する手段と、上記オペレーテ
    ィングシステム手段の制御下で上記中央処理手段の動作
    と関連する主制御ブロックデータ構造を定義する信号の
    記憶エレメントと、複数のタスク制御ブロックデータ構
    造を定義する信号の記憶エレメントと、を有し、 上記の各タスク制御ブロックデータ構造は上記データ処
    理システムにおける複数の同時タスクの1つと関連し、
    各タスク制御ブロックデータ構造は上記データ記憶手段
    内の記憶位置を表わす関連アドレス値を有し、各タスク
    制御ブロックデータ構造は上記関連タスクの現在の実行
    状態を表わす状態信号の記憶エレメントと、タスク指名
    順位値に対応するタスク指名順位信号を記憶する順位記
    憶エレメントと、を設け、 上記主制御ブロックデータ構造は、特定の上記アドレス
    値を表わす信号の待ち行列記憶エレメントを複数設け、
    上記記憶エレメントは上記入出力手段によるサービスに
    対し待ち行列に並べられたタスクを表わす少なくとも1
    つの連鎖した待機待ち行列のヘッドとテイルとを識別し
    、さらに上記中央処理手段によるサービスに対し待ち行
    列に並べられたタスクを表わすN個の連続した連鎖しデ
    ィ待ち行列の各々のヘッドとテイルとを識別し、上記レ
    ディ待ち行列の各々は0からNまでの記憶位置に関連す
    るサービスの待ち行列順位を有し、上記レディ待ち行列
    内の上記タスクの位置と上記待ち行列順位とは次のタス
    クを識別し、 上記オペレーティングシステム手段は、ディスパッチャ
    手段と、スケジューラ手段と、入出力ルーチン手段と、
    割込みハンドリング手段と、を有し、 上記ディスパッチャ手段は、 タスク指名信号に応答して、上記の識別された次のタス
    クに関連する上記タスク制御ブロックの位置を表わすア
    ドレス値信号を、上記レディ待ち行列から検索する手段
    と、 上記の検索されたアドレス値信号に応答して上記の状態
    信号を上記の関連した上記タスク制御ブロックから検索
    し、上記の検索された状態信号を上記の中央処理手段の
    状態レジスタ手段に置き、これにより上記次のタスクに
    上記中央処理手段の制御を与える手段と、を備え、上記
    入出力ルーチン手段は、該入出力手段によるサービスに
    対する実行中のタスクからの呼び出しを表わす上記中央
    処理手段よりの信号に応答して上記I/O待ち行列のテ
    イルに上記の関連するアドレス値信号を置き、及び上記
    スケジューラ手段は古いタスク指名順位値を表わす上記
    の呼び出しタスクの指名順位信号に応答して上記タスク
    指名順位信号をリセットし新しいより高いタスク指名値
    を表わすようにし、さらに上記タスク指名信号を供給し
    、 上記割込みハンドリング手段は、上記同時タスクの1つ
    に対する入出力機能の完了を表わすI/O割込信号に応
    答し、第1の割込みハンドリング手段信号を供給し、上
    記のスケジューラ手段は、上記第1の割込みハンドリン
    グ手段信号と、上記1つのタスクに関連する上記タスク
    制御ブロックの上記タスク指名信号と、に応答し、上記
    のレディ待ち行列に対応するテイルに関連する上記アド
    レス値信号を、対応する上記レディ待ち行列のテイルに
    置き、 上記データ記憶手段はさらに時間間隔制限値信号を供給
    し、 上記タイマ手段は上記ディスパッチャ手段に応答して、
    上記時間間隔制限値信号によって定義される時間間隔の
    完了を待ち、上記の検索された状態信号が上記状態レジ
    スタ手段に置かれたとき作動を始め、上記のタイマ手段
    は上記時間間隔の完了に応答してタイマ割込み信号を供
    給し、 上記割込みハンドリング手段は上記タイマ割込み信号に
    応答して、上記同時実行タスクの実行を中断し、上記中
    央処理手段からの現在の上記状態信号を検索し、上記の
    中断したタスクに関連する上記タスク制御ブロックの上
    記制御ブロック記憶エレメントに上記状態信号を置き、
    上記スケジューラ手段に第2の割込みハンドリング手段
    信号を供給し、 上記スケジューラ手段は上記第2の割込みハンドリング
    手段信号と、古いタスク指名順位値を表わす上記中断し
    たタスク指名順位信号と、に応答して、上記タスク指名
    順位信号をリセットし、上記の中断した上記タスク制御
    ブロックに関連するアドレス信号を、上記の新しいタス
    ク指名順位値に対応する上記のレディ待ち行列のテイル
    に置き、上記システムの改良されたシステムであって、
    上記データ記憶手段はさらに待ち行列の範囲信号を供給
    する少なくとも1つの範囲記憶エレメントを設け、上記
    待ち行列範囲信号はN未満のM個のレディ待ち行列の総
    数を表わしてなり、 上記タスク制御ブロックの各々は、待ち行列の範囲分割
    信号を供給する待ち行列範囲分割エレメントを備え、上
    記分割信号は上記関連するタスクに関しユーザの設定し
    た順位が得られ、 上記範囲分割信号と上記範囲信号とは上記タスクの各々
    に関し、上限及び下限に分割されるレディ待ち行列のサ
    ブセットと定義し、タスクの最高及び最終を含み、池の
    同時タスクの待ち行列と共通する少なくとも1つの待ち
    行列を同時タスクの待ち行列のサブセットは有し、 各タスクに関し、上記スケジューラ手段はさらに上記待
    ち行列範囲分割信号と上記待ち行列範囲信号とに応答し
    て、上記の関連するタスク制御ブロックアドレス信号を
    、上記タスクに対して定義された上記待ち行列サブセッ
    ト内の特定のレディ待ち行列に置くことを特徴とする、
    上記改良されたシステム。 2)複数の同時タスクを実行する多重プログラム化デー
    タ処理システムであって、 タイマ手段と、 データ記憶手段と、 入出力手段と、 上記データ記憶手段と上記入出力手段と状態レジスタ手
    段と、を備える上記データ処理システムにおいて、 上記データ記憶手段は、 上記データ処理システムを制御するオペレーティングシ
    ステムを表わす信号を供給する手段と、上記オペレーテ
    ィングシステム手段の制御下で上記中央処理手段の動作
    と関連する主制御ブロックデータ構造を定義する信号の
    記憶エレメントと、複数のタスク制御ブロックデータ構
    造を定義する信号の記憶エレメントと、を有し、 上記の各タスク制御ブロックデータ構造は上記データ処
    理システムにおける複数の同時タスクの1つと関連し、
    各タスク制御ブロックデータ構造は上記データ記憶手段
    内の記憶位置を表わす関連アドレス値を有し、各タスク
    制御ブロックデータ構造は上記関連タスクの現在の実行
    状態を表わす状態信号の記憶エレメントと、タスク指名
    順位値に対応するタスク指名順位信号を記憶する順位記
    憶エレメントと、を設け、 上記主制御ブロックデータ構造は、特定の上記アドレス
    値を表わす信号の待ち行列記憶エレメントを複数設け、
    上記記憶エレメントは上記入出力手段によるサービスに
    対し待ち行列に並べられたタスクを表わす少なくとも1
    つの連鎖した待機待ち行列のヘッドとテイルとを識別し
    、さらに上記中央処理手段によるサービスに対し待ち行
    列に並べられたタスクを表わすN個の連続した連鎖レデ
    ィ待ち行列の各々のヘッドとテイルとを識別し、上記レ
    ディ待ち行列の各々は0からNまでの記憶位置に関連す
    るサービスの待ち行列順位を有し、上記レディ待ち行列
    内の上記タスクの位置と上記待ち行列順位とは次のタス
    クを識別し、 上記オペレーティングシステム手段は、ディスパッチャ
    手段と、スケジューラ手段と、入出力ルーチン手段と、
    割込みハンドリング手段と、を有し、 上記ディスパッチャ手段は、 タスク指名信号に応答して、上記の識別された次のタス
    クに関連する上記タスク制御ブロックの位置を表わすア
    ドレス値信号を、上記レディ待ち行列から検索する手段
    と、 上記の検索されたアドレス値信号に応答して上記の状態
    信号を上記の関連した上記タスク制御ブロックから検索
    し、上記の検索された状態信号を上記の中央処理手段の
    状態レジスタ手段に置き、これにより上記次のタスクに
    上記中央処理手段の制御を与える手段と、を備え、上記
    入出力ルーチン手段は、該入出力手段によるサービスに
    対する実行中のタスクからの呼び出しを表わす上記中央
    処理手段よりの信号に応答して上記I/O待ち行列のテ
    イルに上記の関連するアドレス値信号を置き、及び上記
    スケジューラ手段は古いタスク指名順位値を表わす上記
    の呼び出しタスクの指名順位信号に応答して上記タスク
    指名順位信号をリセットし新しいより高いタスク指名値
    を表わすようにし、さらに上記タスク指名信号を供給し
    、 上記割込みハンドリング手段は、上記同時タスクの1つ
    に対する入出力機能の完了を表わすI/O割込信号に応
    答し、第1の割込みハンドリング手段信号を供給し、上
    記のスケジューラ手段は、上記第1の割込みハンドリン
    グ手段信号と、上記1つのタスクに関連する上記タスク
    制御ブロックの上記タスク指名信号と、に応答し、上記
    のレディ待ち行列に対応するテイルに関連する上記アド
    レス値信号を、対応する上記レディ待ち行列のテイルに
    置き、 上記データ記憶手段はさらに時間間隔制限値信号を供給
    し、 上記タイマ手段は上記ディスパッチャ手段に応答して、
    上記時間間隔制限値信号によって定義される時間間隔の
    完了を待ち、上記の検索された状態信号が上記状態レジ
    スタ手段に置かれたとき作動を始め、上記のタイマ手段
    は上記時間間隔の完了に応答してタイマ割込み信号を供
    給し、 上記割込みハンドリング手段は上記タイマ割込み信号に
    応答して、上記同時実行タスクの実行を中断し、上記中
    央処理手段からの現在の上記状態信号を検索し、上記の
    中断したタスクに関連する上記タスク制御ブロックの上
    記制御ブロック記憶エレメントに上記状態信号を置き、
    上記スケジューラ手段に第2の割込みハンドリング手段
    信号を供給し、 上記スケジューラ手段は上記第2の割込みハンドリング
    手段信号と、古いタスク指名順位値を表わす上記中断し
    たタスク指名順位信号と、に応答して、上記タスク指名
    順位信号をリセットし、上記の中断した上記タスク制御
    ブロックに関連するアドレス信号を、上記の新しいタス
    ク指名順位値に対応する上記のレディ待ち行列のテイル
    に置き、上記システムの改良されたシステムであって、
    上記データ記憶手段はさらに待ち行列の範囲信号を供給
    する少なくとも1つの範囲記憶エレメントを設け、上記
    待ち行列範囲信号はN未満のM個のレディ待ち行列の総
    数を表わしてなり、 上記タスク制御ブロックの各々は、待ち行列の範囲分割
    信号を供給する待ち行列範囲分割エレメントを備え、上
    記分割信号は上記関連するタスクに関しユーザの設定し
    た順位が得られ、 上記範囲分割信号と上記範囲信号とは上記タスクの各々
    に関し、上限及び下限に分割されるレディ待ち行列のサ
    ブセットを定義し、タスクの最高及び最終を含み、他の
    同時タスクの待ち行列と共通する少なくとも1つの待ち
    行列を同時タスクの待ち行列のサブセットは有し、 各タスクに関し、上記スケジューラ手段はさらに上記待
    ち行列範囲分割信号と上記待ち行列範囲信号とに応答し
    て、上記の関連するタスク制御ブロックアドレス信号を
    、上記タスクに対して定義された上記待ち行列サブセッ
    ト内の特定のレディ待ち行列に置き、 上記データ記憶手段はさらに第1及び第2のタイムスラ
    イス信号であってそれぞれ短いタイムスライス及び長い
    タイムスライスの値を表わす信号を供給する第1及び第
    2のタイムスライス値記憶エレメントを備え、 各タスクに関し、上記ディスパッチャ手段は上記待ち行
    列範囲分割信号と上記待ち行列信号とに応答し、上記タ
    スク制御ブロックアドレス信号が上記待ち行列サブセッ
    トの上側の範囲でレディ待ち行列から検索されたとき上
    記第1のタイムスライス値信号に応答して時間間隔制限
    値信号を供給し、上記タスク制御ブロックアドレス信号
    が上記待ち行列のサブセットの下側の範囲でレディ待ち
    行列から検索されるとき上記第2のタイムスライス値信
    号に応答して時間間隔制限信号を供給し、上記のタスク
    範囲分割値及び上記範囲値は、上記第1のタイムスライ
    ス値で指名されたタスクが、上記第2のタイムスライス
    直で指名された他のタスクの割当てられた高度の順位待
    ち行列の順位に少なくとも等しい順位を有する待ち行列
    に割当てられ得るように関係付けられ、 上記第1のタイムスライス信号は上記データ処理システ
    ムで同時に実行されているI/Oバウンドなタスクの平
    均的CPUバースト時間乃至その1/2倍の時間の間の
    値を表わし、上記第2のタイムスライス信号は上記デー
    タ処理システムで同時に実行されているCPUバウンド
    なタスクの平均的CPUバースト時間乃至その1/2倍
    の時間の間の値を表わすことを特徴とする、上記の改良
    されたシステム。 3)複数の同時タスクを実行する多重プログラム化コン
    ピュータであって、各タスクは関連するタスク指名順位
    を表わす関連したタスク指名順位値信号を有し、上記コ
    ンピュータは、 中央プロセッサと、 時間間隔を定義するタイミング手段と、 上記中央プロセッサの制御のため待ち行列に並べられた
    タスクを表わす複数Nのレディ待ち行列を表示する待ち
    行列記憶手段であって、各待ち行列は0乃至Nの位置で
    関連する待ち行列順位を有し、上記待ち行列順位は上記
    待ち行列内でタスクを表わす位置とともに次のタスクを
    定義し、タスク指名手段は、上記待ち行列記憶手段に応
    答して、上記の中央プロセッサの上記の定義された次の
    タスク制御を与え、上記タイミング手段を作動し、これ
    により上記の定義された次のタスクが指名され、 オペレーティングシステム手段は上記中央プロセッサと
    上記タイミング手段とに応答し、上記の定義された時間
    間隔が終わる前に上記中央プロセッサの制御の中断を上
    記の指名されたタスクが要求するときを認識し、そのよ
    うなタスクと改良されたタスク指名順位値を関連させ、
    上記タスク指名されたタスクが上記の定義された間隔に
    少なくとも等しい時間上記中央プロセッサを制御すると
    きを認識し、そのタスクを悪化させたタスク指名順位と
    を関連させ、 改良された上記コンピュータであって、 Nより小さいMと上記のレディ待ち行列を定義する値を
    表わす待ち行列範囲制限信号を供給する範囲制限手段を
    設け、 上記範囲制限信号は上記レディ待ち行列の関連するサブ
    セットを各タスクに対し定義し、そのタスクに対し最高
    及び最低の順位のレディ待ち行列を含み、同時タスクの
    レディ待ち行列サブセットは少なくとも1つの待ち行列
    を曲の同時タスクのレディ待ち行列サブセットと共通に
    有し、重複されたレディ待ち行列サブセットと設け、 上記コンピュータはさらに、上記中央プロセッサを待つ
    各タスクに関し、上記の関連するタスク指名順位値信号
    とその上記待ち行列信号制限信号とに応答し、上記タス
    クに対し定義された上記レディ待ち行列サブセット内の
    特定のレディ待ち行列に上記タスクの表示を置くことを
    特徴とする上記改良されたコンピュータ。 4)複数の同時タスクを実行する多重プログラム化デー
    タ処理システムであって、 タイマ手段と、 データ記憶手段と、 入出力手段と、 上記データ記憶手段と上記入出力手段と状態レジスタ手
    段と、を備える上記データ処理システムにおいて、 上記データ記憶手段は、 上記データ処理システムを制御するオペレーティングシ
    ステムを表わす信号を供給する手段と、上記オペレーテ
    ィングシステム手段の制御下で上記中央処理手段の動作
    と関連する主制御ブロックデータ構造を定義する信号の
    記憶エレメントと、複数のタスク制御ブロックデータ構
    造を定義する信号の記憶エレメントと、を有し、 上記の各タスク制御ブロックデータ構造は上記データ処
    理システムにおける複数の同時タスクの1つと関連し、
    各タスク制御ブロックデータ構造は上記データ記憶手段
    内の記憶位置を表わす関連アドレス値を有し、各タスク
    制御ブロックデータ構造は上記関連タスクの現在の実行
    状態を表わす状態信号の記憶エレメントと、タスク指名
    順位値に対応するタスク指名順位信号を記憶する順位記
    憶エレメントと、を設け、 上記主制御ブロックデータ構造は、特定の上記アドレス
    値を表わす信号の待ち行列記憶エレメントを複数設け、
    上記記憶エレメントは上記入出力手段によるサービスに
    対し待ち行列に並べられたタスクを表わす少なくとも1
    つの連鎖した待機待ち行列のヘッドとテイルとを識別し
    、さらに上記中央処理手段によるサービスに対し待ち行
    列に並べられたタスクを表わすN個の連続した連鎖レデ
    ィ待ち行列の各々のヘッドとテイルとを識別し、上記レ
    ディ待ち行列の各々は0からNまでの記憶位置に関連す
    るサービスの待ち行列順位を有し、上記レディ待ち行列
    内の上記タスクの位置と上記待ち行列順位とは次のタス
    クを識別し、 上記オペレーティングシステム手段は、ディスパッチャ
    手段と、スケジューラ手段と、入出力ルーチン手段と、
    割込みハンドリング手段と、を有し、 上記ディスパッチャ手段は、 タスク指名信号に応答して、上記の識別された次のタス
    クに関連する上記タスク制御ブロックの位置を表わすア
    ドレス値信号を、上記レディ待ち行列から検索する手段
    と、 上記の検索されたアドレス値信号に応答して上記の状態
    信号を上記の関連した上記タスク制御ブロックから検索
    し、上記の検索された状態信号を上記の中央処理手段の
    状態レジスタ手段に置き、これにより上記次のタスクに
    上記中央処理手段の制御を与える手段と、を備え、上記
    入出力ルーチン手段は、該入出力手段によるサービスに
    対する実行中のタスクからの呼び出しを表わす上記中央
    処理手段よりの信号に応答して上記I/O待ち行列のテ
    イルに上記の関連するアドレス値信号を置き、及び上記
    スケジューラ手段は古いタスク指名順位値を表わす上記
    の呼び出しタスクの指名順位信号に応答して上記タスク
    指名順位信号をリセットし新しいより高いタスク指名値
    を表わすようにし、さらに上記タスク指名信号を供給し
    、 上記割込みハンドリング手段は、上記同時タスクの1つ
    に対する入出力機能の完了を表わすI/O割込信号に応
    答し、第1の割込みハンドリング手段信号を供給し、上
    記のスケジューラ手段は、上記第1の割込みハンドリン
    グ手段信号と、上記1つのタスクに関連する上記タスク
    制御ブロックの上記タスク指名信号と、に応答し、上記
    のレディ待ち行列に対応するテイルに関連する上記アド
    レス値信号を、対応する上記レディ待ち行列のテイルに
    置き、 上記データ記憶手段はさらに時間間隔制限値信号を供給
    し、 上記タイマ手段は上記ディスパッチャ手段に応答して、
    上記時間間隔制限値信号によって定義される時間間隔の
    完了を待ち、上記の検索された状態信号が上記状態レジ
    スタ手段に置かれたとき作動を始め、上記のタイマ手段
    は上記時間間隔の完了に応答してタイマ割込み信号を供
    給し、 上記割込みハンドリング手段は上記タイマ割込み信号に
    応答して、上記同時実行タスクの実行を中断し、上記中
    央処理手段からの現在の上記状態信号を検索し、上記の
    中断したタスクに関連する上記タスク制御ブロックの上
    記制御ブロック記憶エレメントに上記状態信号を置き、
    上記スケジューラ手段に第2の割込みハンドリング手段
    信号を供給し、 上記スケジューラ手段は上記第2の割込みハンドリング
    手段信号と、古いタスク指名順位値を表わす上記中断し
    たタスク指名順位信号と、に応答して、上記タスク指名
    順位信号をリセットし、上記の中断した上記タスク制御
    ブロックに関連するアドレス信号を、上記の新しいタス
    ク指名順位値に対応する上記のレディ待ち行列のテイル
    に置き、上記オペレーティングシステム手段は、上記実
    行中のタスクの処理の上記時間間隔終了前の中断の要求
    を表わす上記中央処理装置からの信号に応答し、待機事
    象をペンディングにし、上記中央処理手段からの現在の
    上記状態信号の検索をし、これにより上記タスクは中断
    したタスクとなり、上記中断したタスクと関連する上記
    タスク制御ブロックの上記タスク制御ブロック記憶エレ
    メントに上記状態信号を置き、古いタスク順位置を表わ
    す上記の中断したタスク指名順位信号に応答して上記タ
    スク指名順位信号をリセットし新しいより高いタスク指
    名順位値を表わすようにし、上記タスク指名信号を供給
    し、 上記スケジューラ手段はその後、上記の待機事象の発生
    を表わす上記中央処理手段からの信号と、上記の中断し
    たタスクに関連する上記タスク制御ブロックの上記タス
    ク指名順位信号とに応答し、関連する上記アドレス値信
    号を対応する上記レディ待ち行列に置き、 上記システムの改良されたシステムであって、上記デー
    タ記憶手段はさらに範囲制限信号を供給する少なくとも
    1つの範囲制限記憶エレメントを設け、前記範囲制限信
    号はNより小さい、レディ待ち行列の総数Mを定義する
    値を表わしており、上記範囲制限信号は各上記タスクに
    関しそのタスクの最高及び最低の順位のレディ待ち行列
    を含むレディ待ち行列サブセットを定義し、同時タスク
    の上記レディ待ち行列サブセットは、他の同時タスクの
    レディ待ち行列サブセットと共通の少なくとも1つのレ
    ディ待ち行列を有し、重複したレディ待ち行列を供給し
    、 各タスクに関し、上記スケジューラはさらに上記タスク
    指名信号と上記範囲制限信号とに応答して、上記タスク
    に関して定義された上記レディ待ち行列サブセット内に
    特定のレディ待ち行列に上記の特定のタスク制御ブロッ
    クアドレス信号を置くことを特徴とする上記改良された
    システム。
JP61045133A 1985-03-01 1986-03-01 チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム Expired - Lifetime JPH0756634B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/707,304 US4736318A (en) 1985-03-01 1985-03-01 Data processing system having tunable operating system means
US707304 1985-03-01

Publications (2)

Publication Number Publication Date
JPS61262938A true JPS61262938A (ja) 1986-11-20
JPH0756634B2 JPH0756634B2 (ja) 1995-06-14

Family

ID=24841167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61045133A Expired - Lifetime JPH0756634B2 (ja) 1985-03-01 1986-03-01 チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム

Country Status (6)

Country Link
US (2) US4736318A (ja)
EP (1) EP0194533B1 (ja)
JP (1) JPH0756634B2 (ja)
AU (1) AU587427B2 (ja)
CA (1) CA1248637A (ja)
DE (1) DE3681609D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089808A1 (ja) * 2009-02-09 2010-08-12 富士通株式会社 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
JPS62221732A (ja) * 1986-03-24 1987-09-29 Nec Corp 情報処理装置
US4980824A (en) * 1986-10-29 1990-12-25 United Technologies Corporation Event driven executive
US5764922A (en) * 1986-11-04 1998-06-09 Unisys Corporation I/O system for off-loading operating system functions
US5381546A (en) * 1987-04-13 1995-01-10 Gte Laboratories Incorporated Control process for allocating services in communications systems
ATE134779T1 (de) * 1987-06-12 1996-03-15 Bmc Software Inc Supervisorverfahren für ein rechnerbetriebssystem
US5010482A (en) * 1987-07-02 1991-04-23 Unisys Corp. Multi-event mechanism for queuing happened events for a large data processing system
US4918595A (en) * 1987-07-31 1990-04-17 International Business Machines Corp. Subsystem input service for dynamically scheduling work for a computer system
IE872626L (en) * 1987-09-29 1988-04-01 Smithkline Beckman Corp Affinity adsorbents for glycopeptide antibiotics.
US5255185A (en) * 1988-04-18 1993-10-19 Brunswick Bowling & Billiards Corp. Bowling center video display system
EP0381655A3 (en) * 1989-01-31 1992-12-02 International Business Machines Corporation Method for synchronizing the dispatching of tasks among multitasking operating systems
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5057997A (en) * 1989-02-13 1991-10-15 International Business Machines Corp. Interruption systems for externally changing a context of program execution of a programmed processor
JP3153906B2 (ja) * 1989-02-24 2001-04-09 アドヴァンスド マイクロ デヴァイセス インコーポレイテッド コンピュータの分散型パイプライン制御装置及び方法
EP0384635B1 (en) * 1989-02-24 1997-08-13 AT&T Corp. Adaptive job scheduling for multiprocessing systems
US5768575A (en) * 1989-02-24 1998-06-16 Advanced Micro Devices, Inc. Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
JPH02300939A (ja) * 1989-05-16 1990-12-13 Toshiba Corp セマフォオペレーション方式
US5283900A (en) * 1989-10-02 1994-02-01 Spectron Microsystems, Inc. Real-time operating system and virtual digital signal processor for the control of a digital signal processor
US5392426A (en) * 1989-12-15 1995-02-21 Nynex Corporation, Inc. Method and apparatus for use in program operation, control and control block management and storage
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
GB2244025B (en) * 1990-03-19 1994-03-30 Ricoh Kk Control system for image forming equipment
US5452452A (en) * 1990-06-11 1995-09-19 Cray Research, Inc. System having integrated dispatcher for self scheduling processors to execute multiple types of processes
JPH04149642A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
US5287523A (en) * 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
US5469571A (en) * 1991-07-15 1995-11-21 Lynx Real-Time Systems, Inc. Operating system architecture using multiple priority light weight kernel task based interrupt handling
EP0537721B1 (en) * 1991-10-15 1998-11-25 Hewlett-Packard Company Hardware-configured operating system kernel for a multitasking processor
US5394547A (en) * 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5333319A (en) * 1992-03-02 1994-07-26 International Business Machines Corporation Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
US5367637A (en) * 1992-03-26 1994-11-22 International Business Machines Corporation Self-tuning virtual storage management for dedicated real-time computer system
US5386561A (en) * 1992-03-31 1995-01-31 International Business Machines Corporation Method of integrated system load control through dynamic time-slicing in a virtual storage environment
US6021425A (en) * 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
US5452457A (en) * 1993-01-29 1995-09-19 International Business Machines Corporation Program construct and methods/systems for optimizing assembled code for execution
EP0617361B1 (en) * 1993-03-26 2001-11-28 Cabletron Systems, Inc. Scheduling method and apparatus for a communication network
US5504904A (en) * 1994-02-23 1996-04-02 International Business Machines Corporation Personal computer having operating system definition file for configuring computer system
US5473773A (en) * 1994-04-04 1995-12-05 International Business Machines Corporation Apparatus and method for managing a data processing system workload according to two or more distinct processing goals
US5537542A (en) * 1994-04-04 1996-07-16 International Business Machines Corporation Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system
US6430592B1 (en) * 1994-06-02 2002-08-06 International Business Machines Corporation System for sharing CPU time amongst multiple users
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
US5511220A (en) * 1994-09-01 1996-04-23 Perlman; Noah Multi-user computer system with a clock driven batch dispatching mechanism
FR2724243B1 (fr) * 1994-09-06 1997-08-14 Sgs Thomson Microelectronics Systeme de traitement multitaches
US5828879A (en) * 1994-12-22 1998-10-27 Fore Systems, Inc. Method and a scheduler for controlling when a server provides service to an entity
US5636124A (en) * 1995-03-08 1997-06-03 Allen-Bradley Company, Inc. Multitasking industrial controller
US5627745A (en) * 1995-05-03 1997-05-06 Allen-Bradley Company, Inc. Parallel processing in a multitasking industrial controller
US6934325B2 (en) * 1996-01-08 2005-08-23 Smart Link Ltd. Multi-line distributed modem
IL116708A (en) * 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
US6457037B1 (en) 1996-12-30 2002-09-24 Smart Link Ltd. Method and system for controlling the CPU consumption of soft modems
US5768572A (en) * 1996-02-05 1998-06-16 International Business Machines Corporation Timer state control optimized for frequent cancel and reset operations
WO1998009225A1 (en) * 1996-08-29 1998-03-05 Nematron Corporation Real time software system
US6385638B1 (en) * 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US7437725B1 (en) * 1999-01-04 2008-10-14 General Electric Company Processing techniques for servers handling client/server traffic and communications
US6411982B2 (en) * 1998-05-28 2002-06-25 Hewlett-Packard Company Thread based governor for time scheduled process execution
US6212543B1 (en) * 1998-12-10 2001-04-03 Intel Corporation Asymmetric write-only message queuing architecture
US6334159B1 (en) * 1998-12-22 2001-12-25 Unisys Corporation Method and apparatus for scheduling requests within a data processing system
US6442682B1 (en) * 1999-02-18 2002-08-27 Auspex Systems, Inc. Characterization of data access using file system
US6438704B1 (en) 1999-03-25 2002-08-20 International Business Machines Corporation System and method for scheduling use of system resources among a plurality of limited users
US6434708B1 (en) * 1999-04-09 2002-08-13 Integrated Technology Express, Inc. Programmable timer & methods for scheduling time slices executed by a controller circuit
US6976260B1 (en) 1999-09-24 2005-12-13 International Business Machines Corporation Method and apparatus for serializing a message queue in a multiprocessing environment
US6697834B1 (en) * 1999-12-01 2004-02-24 Sun Microsystems, Inc. Mutual exculsion system and method for restarting critical sections of code when preempted during a critical section
GB2366401B (en) 2000-08-25 2005-06-01 Mitel Corp Resource sharing with sliding constraints
US6854048B1 (en) 2001-08-08 2005-02-08 Sun Microsystems Speculative execution control with programmable indicator and deactivation of multiaccess recovery mechanism
US6877088B2 (en) * 2001-08-08 2005-04-05 Sun Microsystems, Inc. Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
US6799236B1 (en) 2001-11-20 2004-09-28 Sun Microsystems, Inc. Methods and apparatus for executing code while avoiding interference
KR100446510B1 (ko) * 2002-02-04 2004-09-04 삼성전자주식회사 휴대용 전자단말의 전원 관리 방법
GB2388213A (en) * 2002-04-30 2003-11-05 Innovation Ct Improvements relating to task dispatch in priority pre-emptive real-time operating systems
US6934368B2 (en) * 2002-08-12 2005-08-23 Smartlink Ltd. Multi-band modem
US20040095257A1 (en) * 2002-08-12 2004-05-20 Smartlink Ltd. High-speed analog modem
US7653906B2 (en) * 2002-10-23 2010-01-26 Intel Corporation Apparatus and method for reducing power consumption on simultaneous multi-threading systems
US7178062B1 (en) 2003-03-12 2007-02-13 Sun Microsystems, Inc. Methods and apparatus for executing code while avoiding interference
US7139846B1 (en) * 2003-09-30 2006-11-21 Veritas Operating Corporation Computer system and method for performing low impact backup operations
US7594234B1 (en) 2004-06-04 2009-09-22 Sun Microsystems, Inc. Adaptive spin-then-block mutual exclusion in multi-threaded processing
US7644409B2 (en) * 2004-06-04 2010-01-05 Sun Microsystems, Inc. Techniques for accessing a shared resource using an improved synchronization mechanism
US7475397B1 (en) 2004-07-28 2009-01-06 Sun Microsystems, Inc. Methods and apparatus for providing a remote serialization guarantee
US7386642B2 (en) * 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
US8245230B2 (en) * 2005-03-14 2012-08-14 Qnx Software Systems Limited Adaptive partitioning scheduler for multiprocessing system
CA2538503C (en) * 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
US9361156B2 (en) 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US8387052B2 (en) 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
US7253606B2 (en) * 2005-07-18 2007-08-07 Agilent Technologies, Inc. Framework that maximizes the usage of testhead resources in in-circuit test system
US8898669B2 (en) * 2007-07-30 2014-11-25 International Business Machines Corporation Methods and systems for coordinated transactions
US8959516B2 (en) 2007-07-30 2015-02-17 International Business Machines Corporation Methods and systems for coordinated financial transactions in distributed and parallel environments
US20150121387A1 (en) * 2013-10-30 2015-04-30 Mediatek Inc. Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US9858115B2 (en) * 2013-10-30 2018-01-02 Mediatek Inc. Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
CN103729241B (zh) * 2013-12-12 2016-08-31 华中科技大学 一种多核环境下OpenMP任务并行的优化方法
CN106020951A (zh) * 2016-05-12 2016-10-12 中国农业银行股份有限公司 一种任务调度方法及系统
CN111274024B (zh) * 2019-03-19 2023-05-30 中标软件有限公司 基于cfs调度器的就绪队列平均负载优化方法及数据结构
CN111198546B (zh) * 2020-01-02 2021-04-06 北京众信易保科技有限公司 一种数据采集控制的方法及系统
CN116720712B (zh) * 2023-08-07 2023-12-29 泰能天然气有限公司 一种燃气应急调度数据管理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5523527A (en) * 1978-08-02 1980-02-20 Nec Corp Dispatching system
JPS57191731A (en) * 1981-05-21 1982-11-25 Nec Corp Operating system for terminal equipment

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588837A (en) * 1968-12-30 1971-06-28 Comcet Inc Systems activity monitor
US3686641A (en) * 1970-09-30 1972-08-22 Burroughs Corp Multiprogram digital processing system with interprogram communication
US4099235A (en) * 1972-02-08 1978-07-04 Siemens Aktiengesellschaft Method of operating a data processing system
US4183083A (en) * 1972-04-14 1980-01-08 Duquesne Systems, Inc. Method of operating a multiprogrammed computing system
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
DE2754890C2 (de) * 1977-12-09 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Programmunterbrechung
GB2012084B (en) * 1978-01-09 1982-03-17 Honeywell Inf Systems Data processing systems
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4387427A (en) * 1978-12-21 1983-06-07 Intel Corporation Hardware scheduler/dispatcher for data processing system
US4481583A (en) * 1981-10-30 1984-11-06 At&T Bell Laboratories Method for distributing resources in a time-shared system
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5523527A (en) * 1978-08-02 1980-02-20 Nec Corp Dispatching system
JPS57191731A (en) * 1981-05-21 1982-11-25 Nec Corp Operating system for terminal equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089808A1 (ja) * 2009-02-09 2010-08-12 富士通株式会社 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置
US8516482B2 (en) 2009-02-09 2013-08-20 Fujitsu Limited Virtual machine assigning method and storage medium thereof, information processing device having virtual machine environment

Also Published As

Publication number Publication date
EP0194533B1 (en) 1991-09-25
EP0194533A2 (en) 1986-09-17
US4736318A (en) 1988-04-05
EP0194533A3 (en) 1988-08-24
JPH0756634B2 (ja) 1995-06-14
AU587427B2 (en) 1989-08-17
DE3681609D1 (de) 1991-10-31
US4908750A (en) 1990-03-13
AU5421586A (en) 1986-09-04
CA1248637A (en) 1989-01-10

Similar Documents

Publication Publication Date Title
JPS61262938A (ja) チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US6021425A (en) System and method for optimizing dispatch latency of tasks in a data processing system
JP2518998B2 (ja) 多重タスク処理オペレ―ティング・システム及びそのコンピュ―タの動作方法
US4495562A (en) Job execution multiplicity control method
US5745778A (en) Apparatus and method for improved CPU affinity in a multiprocessor system
US5220653A (en) Scheduling input/output operations in multitasking systems
US4642756A (en) Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
US7962913B2 (en) Scheduling threads in a multiprocessor computer
JP3414520B2 (ja) マルチプロセッサ・システムにおけるタスク・スケジューリング方法
US5506987A (en) Affinity scheduling of processes on symmetric multiprocessing systems
US6779182B1 (en) Real time thread dispatcher for multiprocessor applications
EP0527392A2 (en) Preemptive and non pre-emptive scheduling and executing of program threads in a multitasking operating system
US5257375A (en) Method and apparatus for dispatching tasks requiring short-duration processor affinity
EP0685791A2 (en) User controllable concurrent functionality
JP2561801B2 (ja) プロセス・スケジューリングの管理方法およびシステム
JPH11212809A (ja) プロセッサ共有方法および装置
JPH03103963A (ja) 複数プロセッサへのタスク割り当て装置及び方法
US6941365B2 (en) Computer resource allocation layout description
KR100848323B1 (ko) 임베디드 운영체제 커널의 실시간 성능을 향상시키는 방법
Bunt Scheduling techniques for operating systems
Nosrati et al. Task scheduling algorithms introduction
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPS63636A (ja) タスク制御方式
JPH08314740A (ja) プロセスディスパッチ方法