JPH0439739A - 計算機システムの共有サブルーチン交換方式 - Google Patents

計算機システムの共有サブルーチン交換方式

Info

Publication number
JPH0439739A
JPH0439739A JP14765790A JP14765790A JPH0439739A JP H0439739 A JPH0439739 A JP H0439739A JP 14765790 A JP14765790 A JP 14765790A JP 14765790 A JP14765790 A JP 14765790A JP H0439739 A JPH0439739 A JP H0439739A
Authority
JP
Japan
Prior art keywords
subroutine
task
running
exchange
computer system
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.)
Pending
Application number
JP14765790A
Other languages
English (en)
Inventor
Shigeru Shiotani
塩谷 滋
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP14765790A priority Critical patent/JPH0439739A/ja
Publication of JPH0439739A publication Critical patent/JPH0439739A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、複数のタスクでサブルーチンを共有する機
構を備えた計算機システムにおいて、オンライン状態で
プログラム交換を行うことができる計算機システムの共
有サブルーチン交換方式に関する。
〔従来の技術〕
従来の計算機システムの共有サブルーチン交換方式とし
ては、共有サブルーチンの交換は何らかの方法で全ての
タスクを停止(例えばオフライン状態)して行うか、又
はオンライン状態で強制的に交換する方法が一般的であ
る。
〔発明が解決しようとする課題〕
しかしながら、上記従来の計算機システムの共有サブル
ーチン交換方式のうち、タスクを全て停止する方式にあ
っては、不要なタスクまで停止することになり、その間
計算機としての機能が失われるという未解決の課題があ
った。
また、オンライン状態での強制交換方式にあっては、タ
スクが実際に走行中のサブルーチンを交換する可能性が
有り、プログラムの動作を保証できないという未解決の
課題があった。
そこで、この発明は、オンライン状態での安全且つ高速
に共有サブルーチンの交換を行うことができる計算機シ
ステムの共有サブルーチン交換方式を提供することを目
的としている。
〔課題を解決するための手段〕
上記目的を達成するために、請求項(1)に係る計算機
システムの共有サブルーチン交換方式は、複数のタスク
でサブルーチンを共有する機構を備えた計算機システム
において、何れのサブルーチンがどのタスクから呼出さ
れるかを判別する呼出判別手段と、任意のタスクがサブ
ルーチンを呼出した時に、その入口で処理を遅延させる
か又は呼出しタスクを異常終了させるサブルーチン交換
管理手段とを備え、特定のサブルーチンの交換要求発生
時に前記呼出判別手段により走行中のタスクの内、該当
するサブルーチンを呼出す可能性のあるタスクを識別し
、走行中のタスクが存在する場合には、前記サブルーチ
ン交換管理手段により、走行中のタスクが終了するか又
は走行中のタスクを異常終了させてからサブルーチンの
交換を行うまでの間他のタスクによる該当サブルーチン
の使用を遅延又は禁止するようにしたことを特徴として
いる。
また、請求項(2)に係る計算機システムの共有サブル
ーチン交換方式は、複数のタスクでサブルーチンを共有
する機構を備えた計算機システムにおいて、仮想空間方
式によりタスク単位に個別のプログラムを同一のサブル
ーチンとしてマツピングするマツピング手段と、走行中
のタスクに対して何れのタスクがどのサブルーチンを既
に呼出したか否かを判別する呼出判別手段とを備え、特
定のサブルーチンの交換要求発生時に、前記マツピング
手段で、前記呼出判別手段で該当するサブルーチンを走
行中のタスクが存在することを認識したときには、当該
タスクの停止後に交換するプログラムの実体を該当サブ
ルーチンとしてマツピッグし、走行中のタスクが存在し
ないことを認識したときは即座に交換するプログラムの
実体を該当サブルーチンとしてマツピングするようにし
たことを特徴としている。
〔作用〕
請求項(1)に係る計算機システムの共有サブルーチン
交換方式においては、呼出判別手段によって、交換要求
の発生したサブルーチンを既に使用している可能性の有
るタスクを判別することができるので、その終了までサ
ブルーチンの交換を延期し、サブルーチン交換管理手段
によって交換要求後のサブルーチンの実行を、サブルー
チンの交換を行っても支障のない入口部分で待機させる
か、又はタスク自身を異常終了させるので、共にプログ
ラムの正確な動作を保証しながらサブルーチンの交換を
高速に行うことができる。
また、請求項(2)に係る計算機システムの共有サブル
ーチン交換方式においては、仮想空間方式によってタス
ク毎に個別のプログラムを同一のサブルーチンとして扱
うことができ、呼出判別手段によってサブルーチンを交
換すると支障を生じるタスクを判別することができるの
で、この判別されたタスクについてのサブルーチンの交
換のみをマツピング手段によって安全な時期まで延期さ
せることにより、プログラムの正確な動作を保証しなが
らサブルーチンの交換を高速に行うことができる。
〔実施例〕
以下、この発明の実施例を図面に基づいて説明する。
第1図はこの発明の第1実施例を示す説明図、第2図は
サブルーチン交換処理を示すフローチャートである。
計算機システムは、複数のタスクを有し、これらタスク
でサブルーチンを共有するようにしている。そして、タ
スクとサブルーチンとの呼出関係は、第1図に示す呼出
関係テーブル1によって管理されている。この呼出関係
テーブル1には、プログラム識別情報10〜14が格納
され、これらプログラム識別情報10〜14には、タス
ク番号T((i=1.2・・・・・・N)又はサブルー
チン番号S=  (j=1.2・・・・・・M)が設定
されており、タスク番号Tiの後に連続しているサブル
ーチン番号Sjのサブルーチンが、当該タスクT、から
呼出される可能性が有るサブルーチンとなる。したかっ
て、第1図の例では、タスクT、がサブルーチンSI及
びSzを呼出し、タスクT2がサブルーチンS1を呼出
す可能性が有り、実質的にはサブルーチンSIが共有と
なっている。
また、計算機システムは、第2図に示すように、各サブ
ルーチンSl及びS2に対応してプログラム交換の有無
を表す交換要求フラグ20及び21を備えていると共に
、第3図に示すサブルーチンの交換要求発生時に走行中
のタスクT、又はTzを記憶する呼出判別手段としての
タスク終了待ちフラグ30及び31を備えている。
そして、計算機システムは、第4図に示すサブルーチン
交換処理を実行しており、先ずステップ■で交換要求フ
ラグ20及び21を参照してサブルーチンの交換要求の
有無を判定し、交換要求が無いときには直接サブルーチ
ン本体に移行し、交換要求が有るときにはステップ■に
移行する。
このステップ■では、タスク終了待ちフラグ30及び3
1を参照してタスク終了待ちであるか否かを判定し、走
行中のタスクである時にはそのままサブルーチン本体に
移行し、走行中のタスクでない時にはステップ■に移行
して待機処理を行ってから交換後のサブルーチン本体に
移行する。ここで、ステップ■の待機処理は、タスク終
了待ちフラグ30.31を参照して、これらが全てリセ
ットされてから、サブルーチンの交換が終了したときに
待機状態を解除して、交換後のサブルーチンの先頭に分
岐させる。
ここで、第4図の処理がサブルーチン交換管理手段に対
応している。
次に、上記第1実施例の動作を説明する。
サブルーチンの交換要求が発生すると、当該サブルーチ
ンに対応する交換要求フラグ20又は21がセットされ
、これと同時に呼出関係テーブル1を参照して当該サブ
ルーチンを呼出す可能性の有るタスクを調査し、走行中
のタスクに対応するタスク終了待ちフラグ30.31が
セットされる。
その後、タスクによる当該サブルーチンの呼出しでは、
タスク終了待ちフラグ30.31がセットされていない
タスクからの呼出しは全てステ・ンプ■に移行して待機
処理を行うことにより待ち状態となる。タスク終了待ち
フラグ30.31がセットされているタスクが終了した
場合には、そのタスク終了待ちフラグ30.31がリセ
ットされ、その時点で全てのタスク終了待ちフラグ30
.31がリセットされていればサブルーチン本体を実行
しているタスクは存在しないため、サブルーチンの交換
を行うことができる。このサブルーチンの交換後に、タ
スク終了待ちフラグ30.31がリセットされているタ
スクの待ち状態を解除して交換後のサブルーチンの先頭
に分岐させて、サブルーチンの実行を開始する。
このように、上記第1実施例においては、サブルーチン
の交換要求発生時に、該当するサブルーチンに対して走
行中のタスクがあるときには、これが終了するまで、他
のタスクを待ち状態とし、走行中のタスクが終了してタ
スク待ちフラグがリセットされたときに、該当するサブ
ルーチンを交換してから、タスクの待ち状態を解除して
サブルーチンの実行を開始させるようにしたので、オン
ライン状態でプログラムの動作を保証しながらサブルー
チンの交換を行うことができる。
なお、上記第1実施例においては、サブルーチン交換要
求発生時に、走行中のタスクが有る時にはそのタスクが
終了してからサブルーチンの交換を行うようにした場合
について説明したか、これに限定されるものではなく、
前記第4図のサブルーチン制御処理におけるステップ■
の待機処理をサブルーチンを実行中のタスクを異常終了
させる呼出元タスクの異常終了処理に変更することによ
り、強制的に走行中のタスクを終了させて、サブルーチ
ンの交換を行うようにしてもよく、この場合にはサブル
ーチンの交換を迅速に行うことができる。
次に、この発明の第2実施例を第5図について説明する
この第2実施例は、計算機システムは、タスクT、及び
T2が夫々独立したアドレス空間AI及びAzを有し、
夫々のタスクプログラム41及び42は、個々のアドレ
ス空間A、及びA2に独立して存在するように構成され
ていると共に、共有サブルーチンS1及びS2は、夫々
のサブルーチンの実体50.51及び52が、アドレス
空間A。
及びAtに共通のマツピング領域M、、、M!、及びM
l!2M!!に格納された仮想空間方式が採用されてい
る。
そして、夫々のマツピング領域M 、 、 = M、□
に対して個々のタスクが走行開始後これが終了するまで
の間にそのサブルーチンのマツピングをアクセス(走行
)したか否かを識別する呼出判別手段としてのアクセス
フラグF II+  F I□及びFzl、Ft□が設
けられている。ここで、第5図の例では、タスクT、が
走行開始後、サブルーチンS2のマツピング領域M!I
のみをアクセスし、タスクTzがサブルーチンSIのマ
ツピング領域M1□のみをアクセスしたときのアクセス
フラグF II+  F 12及びFtl、  Fz□
の状態を示し、アクセスフラグFzI及びF’+zが“
1”にセットされ、他のアクセスフラグF、及びF、が
“0′にリセットされている。
そして、計算機システムは、サブルーチンの交換要求が
発生したときに、第6図に示すマツピング処理を実行す
る。
すなわち、ステップ■でアクセスフラグFll〜FtZ
を参照して、該当するサブルーチンのマツピングに対す
る走行中のタスクの有無を認識し、アクセスフラグF目
〜F!2が“0”にリセットされているときにはステッ
プ@に移行してそのままサブルーチンの交換処理を行い
、“1”にセットされているときにはステップ@に移行
して該当するタスクが停止するまで待機し、タスクが停
止してからステップ@に移行する。
ここで、第6図の処理がマツピング手段に対応している
次に、上記第2実施例の動作を説明する。
今、タスクT、がサブルーチンS2のみをアクセスし、
タスクT2がサブルーチンS1のみをアクセスしている
ものとする。この状態で、サブルーチンS、の実体50
をサブルーチンSIの実体52に交換する要求が出た場
合、タスクT1はアクセスフラグF I+の内容からタ
スク走行開始後サブルーチンSIのマツピング領域MI
Iを走行していないことを判別することができるので、
サブルーチンS、のマツピング領域M11をサブルーチ
ンS1の実体50からサブルーチンsIの実体52に即
座に切換えてサブルーチンSIの交換を行う。
一方、タスクT2では、アクセスフラグFI2の内容に
よりタスク走行開始後サブルーチンS、のマツピング領
域MIzを走行していることを判別することができ、サ
ブルーチンの実体5oがらサブルーチンS1の実体52
への切換をタスク終了時まで遅らせることになる。
したかって、この第2実施例によっても、交換要求が発
生したサブルーチンについて走行中のタスクが存在する
場合には、その停止後にサブルーチンの実体の交換を行
い、走行中のタスクが存在しない場合には即座にサブル
ーチンの実体の交換を行うので、オンライン状態でプロ
グラムの動作の保証を確保しながら交換を高速に行うこ
とができる。
〔発明の効果〕
以上説明したように、請求項(1)に係る計算機システ
ムの共有サブルーチン交換方式によれば、特定のサブル
ーチンの交換要求が発生した時に、呼出判別手段で該当
するサブルーチンを走行中のタスクの有無を判別し、走
行中のタスクが存在する場合には、サブルーチン管理手
段で、走行中のタスクが終了するか又は走行中のタスク
を異常終了させてからサブルーチンの交換を行うまでの
間他のタスクによる該当サブルーチンの使用を遅延又は
禁止するようにしたので、交換要求が発生したサブルー
チンを何ら支障を生じることなくオンライン状態で交換
することができ、プログラム動作の保証を確保しながら
サブルーチンの交換を高速に行うことができる効果が得
られる。
また、請求項(2)に係る計算機システムの共有サブル
ーチン交換方式によれば、仮想空間方式によりタスク単
位に個別のプログラムを同一のサブルーチンとしてマツ
ピングし、特定のサブルーチンの交換要求発生時に、マ
ツピング手段により、呼出判別手段で該当するサブルー
チンに対して走行中のタスクが存在することを認識した
ときには、当該タスクの停止後に交換するプログラムの
実体を該当サブルーチンとしてマツピッグし、走行中の
タスクが存在しないことを認識したときには、即座に交
換するプログラムの実体を該当サブルーチンとしてマツ
ピングするようにしているので、前述した請求項(1)
の場合と同様に、交換要求が発生したサブルーチンの交
換を何ら支障を生じることな(オンライン状態で行うこ
とができ、プログラムの動作の保証を確保しながらサブ
ルーチンの交換をオフラインで行う場合に比較して高速
で行うことができる効果が得られる。
【図面の簡単な説明】
第1図はこの発明の第1実施例における呼出関係テーブ
ルを示す説明図、第2図及び第3図は夫々交換要求フラ
グ及びタスク終了待ちフラグを示す説明図、第4図はサ
ブルーチン交換処理を示すフローチャート、第5図はこ
の発明の第2実施例のアドレス空間を示す説明図、第6
図はサブルーチン交換処理を示すフローチャートである
。 図中、lは呼出関係テーブル、20.21は交換要求フ
ラグ、30.31はタスク終了待ちフラグ、A、、A、
はアドレス空間、41.42はタスクプログラム、50
〜52はサブルーチンの実体、M 1 、 % M z
□はサブルーチンのマツピング領域、F、1〜F2□は
アクセスフラグである。

Claims (2)

    【特許請求の範囲】
  1. (1)複数のタスクでサブルーチンを共有する機構を備
    えた計算機システムにおいて、何れのサブルーチンがど
    のタスクから呼出されるかを判別する呼出判別手段と、
    任意のタスクがサブルーチンを呼出した時に、その入口
    で処理を遅延させるか又は呼出しタスクを異常終了させ
    るサブルーチン交換管理手段とを備え、特定のサブルー
    チンの交換要求発生時に前記呼出判別手段により走行中
    のタスクの内、該当するサブルーチンを呼出す可能性の
    あるタスクを識別し、走行中のタスクが存在する場合に
    は、前記サブルーチン交換管理手段により、走行中のタ
    スクが終了するか又は走行中のタスクを異常終了させて
    からサブルーチンの交換を行うまでの間他のタスクによ
    る該当サブルーチンの使用を遅延又は禁止するようにし
    たことを特徴とする計算機システムの共有サブルーチン
    交換方式。
  2. (2)複数のタスクでサブルーチンを共有する機構を備
    えた計算機システムにおいて、仮想空間方式によりタス
    ク単位に個別のプログラムを同一のサブルーチンとして
    マッピングするマッピング手段と、走行中のタスクに対
    して何れのタスクがどのサブルーチンを既に呼出したか
    否かを判別する呼出判別手段とを備え、特定のサブルー
    チンの交換要求発生時に、前記マッピング手段で、前記
    呼出判別手段で該当するサブルーチンを走行中のタスク
    が存在することを認識したときには、当該タスクの停止
    後に交換するプログラムの実体を該当サブルーチンとし
    てマッピッグし、走行中のタスクが存在しないことを認
    識したときは即座に交換するプログラムの実体を該当サ
    ブルーチンとしてマッピングするようにしたことを特徴
    とする計算機システムの共有サブルーチン交換方式。
JP14765790A 1990-06-06 1990-06-06 計算機システムの共有サブルーチン交換方式 Pending JPH0439739A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14765790A JPH0439739A (ja) 1990-06-06 1990-06-06 計算機システムの共有サブルーチン交換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14765790A JPH0439739A (ja) 1990-06-06 1990-06-06 計算機システムの共有サブルーチン交換方式

Publications (1)

Publication Number Publication Date
JPH0439739A true JPH0439739A (ja) 1992-02-10

Family

ID=15435315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14765790A Pending JPH0439739A (ja) 1990-06-06 1990-06-06 計算機システムの共有サブルーチン交換方式

Country Status (1)

Country Link
JP (1) JPH0439739A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015527676A (ja) * 2012-09-12 2015-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パッチングのための方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015527676A (ja) * 2012-09-12 2015-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パッチングのための方法および装置
US10241813B2 (en) 2012-09-12 2019-03-26 International Business Machines Corporation Method and apparatus for patching

Similar Documents

Publication Publication Date Title
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
EP0365728B1 (en) Resource access for a multiprocessing computer system
JPS63310051A (ja) プログラム入出力命令を含む入出力プロセスの実行方法および装置
JPH0468461A (ja) 資源管理方式
KR930009633B1 (ko) 데이타 처리장치의 인터럽트 처리방법
JP2690435B2 (ja) 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム
JPH0439739A (ja) 計算機システムの共有サブルーチン交換方式
US20020120809A1 (en) Computer, method of controlling computer, and recording medium onto which method of controlling is recorded
US5136710A (en) Dynamic inactivation of program exits of the application program while the system program is running
GB1495729A (en) Apparatus and method for handling exceptions in a data processing system
KR100506254B1 (ko) 임베디드 시스템의 비특권 모드에서 인터럽트 처리를 위한장치 및 방법
JPS594743B2 (ja) マルチプロセツサシステムノセイギヨホウシキ
JPH03116261A (ja) マルチプロセッサ制御方式
JPH0478933A (ja) 仮想プロセッサによるプログラム処理方式
JPH1153327A (ja) マルチプロセッサシステム
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置
WO1988007720A1 (en) Dynamically assignable shared register sets
JPH03154130A (ja) タスクスイッチング方式
JPH02183342A (ja) 割込み制御装置
JPH04205231A (ja) プログラム実行制御方式
JPS62217326A (ja) 複数os格納切替可能コンピユ−タ
JPH03164966A (ja) 情報処理システム
JPH0375959A (ja) マルチプロセッサのデータ転送装置
JPH064323A (ja) マルチプロセッサシステム
JPH02244371A (ja) マルチプロセツサシステムの排他制御方法