JPS62163148A - 共通領域参照制御方式 - Google Patents

共通領域参照制御方式

Info

Publication number
JPS62163148A
JPS62163148A JP531886A JP531886A JPS62163148A JP S62163148 A JPS62163148 A JP S62163148A JP 531886 A JP531886 A JP 531886A JP 531886 A JP531886 A JP 531886A JP S62163148 A JPS62163148 A JP S62163148A
Authority
JP
Japan
Prior art keywords
task
common area
program
area
array
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
JP531886A
Other languages
English (en)
Other versions
JP2516915B2 (ja
Inventor
Hiroaki Masuda
博明 増田
Yoshio Inoue
善雄 井上
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 JP61005318A priority Critical patent/JP2516915B2/ja
Publication of JPS62163148A publication Critical patent/JPS62163148A/ja
Application granted granted Critical
Publication of JP2516915B2 publication Critical patent/JP2516915B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 共通領域を参照する複数タスクのある、マルチタスクの
環境のプログラムをFORTRAN等で記述可能にする
ための制御方式。共通領域を持つタスクが子タスクを起
動するとき、その領域アドレスを通知できるようにし、
子タスクでは目領域内に基点アドレスを持ち共通領域を
含む配列を仮定して、目領域内の配列データのようにし
て共通領域の参照を指定する。この方式により、FOR
TRAN等の通常の配列参照機能により、他プログラム
にある共通領域の参照を記述できるようになる。
〔産業上の利用分野〕
本発明は、計算機システムにおける、共通領域を参照す
る複数タスクによる、マルチタスク環境で実行するプロ
グラムを、FORTRANプログラミング言語等で記述
することを可能にするための制御方式に関する。
公知のように、いわゆるオンライン処理システム等にお
いては、関連する処理を複数のいわゆるタスクで分担し
、それら複数のタスクを並行に実行させることが一般に
行われる。
こ\でタスクとは、公知のようにシステムの管理プログ
ラムの制御下で、それぞれ所定のプログラムを実行する
ために起動され、実行待ち又は実行中の状態にある各対
象を指す語として使用される。
そのようなシステムが科学技術分野の処理を行うシステ
ムの場合には、FORTRAN等の科学技術分野向は高
級プログラミング言語を使用して、プログラムを作成す
ることが望まれる。
〔従来の技術と発明が解決しようとする問題点〕第3図
は、処理を分担する2タスクが起動されている状態を、
記憶領域上の構成によって説明する図である。
図で、1は最初に起動される親タスク、2は親タスク1
のプログラム実行により、適当な方法で親タスク1から
起動される子タスクとする。
各タスクは、例えばそれぞれのプログラム領域3又は4
、及びデータ領域5又は6を有し、公知のようにシステ
ムの制御プログラムの実行によって、制御を渡されたと
き、それぞれのプログラム領域3又はプログラム領域4
のプログラムを実行する。
子タスク2は、親タスク1の処理を分担しているので、
しばしば親タスク1との間にデータを授受する必要が生
じる。
このために、例えば親タスク1のデータ領域5内に、両
タスクの共通領域7を設ける。
各タスクは基本的に、それぞれ個別に完結した独立のプ
ログラムとして作成され、それぞれ自身の領域のみを参
照するようにされる。
しかし、共通領域7のような領域については、例えばア
センブラ言語によってプログラムを記述する場合には、
他プログラムの領域を、予め両プログラム間で取り決め
た、いわゆるラベルによって表されるアドレス名により
、例えばその領域の先頭アドレスを指定することができ
、又該先頭アドレスからの相対変位アドレスを直接指定
することができるので、他プログラムにある必要な領域
の参照は自由に指定することができる。
しかし、例えばFORTRANプログラミング言語のよ
うないわゆる高級言語では、公知のように、通常そのよ
うなマルチタスク構成をサポートすることを考慮してい
ないので、前記のように他プログラムの領域をラベル等
によって指定する機能は無い。
又、計算機の構成に依存しない、抽象化したプログラム
空間の利点を第1に考慮しているので、他プログラムは
もとより、自プログラム領域内についても、領域内の相
対アドレスを直接に数値で指定することはできない。
このために、FORTRAN言語TR上って作成するプ
ログラム(以下においてFORTRANプログラムとい
う)において、前記のような共通領域を設け、これを他
のFORTl?ANプログラムから参照する場合には、
そのような領域の定義および参照を含む処理部分につい
ては、例えばアセンブラ言語によって作成して、本体の
FORTRANプログラムに結合しなければならないの
で、プログラミングに両言語の知識を必要とし、プログ
ラム開発の生産性を阻害するという問題がある。
〔問題点を解決するための手段〕
第1図は、本発明の処理の流れ図である。
図において、10〜16は処理ステップを示し、処理ス
テップ10.11.12は親タスクから子タスクへ共通
領域のアドレス値を通知する処理ステップ、処理ステッ
プ13.14.15は子タスク内に基点アドレスをとり
共通領域を含む配列を設定して、共通領域を配列要素と
した場合の添字値を算出する処理ステップ、処理ステッ
プ16は配列として該共通領域を参照する処理ステップ
である。
〔作 用〕
第1のタスクである親タスクは、共通領域を配列として
持っており、処理ステップlOにおいて、アドレス設定
ルーチンを呼ぶことにより、配列の先頭アドレスを指定
の変数値として設定する。
処理ステップ11において、該変数値をパラメータの1
つに指定して、子タスク起動ルーチンを呼ぶことにより
、第2のタスクである子タスクを起動する。
子タスクでは、処理ステップ12でパラメータ取り出し
ルーチンを呼び、親タスクからの起動パラメータを指定
の変数に設定することにより、親タスクの共通領域のア
ドレス値を所定の第1の変数値として受は取る。
処理ステップ13でアドレス設定ルーチンを呼び、所要
の配列の先頭アドレスを基点アドレスとする第2の変数
値として設定する。
処理ステップ14で第1と第2の変数値として設定され
ているアドレス値の差を求め、処理ステップ15でその
アドレス差から、共通領域を指すべき配列の添字値を算
出する。
処理ステップ16においζ、配列の求めた添字値で指定
される要素にアクセスする方法で共通領域を参照する。
以上により、他プログラムの共通領域を参照するプログ
ラムを、FORTRANプログラム等において直接記述
することができるようになる。
〔実施例〕
第2図は記憶領域上のタスクの構成を説明する図であり
、20は第1のタスクである親タスク、21は第2のタ
スクである子タスクを示す。
親タスク20にはプログラム領域22、データ領域23
があり、データ領域23内に共通領域24がとられ、親
タスクのプログラムにおいて、共通領域24は配列Pと
して宣言されている。
子タスク21にはプログラム領域25、データ領域26
があり、子タスクのプログラムにおいては、データ領域
26内に、後述のようにして構成する共通領域24を含
む配列の基点27とするための配列Qが宣言されている
第1図において、処理ステップ10.11は親タスク2
0のプログラムのステップであり、処理ステップ12〜
16は子タスク21のプログラムのステップであるもの
とする。
親タスク20は、処理ステップ10において、例えばF
ORTRAN言語における、公知のrCALLJ機能に
より、アドレス設定ルーチンを呼ぶことにより、共通領
域24である配列Pの先頭アドレスを指定の変数PAO
値として設定する。
アドレス設定ルーチンは、別途作成されるサブルーチン
プログラムであって、前記CALLで指定する配列の先
頭の記憶アドレスの値を、CALLで指定する変数に設
定する機能を持つものである。
処理ステップ11において、変数PAの値をパラメータ
の1つに指定して、CALLにより子タスク起動ルーチ
ンを呼ぶことにより、子タスク21を起動する。
前記と同様のサブルーチンである、子タスク起動ルーチ
ンは、公知のようにCALLで指定するプログラムを実
行する子タスクを起動し、同じ< CALL時に指定し
た変数の値を、いわゆる起動パラメータとして子タスク
の領域に渡す機能を有する。
子タスク21では、処理ステップ12でパラメータ取り
出しルーチンを呼び、親タスク20からの起動パラメー
タを指定の各変数に設定する。こ\で、前記親タスク2
0の変数PAの値を、例えば変数TTOPを指定して受
は取ることにより、共通領域24の先頭の記憶アドレス
値が変数TTOPの値として設定されることになる。
処理ステップ13では、親タスク20の場合と同じサブ
ルーチンのアドレス設定ルーチンを呼び、基点アドレス
として使用するために、配列Qの先頭の記憶アドレスを
変数HAに設定する。
処理ステップ14で変数TTOPの値から変数QAの値
を引いて差Nを求める。差Nは第2図に示すように、記
憶領域上における配列Qの先頭から配列Pの先頭までの
距離を示すアドレス差である。
処理ステップ15では、配列Qが基点27を先頭アドレ
スとする、第2図に点線で囲むような仮想の配列28で
あるとした場合の、配列Pの先頭に位置する配列要素の
添字値を、上記の距離を使って算出する。
即ち、この計算機システムが例えばバイトアトレスを使
用する構成のシステムであるとし、配列P、Qを、例え
ば4バイト語の大きさの要素からなる配列として宣言し
であるものとすると、バイトアドレスで表現されるアド
レス差Nから、添字値Mは、M=N/4+1により決定
する。
処理ステップ16において、添字値Mを使用して配列Q
の第M要素のデータQ (M)を参照することにより、
共通領域24の先頭の4バイトにアクセスする。言うま
でもなく、Mをベースとして添字値を増加させることに
より、共通領域24である配列Pの任意の語にアクセス
することができる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、計算
機システムの、他プログラムにある共通領域を参照する
プログラムを、FORTRAN言語TR上って直接記述
することができるので、オンライン処理プログラム等を
FORTRANプログラム等で作成することが容易にな
り、プログラム開発の効率を向上するという著しい工業
的効果がある。
【図面の簡単な説明】
第1図は本発明の処理の流れ図、 第2図は本発明のタスクの構成を説明する図、第3図は
従来のタスクの構成を説明する図である。 図において、 1.20は親タスク、   2.21は子タスク、3.
4.22.25はプログラム領域、5.6.23.26
はデータ領域、 7.24は共通領域、  10〜16は処理ステップ、
27は基点、      28は仮想の配列第1図 本発明のタスクの構成を説明する図 第2図 従来のタスクの構成を説明する図 第3図

Claims (1)

  1. 【特許請求の範囲】 計算機システムのプログラムを実行する複数のタスク間
    で共用する共通領域の参照において、該共通領域を所有
    する第1のタスクが、該共通領域を参照する第2のタス
    クを起動する場合に、第1のタスクから第2のタスクへ
    、該共通領域のアドレスを通知し(10、11、12)
    、 第2のタスクは、該タスクの所有する領域に基点を有し
    、該通知されたアドレスの領域を含む配列を設定し(1
    3、14、15)、 第2のタスクから該配列の要素データを参照する(16
    )ことによって、該共通領域を参照するように構成され
    ていることを特徴とする共通領域参照制御方式。
JP61005318A 1986-01-14 1986-01-14 共通領域参照制御方法 Expired - Lifetime JP2516915B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61005318A JP2516915B2 (ja) 1986-01-14 1986-01-14 共通領域参照制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61005318A JP2516915B2 (ja) 1986-01-14 1986-01-14 共通領域参照制御方法

Publications (2)

Publication Number Publication Date
JPS62163148A true JPS62163148A (ja) 1987-07-18
JP2516915B2 JP2516915B2 (ja) 1996-07-24

Family

ID=11607905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61005318A Expired - Lifetime JP2516915B2 (ja) 1986-01-14 1986-01-14 共通領域参照制御方法

Country Status (1)

Country Link
JP (1) JP2516915B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256640A (ja) * 1988-05-20 1990-02-26 Internatl Business Mach Corp <Ibm> 共通ブロックへのアクセス競合軽減方法
JPH0267638A (ja) * 1988-09-01 1990-03-07 Meidensha Corp プログラミング言語のデータ処理方式
JPH02158840A (ja) * 1988-12-12 1990-06-19 Fujitsu Ltd タスク間通信用メッセージ領域制御方式
JPH02234234A (ja) * 1989-03-08 1990-09-17 Fujitsu Ltd データ処理装置
JPH07129416A (ja) * 1993-10-29 1995-05-19 Nec Corp プロセス間通信方法および装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS541540A (en) * 1977-06-07 1979-01-08 Kobashi Kogyo Kk Tractor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS541540A (en) * 1977-06-07 1979-01-08 Kobashi Kogyo Kk Tractor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256640A (ja) * 1988-05-20 1990-02-26 Internatl Business Mach Corp <Ibm> 共通ブロックへのアクセス競合軽減方法
JPH0267638A (ja) * 1988-09-01 1990-03-07 Meidensha Corp プログラミング言語のデータ処理方式
JPH02158840A (ja) * 1988-12-12 1990-06-19 Fujitsu Ltd タスク間通信用メッセージ領域制御方式
JPH02234234A (ja) * 1989-03-08 1990-09-17 Fujitsu Ltd データ処理装置
JPH07129416A (ja) * 1993-10-29 1995-05-19 Nec Corp プロセス間通信方法および装置

Also Published As

Publication number Publication date
JP2516915B2 (ja) 1996-07-24

Similar Documents

Publication Publication Date Title
JPS61177566A (ja) 高級プログラム言語で書かれた適用業務プログラムを多重プロセツサ・デ−タ処理システムで実行する方法
JPH0131214B2 (ja)
JPH0687222B2 (ja) アプリケーションとデータベース管理システム間の相互通信システム及び方法
JPH0283627A (ja) インタプリタ
JPH0544054B2 (ja)
CA1304513C (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
EP0284364A3 (en) High speed computer system
JPS62163148A (ja) 共通領域参照制御方式
JPH02242434A (ja) タスクのスケジューリング方法
CA1302580C (en) Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPH0656581B2 (ja) オブジェクト指向プログラミング方式
JPS6342293B2 (ja)
JPS62168497A (ja) 交換処理プログラムにおけるデ−タベ−ス処理方式
JP2553526B2 (ja) マルチタスク処理装置
JP3304445B2 (ja) プログラム生成処理装置
JP3022398B2 (ja) 仮想計算機方式
JPH1153327A (ja) マルチプロセッサシステム
JPS62293372A (ja) マスタスレ−ブプロセツサ
JPS63168762A (ja) マルチプロセツサ起動装置
JPS61121153A (ja) プロセツサ間通信制御方式
JPS63221453A (ja) マルチプロセツサ環境に於けるフアイル管理システム
KR960024999A (ko) 칠(chill) 시뮬레이션 환경에서의 프로세스간 통신 방법
JPS61103245A (ja) 機械語命令体系の拡張方式
JPH0337719A (ja) マスタフアイルの主記憶装置展開方式
JPH03105571A (ja) 図面マスタファイル制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term