JPH0457022B2 - - Google Patents

Info

Publication number
JPH0457022B2
JPH0457022B2 JP3725183A JP3725183A JPH0457022B2 JP H0457022 B2 JPH0457022 B2 JP H0457022B2 JP 3725183 A JP3725183 A JP 3725183A JP 3725183 A JP3725183 A JP 3725183A JP H0457022 B2 JPH0457022 B2 JP H0457022B2
Authority
JP
Japan
Prior art keywords
job
task
tasks
state
activated
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
JP3725183A
Other languages
English (en)
Other versions
JPS59163647A (ja
Inventor
Masao Sueki
Hirokazu Kasashima
Hiroaki Nakanishi
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3725183A priority Critical patent/JPS59163647A/ja
Publication of JPS59163647A publication Critical patent/JPS59163647A/ja
Publication of JPH0457022B2 publication Critical patent/JPH0457022B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、1台の処理装置内に複数の独立した
業務(ジヨブ)の割当てを行い、各業務を同時並
行的に実行することを可能とするマルチジヨブシ
ステムに於る、タスク管理の方法に関するもので
ある。
〔従来技術〕
大きな計算機システムに於ては、システム管理
のためのオペレーテイングシステム(以下OSと
略記する)やユーザプログラム等の種々の処理
を、ジヨブと呼ばれる機能単位に分割して実行す
る。更にこの各ジヨブは、通常その処理単位とし
てより小さいタスクに分割され、実行される。例
えば、オンラインリアルタイム制御の処理(ジヨ
ブ100)の例を考えると、それは第1図のよう
なタスクに分割され、実行される。即ち、外部割
込み101などのイベントが発生すると、そのイ
ベントを取込み判断するタスクT1が起動され、
そのタスクの処理によつてイベントに対応した処
理を決定し、それを実行するタスクT2が起動さ
れる。タスクT2では、主記憶装置内共有メモリ
GLBを参照或いは変更し、処理結果を外部表示
装置102に表示し、更にタスクT3を起動す
る。タスクT3では、共有メモリGLBのデータ
を外部補助記憶装置103に退避する。以上のよ
うに、ジヨブ100内の複数のタスクが相互に連
絡、同期をとりながら一つのイベントに対する処
理を行う。
このような処理を高速に行うための1つの方法
は、複数の処理装置(以下CPUと略記する)を
設け、CPU毎に別のジヨブを割付けて、各々の
CPUが独立に各ジヨブの処理を実行するものが
ある。これは各CPUが単一ジヨブだけを各時点
で実行しているので、シングルジヨブシステムと
呼ばれ、その例を第2図に示す。同図に於て、
CPU1〜3には各々ジヨブJA,JB,JCが割付け
られ、それらの各ジヨブはタスクTA1〜TC3
等から構成されている。シングルジヨブシステム
のタスク管理方法は、各タスク毎に実行優先順位
を与え、実行要求が発生しかつ実行可能状態にあ
るタスク群の中から、最も実行優先順位の高いタ
スクを選択し、実行させるものである。このた
め、各タスクの処理内容に対応して、予め実行優
先順位を割当てておき、ジヨブ全体の処理の流れ
を制御する。
ところで、ハードウエア機器の性能向上に伴
い、従来複数台のCPUで分担していた仕事を1
台のCPUでまかなえるようになつてきた。この
場合、第2図に示したような複数のシングルジヨ
ブシステムをそのまま1台のCPUに組込むこと
が考えられるが、これではジヨブを単位とした起
動,停止ができない。また、同一ジヨブ内タスク
間での各種資源の競合管理によつて、他ジヨブ内
のタスクに対してまで影響を及ぼすというような
問題が発生する。これを避けるために、複数のジ
ヨブをまとめて、1つのジヨブとして再構成して
もよいが、それはプログラムの変更等、多大な作
業を必要とする。
マルチジヨブシステムは、1台のCPUで複数
のジヨブを処理できるようにしたもので、単一の
OSを設け、このOSのもとにそれぞれのジヨブを
処理する。この場合のジヨブはシングルジヨブシ
ステムと同一の考えで構成することができる。第
3図はこのマルチジヨブシステムを示しており、
シングルジヨブシステムでは複数のCPUにて個
別に実行されていたジヨブJA〜JCを、1台の
CPU10で実行させることを可能とする。この
ためOSは、単一CPU内の複数のジヨブに対し
て、ジヨブ毎に起動,停止を指令するジヨブ実行
制御機能を有する。また、オンラインリアルタイ
ム制御の場合には、各タスク間にてCPU内各種
資源(主記憶装置上の共有メモリエリアGLB,
補助記憶装置上の共有メモリエリアBULK,入
出力装置I/O)を時分割で共有して使用する。
このため、これらの共有資源を占有あるいは解除
する資源管理マクロ命令RSERV/FREEが用意
されている。しかしながら共有メモリGLB上の
データを書換えるのにこのRSERV/FREEマク
ロ命令を使用すると、そのマクロ命令処理には対
象資源に対する占有権の確立や他からの要求の排
除等に多大な手続きを必要とし、オーバーヘツド
が大きいため、従来からタスクの優先順位に関係
なく、単に他タスクからの割込みを禁止,解除す
るマクロ命令ASUSP/ARSUMが使用される。
このうちマクロ命令ASUSPは、その発行タスク
以外の全タスクを一時的に休止状態にし、マクロ
命令ARSUMは、その休止状態の解除を行う。
このマクロ命令ASUSP/ARSUMによる割込禁
止,解除の及ぶ範囲が、シングルジヨブシステム
では単一CPUの処理範囲、つまり単一ジヨブ内
に制限されるので問題はないが、マルチジヨブシ
ステムに於ては、ジヨブ毎にその実行業務が異な
つており、特定のジヨブのタスクからのマクロ命
令ASUSP/ARSUMの発行は、他のジヨブにも
及び、そのタスクの実行に影響を与えることにな
り、問題が発生する。このため、マルチジヨブシ
ステムでは、共有メモリGLBの書換えというわ
ずかな処理の実行のためにも、実行時間の長いマ
クロ命令RSERV/FREEを使用しなくてはなら
ず。処理の大きなオーバーヘツドが避けられない
という欠点があつた。
〔発明の目的〕
本発明の目的は、上記した従来技術の欠点をな
くし、単一CPU及び単一OS構成のマルチジヨブ
システムに於て、ジヨブ単位でタスクからの割込
み禁止及び解除を行えるようにし、処理のオーバ
ーヘツドを大幅に軽減するためのタスク管理方法
を提供するにある。
〔発明の概要〕
本発明は、ジヨブ状態を管理するテーブルを設
け、タスクが共有メモリエリアへのアクセス時に
はジヨブ休止命令を発行してそのタスクの属する
ジヨブのみを上記テーブル上で休止状態とし、ア
クセス中に同一ジヨブ内の他タスクから割込みが
発生しても、OSによつてそのジヨブが休止状態
ならその割込みの実行を上記アクセスが終了する
まで待たせるようにしたことを特徴とするもので
ある。
〔発明の実施例〕
以下、本発明を実施例により説明する。本実施
例では、まず第4図に示したジヨブ状態管理テー
ブル(JCTB)21を設ける。これは、CPU内の
各ジヨブの状態(稼動/休止/停止)を記憶する
テーブルであり、その内容に応じて次のような制
御が後述するOSにより行われる。即ち、稼動中
の表示であれば該当ジヨブ内タスクに対する起動
要求を受付け、かつ実行させる。休止中の表示で
あれば該当ジヨブ内タスクに対する起動要求は受
付けるが、実行は抑止する。また、停止中の表示
であれば該当ジヨブ内タスクに対する起動要求を
受付けない。
これらのジヨブの状態は、第5図に示した状態
遷移図の矢印方向へ移行でき、それはジヨブ制御
マクロ命令によつて制御される。このうち初期状
態のジヨブは停止中であり、このジヨブが起動さ
れると稼動状態へ移される。この稼動状態から停
止状態へは、該当ジヨブの使用変更,ジヨブ内部
の異常発生時等に行われる。また休止状態から停
止状態への移行も、該当ジヨブの使用変更等によ
り行われ、これらの移行はそれぞれの対応したマ
クロ命令の発行により行われる。第5図の稼動状
態と休止状態の間の移行制御は本発明に深く関わ
るものである。
稼動状態から休止状態への移行は、一時的に該
当ジヨブを休止させたい時に行われ、これはある
時間経過すると、元の稼動状態へ戻さねばならな
い。この目的のために、第6図に示すジヨブ休止
状態制御テーブル(JCBEX)22と、ジヨブ休
止解除待ち行列(TCB1)25〜27が設けら
れている。このテーブル22の各ジヨブ対応の内
容は、第6図ではジヨブJCについてのみ示して
いるが、当該ジヨブのタスクであつて、かつジヨ
ブ休止マクロ命令を発行したものを表示するエリ
ア23と、ジヨブ休止解除待ち行列25〜27を
指示するポインタ24から成つている。待ち行列
25〜27にはタスクX,Y……の番号が順次ポ
インタで接続されて格納され、これは後述する
OSにより、実行が一時期待されるタスクである。
また本実施例では、第7図に示したようなタスク
実行待ち行列(TCB2)29〜31とそれを指
示するポインタ(RQPB)28を用いる。この待
ち行列29〜31は、タスクの優先順位0,1,
2,……毎に、起動要求があつたものを順にポイ
ンタで接続して表示するもので、そのタスクがど
のジヨブに属していても、CPUは1台であるか
ら、同じ待ち行列に表示される。従つてポインタ
28もジヨブには関係なく、タスクの優先順位毎
のポインタから成つている。例えば、第7図のよ
うに、優先順位1のポインタはジヨブJAのタス
クX、続いてジヨブJBのタスクYを表示してい
る。
以上に示したテーブル21,22、ポインタ2
8、待ち行列25〜31を用いて、OSは第8図
のフローチヤートに示したタスク実行制御を行
う。むろんOSは、この他に入出力制御や他のシ
ステム管理機能を持つが、これは従来のものでよ
い。このタスク実行制御プログラムが起動される
のは、(1)実行中のタスクが終了した時、(2)実行中
のタスクがCPU内各種資源の空待ちになつた時、
(3)入出力制御要求を発行して、その入出力制御の
終了待ちになつた時、或いは(4)外部割込み等によ
つて実行中のタスクよりも優先順位の高いタスク
が起動された時である。そして起動されると、ま
ずステツプ40にてポインタ28の指示するタスク
実行待ち行列29〜31をサーチし、優先順位が
最も高く、また同一優先順位内に於ては先着順
に、そのタスクが実行可能か否かをしらべ、最初
に実行可能であつたものを選択する。但しここで
いう実行可能とは、例えば第8図のプログラムの
起動条件で述べた各種資源の空き待ちや入出力制
御終了待ちのため、再びタスク実行待ち行列29
〜31へ戻されたタスクの場合、その待ち条件が
ステツプ40実行時に解消していることを意味して
いる。そしてこのような判定はOS一般の機能で
あつて、後述するステツプ41での実行可否の判定
とは別のものである。次に、ステツプ40で選択さ
れたタスクに対して、そのタスクの所属するジヨ
ブの状態判定をステツプ41で行う。このステツプ
41の詳細は第9図に示されており、まずステツプ
411で今タスク実行待ち行列29〜31から選択
したタスクの属するジヨブ番号を取り出し、ステ
ツプ412では第4図で示したジヨブ状態管理テー
ブル21をサーチして、この当該ジヨブの状態を
しらべる。その結果そのジヨブが稼動中の場合は
次のステツプ42へ移る。またそのジヨブが休止中
の場合は更に次のステツプ413で、ステツプ40で
選択されたタスクが、それの属するジヨブを休止
にさせたタスクか否かを、第6図に示したジヨブ
休止状態制御テーブル22のエリア23をしらべ
ることにより判定し、休止にさせたタスクの時は
やはり次のステツプ42へ移る。ステツプ42へ移つ
た場合には、ステツプ40で選択されたタスクを実
行可能とし、そのタスクに主記憶装置のエリアを
割当て、更にステツプ43でそのタスク実行に必要
なレジスタ類の初期設定(新起動時)、或いは回
復処理(中断後の再起動時)を行い、以後の制御
を当該タスクに引渡す。
一方、第9図のステツプ412,413の判定の結
果、ステツプ40で選択されたタスクが属するジヨ
ブが休止中で、かつそのタスクが当該ジヨブにジ
ヨブ休止マクロ命令を発行したタスクではない場
合には、ポインタ24に従つてそのタスクをジヨ
ブ休止解除待ち行列25〜27に接続し、ジヨブ
休止解除待ち状態にする。そして次の実行可能な
タスクを探すため、ステツプ40へ戻る。
次に、以上の第8図,第9図で説明したタスク
実行制御プログラムのサポートによつて、共有メ
モリエリアの書換え等が、従来のマクロ命令
ASUSP/ARSUMと同様なマクロ命令により容
易に行えることを示す。この共有メモリエリアの
読み書き(アクセス)が問題になるのは、そのエ
リアの内容は同一ジヨブ内の複数タスクからアク
セスされるから、例えばタスクTAのあるステツ
プで書換えた後にタスクTBのあるステツプでそ
れを読み出す、というようなアクセスの順序が守
られた時には正しく動作するが、この順序が狂う
と誤つた結果を生じる場合がある。しかるに、タ
スクの優先順位の関係から、タスクTBの割込み
によりこの順序が狂うことがあり、これを防止す
る必要があるからである。そこで共有メモリエリ
アをタスクTAがアクセスする時には、第10図
に示すように、そのアクセスに先立つてタスク
TAがジヨブ休止マクロ命令を発行し、アクセス
終了後にジヨブ休止解除マクロ命令を発行する。
このうち、ジヨブ休止マクロ命令は第11図に示
される処理を行う。即ち、まずステツプ61で、こ
のマクロ命令を発行したタスクTAの属するジヨ
ブの状態をジヨブ状態管理テーブル21を参照し
てしらべ、稼動中でない時は何もせずに終る。稼
動中であつた時はステツプ62へ移り、ジヨブ状態
管理テーブル21の当該ジヨブを休止中の表示に
変更する。続いてステツプ63では、タスクTAの
番号を、ジヨブ休止状態制御テーブル22の、当
該ジヨブに対応するエリア23に登録し、第10
図の次のステツプ、即ち共有メモリエリアへのア
クセスに移る。そこで、もしこのアクセス動作の
途中で、同一ジヨブ内のより優先順位の高い他タ
スクTBが起動されて割込みが発生したとする。
そうすると前述したように第8図のタスク実行制
御プログラムが起動されるが、ここではそのタス
クTBの属するジヨブはタスクTAのそれと同じ
だから、先に発行されたジヨブ休止マクロ命令に
より休止中の表示がジヨブ状態管理テーブル21
に設定されている。従つて第8図のステツプ41内
のステツプ412,413(第9図)の判定により、こ
の割込み要求を発生したタスクTBはステツプ
414でジヨブ休止解除待ち行列25〜27へ移さ
れ、その実行は当該ジヨブの休止状態が解除され
るまで行われない。そして共有メモリエリアへの
アクセスをタスクTAが続行できる。従つて、同
一ジヨブ内他タスクTBにより、共有メモリエリ
アの内容が誤つて書換えられることは防止され
る。タスクTAの共有メモリエリアへのアクセス
が終了すると、第10図のジヨブ休止解除マクロ
命令をタスクTAが発行する。これは第12図に
示すように、ステツプ64で当該ジヨブが現在休止
中であることを確認し、続いてステツプ65では、
ジヨブ休止命令発行時に登録したジヨブ休止状態
制御テーブル22の当該エリア23のタスクTA
の番号をクリアーし、またジヨブ休止解除待ち行
列25〜27に登録したタスクTBが実行待ち行
列29〜31へ移され、実行待ちとなる。
なお、マルチジヨブシステムのマクロ命令
ASUSP及びARSUMの処理を、第11図及び第
12図で示したジヨブ休止マクロ命令及びジヨブ
休止解除マクロ命令とそれぞれ機能的に同一とす
れば、従来のプログラムを変更することなく、シ
ングルジヨブシステムからマルチジヨブシステム
への移行を行うことができる。
〔発明の効果〕
以上の実施例から明らかなように、本発明によ
れば、あるタスクからの割込み抑止,解除を当該
ジヨブ内だけに対して有効なものとすることがで
きるので、複数ジヨブの時分割処理を小さいオー
バーヘツドで効率よく行えるという効果があり、
また従来のシングルジヨブシステムの命令をその
まま用いて、高速ハードウエアによる単一CPU
のマルチジヨブシステムを構成できるという効果
がある。
【図面の簡単な説明】
第1図はオンラインリアルタイム制御での処理
例を示す図、第2図はシングルジヨブシステムの
説明図、第3図はマルチジヨブシステムの説明
図、第4図及び第6図は本発明に用いるジヨブ状
態管理テーブル及びジヨブ休止解除待ち行列の例
を示す図、第5図はマルチジヨブシステムに於る
ジヨブの状態遷移を示す図、第7図は起動要求の
発行されているタスクのCPU空き待ち行列を示
す図、第8図はタスク実行制御OSプログラムの
実施例を示すフローチヤート、第9図は第8図中
のジヨブ状態判定処理部の詳細を示すフローチヤ
ート、第10図はジヨブ休止及び休止解除マクロ
命令の使用法を示す図、第11図及び第12図は
ジヨブ休止及び休止解除マクロ命令の処理内容を
示すフローチヤートである。 21…ジヨブ状態管理テーブル、22…ジヨブ
休止状態制御テーブル、23…休止命令発行タス
クエリア、24…ポインタ、25〜27…ジヨブ
休止解除待ち行列、28…実行待ち行列ポイン
タ、29〜31…タスク実行待ち行列。

Claims (1)

    【特許請求の範囲】
  1. 1 各々が複数のタスクからなる複数個のジヨブ
    をタスク単位で時分割処理する単一処理装置、単
    一オペレーテイングシステム構成のシステムでの
    タスク管理方法に於て、ジヨブの各々が停止状態
    か稼動状態かあるいは一時的な休止状態かを表示
    する記憶テーブルと、上記稼動状態のジヨブを休
    止状態に変更するための休止命令と、上記休止状
    態のジヨブを稼動状態に変更するための解除命令
    と、タスクの1つが起動された時に、その起動タ
    スクが実行可能であつてもその起動タスクの属す
    るジヨブが上記記憶テーブル上で休止状態に表示
    されていてかつその起動タスクが上記休止命令を
    発行したものでない場合、かつその場合のみその
    起動タスクの実行を禁止する機能を有した、オペ
    レーテイングシステムに設けられたタスク実行制
    御プログラムとを備えるとともに、任意のタスク
    は、そのタスクの属する所属ジヨブ内の他タスク
    と共有するメモリエリアへアクセスする時には、
    該アクセスに先立つて上記休止命令を発行して上
    記所属ジヨブを休止状態とすることによつて、上
    記アクセス中に上記所属ジヨブ中の他タスクから
    の割込みを上記タスク実行制御プログラムのサポ
    ートにより禁止し、上記アクセス終了後に上記解
    除命令を発行して上記所属ジヨブを稼動状態へ戻
    し、かくして同一ジヨブ内のタスクの上記共有メ
    モリエリアへのアクセス制御を行うようにしたこ
    とを特徴とするタスク管理方法。
JP3725183A 1983-03-09 1983-03-09 タスク管理方法 Granted JPS59163647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3725183A JPS59163647A (ja) 1983-03-09 1983-03-09 タスク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3725183A JPS59163647A (ja) 1983-03-09 1983-03-09 タスク管理方法

Publications (2)

Publication Number Publication Date
JPS59163647A JPS59163647A (ja) 1984-09-14
JPH0457022B2 true JPH0457022B2 (ja) 1992-09-10

Family

ID=12492415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3725183A Granted JPS59163647A (ja) 1983-03-09 1983-03-09 タスク管理方法

Country Status (1)

Country Link
JP (1) JPS59163647A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61289433A (ja) * 1985-06-18 1986-12-19 Nec Corp 情報処理装置
US5353343A (en) * 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method

Also Published As

Publication number Publication date
JPS59163647A (ja) 1984-09-14

Similar Documents

Publication Publication Date Title
US6021425A (en) System and method for optimizing dispatch latency of tasks in a data processing system
US5333319A (en) Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
JP2514299B2 (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
US7426732B2 (en) Placing a task of a multithreaded environment in a known state
US9372805B2 (en) Operating on translation look-aside buffers in a multiprocessor environment
JPH0640324B2 (ja) マルチプロセッサ・システムおよびそのプロセス同期方法
KR101680109B1 (ko) 복수 코어 장치 및 그의 로드 조정 방법
US8539499B1 (en) Symmetric multiprocessing with virtual CPU and VSMP technology
US20090216928A1 (en) System, method and computer program product for providing a new quiesce state
JPH0695898A (ja) 仮想計算機の制御方法および仮想計算機システム
JP2005284749A (ja) 並列処理コンピュータ
KR101901587B1 (ko) 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
JP2007035066A (ja) マルチos構成方法
JP5131269B2 (ja) マルチプロセッシングシステム
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
WO2015122007A1 (ja) 計算機、及び、ハイパバイザによる資源スケジューリング方法
KR102003721B1 (ko) Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
JPH0457022B2 (ja)
EP0223463B1 (en) Multiprocessor data processing system
JPH07141208A (ja) マルチタスク処理装置
JPH05250188A (ja) プロセスのプライオリティ制御方式
JPH0484335A (ja) 仮想計算機制御方式
JPS603229B2 (ja) 情報処理方式
JP4006428B2 (ja) 計算機システム