JPH07107666B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JPH07107666B2
JPH07107666B2 JP61187418A JP18741886A JPH07107666B2 JP H07107666 B2 JPH07107666 B2 JP H07107666B2 JP 61187418 A JP61187418 A JP 61187418A JP 18741886 A JP18741886 A JP 18741886A JP H07107666 B2 JPH07107666 B2 JP H07107666B2
Authority
JP
Japan
Prior art keywords
program
task
area
processing
loaded
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 - Lifetime
Application number
JP61187418A
Other languages
English (en)
Other versions
JPS6344239A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61187418A priority Critical patent/JPH07107666B2/ja
Publication of JPS6344239A publication Critical patent/JPS6344239A/ja
Publication of JPH07107666B2 publication Critical patent/JPH07107666B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 計算機システムにおける、トランジェントプログラムの
ロード領域の利用効率を改善するようにした計算機シス
テムである。
ロードすべきプログラムに、動的にリンクするプログラ
ムの呼出があるか検査し、動的リンクプログラムを持つ
プログラムの場合は、両プログラムの静的結合を完了し
てロードする。
この方式により、動的リンクによって主部と分離してロ
ードされたプログラムが、主部の消滅後も他のプログラ
ムの使用のために残されることにより、ロード領域が細
分化される状況の発生が防止され、領域の利用効率を改
善できる。
〔産業上の利用分野〕 本発明は、プログラムのロード制御を改善した計算機シ
ステムに関する。
計算機システムのプログラムにおいて、実行形式になっ
ているプログラムに、なお解決されていない名前が残さ
れていて、そのプログラムから他のプログラムを呼び出
すとき、呼び出されるプログラムと結合して、はじめて
解決処理が行われるようにする場合があり、公知のよう
に動的リンク(ダイナミックリンク)と呼ばれる。
動的リンクを利用すると、呼出元と呼出先のプログラム
間のインタフェース条件さえ確定しておけば、両プログ
ラムの開発及び保守における独立性を高く保つことがで
きる。
〔従来の技術〕
第2図は、計算機システムの一構成例を示すブロック図
である。
処理装置1は主記憶装置2にロードされているプログラ
ムを実行することにより、各種の処理及び制御を行う。
外部記憶装置3は、プログラム及びデータを格納し、処
理装置1で実行される管理プログラムが、所要のプログ
ラム、データを外部記憶装置3から主記憶装置2へロー
ドして、実行中のプログラムからのアクセスを可能にす
る。
図において、4は端末装置その他の周辺装置であり、処
理装置1で実行される適当なプログラムによる制御の下
に、実行中のプログラムと情報を授受することができ
る。
公知のように、主記憶装置2にロードされ、実行される
プログラムは、例えばタスクと呼ばれる単位で管理さ
れ、複数のタスクがある場合に、処理装置1は所要の状
態にあるタスクのうちの1つを選んで、そのプログラム
を実行する。
通常の処理では、複数のタスクがあっても、各タスクご
とに単独の論理的な記憶空間を占めて、相互に全く関係
の無い処理を実行する場合が多いが、いわゆるリアルタ
イム処理等のシステムでは、例えば各周辺装置4から非
同期に発生する複数の事象に対応する処理を行うよう
に、1記憶空間内に複数のタスクが設けられる場合が多
い。
そのような場合に、ある事象に対応する処理のために、
必要時にその処理の終了までの間設置される、いわゆる
トランジェントタスクには、それらのプログラムをロー
ドする一定の記憶領域を共通に設ける。
タスクが発生すると、そのタスクに必要な領域を共通領
域から分割して割り当て、そのタスクが終了すれば割り
当てていた領域を、他のタスクに割当可能な空き領域と
して管理する。
〔発明が解決しようとする問題点〕
第3図(a)の10は、前記のトランジェントタスクをロ
ードするために主記憶装置2に設けられる共通領域を示
す。
タスクAを生成したとき、管理プログラムはそのタスク
の主プログラムAを分割領域11にロードする。
タスクAがその実行中に、動的リンクプログラム(プロ
グラムBとする)を呼ぶ場合には、例えばスーパバイザ
コール命令(SVC命令)を実行して、管理プログラムの
サービスを要求する。
SVC命令のパラメータによって指定されるプログラムB
が、いわゆる再入可能なプログラムの場合には、該当の
管理プログラムは、プログラムBが既に共通領域10にロ
ードされているかを、別に保持する制御情報によって識
別する。
ロードされていない場合には、外部記憶装置3からプロ
グラムBを読み出して、例えば分割領域12にロードし、
その制御情報部と呼出元の主プログラムA内の未解決の
名前リストとを参照して、未解決の名前のアドレス値を
決定する、いわゆる動的リンク処理をすることによっ
て、呼出元プログラムからアクセス可能にする。
次に他のタスクCを生成して主プログラムCを分割領域
13にロードし、タスクDを生成して主プログラムDを分
割領域14にロードするというように、順次領域を分割し
て割り当てる。
その後、例えばタスクDからプログラムBとの動的リン
ク要求ができると、既に分割領域12にロードされている
ので、管理プログラムは分割領域12のプログラムBと分
割領域14の主プログラムDとをリンクするように処理す
る。
このような状態で、タスクA及びタスクCが実行を終わ
ったとすると、分割領域11、13は空き領域になるが、分
割領域12のプログラムBは、タスクDで使用されている
ので、使用中状態のまゝに残される。
この状態で、例えば分割領域11より若干大きなプログラ
ムをロードする必要のあるタスクが発生すると、分割領
域11、12、15を合計した空き領域の量は十分大きいにも
関わらず、プログラムをロードできる大きさの空き領域
が無いという、いわゆる空き領域の細分化の状態とな
る。
以上の例のようにして、空き領域を細分化した分割領域
12のプログラムBを使用するタスクが次々に発生するよ
うな状況は、リアルタイム処理のシステムではしばしば
起こり、その結果細分化の状態がいつまでも解消されな
くなる。
そのために、従来はそのような状況による使用効率の低
下を考慮して、十分余裕のある大きさの共通領域を設け
ておくか、プログラムロードを遅延して、サービスを悪
化させなければならないという問題があった。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示す処理の流れ図である。
図は、トランジェントタスクの生成において、プログラ
ムをロードする管理プログラムの処理を示し、20、21は
ロードするプログラムが動的リンクプログラムの呼出を
含むことを検出する処理ステップ、22は動的リンクプロ
グラムを結合する処理ステップ、23は結合したプログラ
ムを共通領域にロードする処理ステップである。
〔作用〕
タスクを発生する管理プログラムは、従来のようにして
タスクを生成し、その主プログラムのロードに際し、処
理ステップ20で主プログラムを読み込んで、処理ステッ
プ21でその未解決名前リストを参照して、動的リンクプ
ログラムの呼出を含むか判定する。
動的リンクプログラムの呼出がある場合には、処理ステ
ップ22でそのプログラムを読み込み、主プログラムと結
合してリンクを完成し、且つ元の主プログラムにある動
的リンクの要求を、無効化するように修正する。
処理ステップ23で、結合したプログラムを共通領域に一
体としてロードする。
従って、このタスクの処理が終了した場合には、動的リ
ンクプログラム部分を含む、結合されたプログラムに割
り当てられていた領域が空き領域とされ、領域の細分化
を生じない。
〔実施例〕
タスクを発生する管理プログラムは、従来のようにして
タスクを生成する。
生成したタスクの主プログラムのロードに際し、第1図
の処理ステップ20で主プログラムを第2図の外部記憶装
置3から主記憶装置2の作業領域に読み込む。
処理ステップ21で、主プログラムの未解決名前リストを
参照して、呼出先プログラム名を探索することにより、
動的リンクプログラムの呼出を含むか判定する。
動的リンクプログラムの呼出を含まない場合には、処理
ステップ24において、従来と同様に共通領域から所要の
大きさの空き領域を分割して主プログラムをロードし、
処理を終わる。
動的リンクプログラムの呼出がある場合には、処理ステ
ップ22でそのプログラムを読み込み、主プログラムの未
解決の名前のアドレス値を決定し、又動的リンクプログ
ラム呼出のSVC命令を、例えば無効命令に変更する等の
処理をして、両プログラムを一体に結合したプログラム
を生成し、結合したプログラムを処理ステップ23で共通
領域にロードする。
例えば第3図(b)に示すように、前記の(a)の例に
対応する場合に、タスクAはタスク生成時に分割領域30
にプログラムAとプログラムBを結合してロードされ
る。
次に、タスクCのプログラムは従来と同様に、分割領域
31にロードされるが、タスクDの生成では、プログラム
DがプログラムBに対する動的リンクプログラム呼出を
含むので、プログラムDとプログラムBを結合して分割
領域32にロードされることになる。
その後、タスクAが終了すれば、分割領域30が空き領域
となり、タスクCが終了したときは、分割領域30、31を
連続した空き領域として使用することができる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、計算
機システムにおける、トランジェントプログラムのロー
ド領域の利用効率が改善されるので、システムの経済性
及び処理効率を向上するという著しい工業的効果があ
る。
【図面の簡単な説明】
第1図は本発明の構成を示す処理の流れ図、 第2図は計算機システムの一構成例ブロック図、 第3図は共通領域の使用状態の説明図 である。 図において、 1は処理装置、2は主記憶装置、3は外部記憶装置、4
は周辺装置、10は共通領域、11〜14、30〜32は分割領
域、20〜24は処理ステップ を示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】外部記憶装置に保持されるプログラムを、
    主記憶装置にロードして実行する計算機システムにおい
    て、 該ロードされる第1のプログラムが、第1のプログラム
    の実行中に発行する動的結合要求によって当該要求発行
    時に結合されるべき第2のプログラムを有することを検
    出する手段(20、21)と、 第2のプログラムを有することを、該検出手段が検出し
    たことにより、第1のプログラムと第2のプログラムと
    の結合を完成し、第1のプログラムの該動的結合要求を
    無効化してなる第3のプログラムを生成する手段(22)
    と、 第3のプログラムをロードする手段(23)を有すること
    を特徴とする計算機システム。
JP61187418A 1986-08-08 1986-08-08 計算機システム Expired - Lifetime JPH07107666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61187418A JPH07107666B2 (ja) 1986-08-08 1986-08-08 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61187418A JPH07107666B2 (ja) 1986-08-08 1986-08-08 計算機システム

Publications (2)

Publication Number Publication Date
JPS6344239A JPS6344239A (ja) 1988-02-25
JPH07107666B2 true JPH07107666B2 (ja) 1995-11-15

Family

ID=16205698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61187418A Expired - Lifetime JPH07107666B2 (ja) 1986-08-08 1986-08-08 計算機システム

Country Status (1)

Country Link
JP (1) JPH07107666B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61157952A (ja) * 1984-12-28 1986-07-17 Matsushita Electric Ind Co Ltd システム起動方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江村潤朗「オペレーティング・システムへの構造的アプローチ(上巻)」10版(昭56−5−25)日本コンピュータ協会P.191−198

Also Published As

Publication number Publication date
JPS6344239A (ja) 1988-02-25

Similar Documents

Publication Publication Date Title
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
JP3113841B2 (ja) 並列トランザクション処理システム
US4851992A (en) Register/saving/restoring system for saving and restoring data in a register of a slave processor
US6292843B1 (en) Quick loading of run time dynamic link library for OS/2
EP0373790A2 (en) Data processing apparatus for saving and restoring
JPH0736529A (ja) 数値制御装置の制御ソフトウェア実行システム
JPH07107666B2 (ja) 計算機システム
EP0417916B1 (en) Procedure state descriptor system for digital data processors
US6032173A (en) Synchronization of a computer system having a plurality of processors
JPH05108380A (ja) データ処理システム
JP2693916B2 (ja) タスクスケジュール方法
KR100294314B1 (ko) 데이터처리시스템및방법과그런시스템과의통신시스템
JPH0512100A (ja) セルの管理方法及びセル管理テーブル
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
JPH03194641A (ja) アプリケーションプログラム共用方式
JPH0421028A (ja) レジスタ管理方法
JPH04217032A (ja) アドレス空間割り付け方式
JPH09330232A (ja) 動的記憶域割り付け方式
JPH11161506A (ja) 情報処理装置のディスパッチ方法、情報処理装置及びその記録媒体
JPH0619858A (ja) 共有資源自動返却方式
JPH0830466A (ja) マルチタスク切り換え制御方法
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPH06222933A (ja) 計算機システム
JPH02282832A (ja) タスクのメモリ保護方式
JP2000315162A (ja) 制御ブロック処理装置及び制御ブロック処理プログラムを記録したコンピュータ読み取り可能な記録媒体