JPH0261728A - プログラム間の共有データ処理方式 - Google Patents

プログラム間の共有データ処理方式

Info

Publication number
JPH0261728A
JPH0261728A JP21326288A JP21326288A JPH0261728A JP H0261728 A JPH0261728 A JP H0261728A JP 21326288 A JP21326288 A JP 21326288A JP 21326288 A JP21326288 A JP 21326288A JP H0261728 A JPH0261728 A JP H0261728A
Authority
JP
Japan
Prior art keywords
data
shared data
program
programs
shared
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
JP21326288A
Other languages
English (en)
Inventor
Daisuke Akita
大介 秋田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP21326288A priority Critical patent/JPH0261728A/ja
Publication of JPH0261728A publication Critical patent/JPH0261728A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータにおけるプログラム処理に利用さ
れる。
本発明は、コンピュータにおける並列に動作するプログ
ラム間の共有データの処理方式に関し、特に、共有デー
タへの複数プログラムのアクセスによって処理結果が期
待に反し矛盾をおこすことを防ぐ、プログラム間の共有
データ処理方式に関する。
〔概要〕
本発明は、並列に動作する複数のプログラムが共有デー
タをアクセスして処理を行う、プログラム間の共有デー
タ処理方式において、 前記プログラムによる前記共有データへのアクセスを、
前記共有データを唯一アクセス可能な共通データアクセ
スプログラムを介して行うようにすることにより、 いつでも、共有データを矛盾することなく正しく処理で
きるようにしたものである。
〔従来の技術〕
第3図は従来のプログラム間の共有データ処理方式の一
例を示すブロック構成図である。プログラムXllおよ
びY21がそれぞれ格納された二つのプログラム部10
および20と、プログラムXllおよびY21にそれぞ
れデータを渡すとともにプログラムXllおよびY21
をそれぞれ起動するデータバッファ30および40と、
共有データA51が格納された共有記憶領域50とを備
えている。
ここで、プログラムXllおよびプログラムY21は、
第4図に示すように、それぞれ処理11−1〜113お
よび処理21−1〜21−3を含んでおり、共有データ
A51をプログラムXllおよびY21の双方からアク
セス可能で、それぞれ共有データA51を用いて処理が
行われていた。
〔発明が解決しようとする問題点〕
前述した従来のプログラム間の共有データ処理方式では
、共有データA51をプログラムXllとプログラムY
21との間で、排他的に変化させることを考慮に入れて
ないために、期待に反した処理結果を生ずることがある
例えば、第4図に示すように、共有データA51を数値
データで値を100とし、プログラムXll上の処理1
1−2を「X固有の記憶領域上でデータを2増加させる
」、プログラムXll上の処理21−2を「Y固有の記
憶領域上でデータを3増加させる」とおきかえてみる。
このとき、プログラムXllとプログラムY21とがと
もに終了したときに期待される処理結果は、共有データ
A51が105になることである。
しかし、まずプログラムXllの処理11−1および1
1−2が実行され、次にプログラムY21の処理21−
1.21−2および21−3が実行され、最後にプログ
ラムX11の処理11−3が実行されると、最終的に共
有データA51に与えられる値は102 となる。
なぜなら、プログラムXllが一番最初に共有データA
51の内容100を読み込み、プログラムXllが一番
最後に共有データA51に2増加させた値102を書き
込んでしまうからである。この処理結果は始めに期待さ
れた結果とは異なるものである。
すなわち、従来のプログラム間の共有データ処理方式は
、共有データを矛盾することなく正しく処理できない場
合が発生する欠点があった。
本発明の目的は、前記の欠点を除去することにより、い
つでも共有データを矛盾することなく正しく処理できる
、プログラム間の共有データ処理方式を提供することに
ある。
〔問題点を解決するための手段〕
本発明は、プログラムがそれぞれ格納された複数のプロ
グラム部と、前記プログラムにそれぞれデータを渡すと
ともに前記プログラムをそれぞれ起動させる複数の第一
のデータ入力手段と、各プログラムの共有データが格納
された共有記憶手段とを備えたプログラム間の共有デー
タ処理方式において、前記共有データをアクセスする共
有データアクセスプログラムが格納された共有データプ
ログラム部と、複数の前記プログラムからデータを渡さ
れそのデータを渡された順に前記共有データアクセスプ
ログラムに渡すとともに前記共有データアクセスプログ
ラムを起動させる第二のデータ入力手段とを備えたこと
を特徴とする。
〔作用〕
共有データプログラム部は、共有データを唯一アクセス
可能な共通データアクセスプログラムを格納し共有デー
タへのアクセス制御を行う。第二のデータ入力手段例え
ばデータバッファは、複数のプログラムからデータを渡
され、前記共有データアクセスプログラムにデータを渡
す。この場合、前記データバッファは先に渡されたデー
タから順次に処理を行う。
従って、複数のプログラムからの共有データへのアクセ
スは、前記データバッファにデータが渡された順に処理
完了を待って次のプログラムからのアクセスが行われる
ことになり、各プログラムは特別な処理を施すことなく
、いつでも、共有デ−夕を矛盾することなく正しく処理
することが可能となる。
〔実施例〕
以下、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例を示すブロック構成図である
本実施例はプログラムXllおよびY21がそれぞれ格
納された二つのプログラム部10および20と、プログ
ラムXllおよびY21にそれぞれデータを渡すととも
にプログラムXllおよびY21をそれぞれ起動させる
二つの第一のデータ入力手段としてのデータバッファ3
0および40と、各プログラムの共有データA51が格
納された共有記憶手段としての共有記憶領域50とを備
えたプログラム間の共有データ処理方式において、 共有データA51をアクセスする共有データアクセスプ
ログラム61が格納された共有データプログラム部60
と、二つのプログラムXllおよびY21からデータを
渡されそのデータを渡された順に共有データアクセスプ
ログラム61に渡すとともに共有データアクセスプログ
ラム61を起動させる第二のデータ入力手段としてのデ
ータバッファ70とを備えている。
ここで、データバッファ30.40および70は各プロ
グラム11.21および61をそれぞれ起動させる契機
となるデータを一時的に保存する。すなわち、データバ
ッファ30.40および70が空の状態で、ここにデー
タが渡されると、各プログラム11.21および61が
起動するとともにデータが各プログラム11.21およ
び61で処理される。また、各プログラム11.21フ
よび61が起動中に新たなデータがデータバッファ30
.40および70に渡された場合それらは消えずに残り
、プログラム11.21および61が処理終了するまで
待ち合わせ、プログラムIL 21よび61を再起動さ
せることにより、新たなデータが処理される。このよう
にデータバッファ30.40および70に渡されたデー
タは、その渡された順番に各プログラム11.21およ
び61で処理され、しがもある瞬間に各プログラム11
.21および61が処理できるデータの件数は最高−件
ずつである。
本発明の特徴は、第1図において、共有データアクセス
プログラム61が格納された共有データプログラム60
と、データバッファ70とを設けたことにある。
次に、本実施例の動作について第2図に示す説明図を参
照して説明する。
第2図において、プログラムXllおよびY21は、そ
れぞれ第4図におけるプログラムXllおよびY21に
相当し、処理11−2が処理11−21に、処理21−
2が処理2l−2aに置き換えられたものである。すな
わち、この二つのプログラムX11およびY21が一回
ずつ終了したときに期待される処理結果は、共有データ
A51が105になることである。
いま、プログラムXllとプログラムY21とがほぼ同
時に起動したものと仮定して処理を追ってみる。処理1
1−21では、共有データA51を2増加して欲しいと
いった意味を持つデータ(以下、これを電文Xという。
)をデータバッファ70に送る。
ただし処理1l−2a 自身では共有データA51をア
クセスしていない。
一方、プログラムY21では、処理2l−2aにより共
有データA51を3増加して欲しいといった意味をもつ
データ(以下、これを電文Yという。)データバッファ
70へ送る。やはり処理2l−2a自身では共有データ
A51をアクセスしてはいない。
データバッファ70には、プログラムXllおよびプロ
グラムY21からの二つの電文Xと電文Yとが送られて
くる。はぼ同時にプログラムXllとプログラムY21
とが起動したので、どちらの電文が先に送られてくるか
はわからないが、仮に電文Xが先にデータバッファ70
に送られ、次に電文Yがデータバッファ70に送られた
ものとする。
まず、最初に送られた電文Xにより、共有データアクセ
スプログラム61は処理61−1により電文Xの内容を
解析し、共有データA51の値を2増加させ102にす
る。この共有データアクセスプログラム61が起動中に
新たな電文Yがデータバッファ70に送られてきたとし
ても、それはデータバッファ70内に消えずに残り、先
の電文Xによる処理が緒了するまで待ちあわせる。すな
わち共有データA51の値が100から102に変わる
まで電文Yは処理されない。
電文Xによる処理がすべて終了すると、次に電文Yによ
る処理が共有データアクセスプログラム61を再起動す
るたとにより実行される。すなわち、それは共有データ
A51の値を102から105にする。
さらに、共有データアクセスプログラム61上の処理6
1〜2により、得られた結果(例えば共有データ上51
の値等)をデータとしてデータバッファ30および40
へ送ることにより、プログラムXllおよびプログラム
Y21へ共有記憶領域50上の内容を通知することも可
能である。
〔発明の効果〕
以上説明したように、本発明は、複数の並列に実行され
るプログラムにおいて、それらプログラムの共有データ
に唯一アクセスできるプログラムと、そのプログラムを
起動する契機となるデータを蓄積するためのデータバッ
ファを用いることにより、その共有データをいつも矛盾
なく正しく処理できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック構成図。 第2図はその動作を示す説明図。 第3図はその従来例を示すブロック構成図。 第4図はその動作を示す説明図。 10.20・・・プログラム部、11・・・プログラム
X、11−1.11−2.1l−2a 、 11−3.
21−1.21−2.2l−2a 、 21−3.61
−1.61−2・・・処理、30.40.70・・・デ
ータバッファ、50・・・共有記憶領域、51・・・共
有データA、60・・・共有データプログラム部、61
・・・共有データアクセスプログラム。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムがそれぞれ格納された複数のプログラム
    部と、 前記プログラムにそれぞれデータを渡すとともに前記プ
    ログラムをそれぞれ起動させる複数の第一のデータ入力
    手段と、 各プログラムの共有データが格納された共有記憶手段と を備えたプログラム間の共有データ処理方式において、 前記共有データをアクセスする共有データアクセスプロ
    グラムが格納された共有データプログラム部と、 複数の前記プログラムからデータを渡されそのデータを
    渡された順に前記共有データアクセスプログラムに渡す
    とともに前記共有データアクセスプログラムを起動させ
    る第二のデータ入力手段とを備えたことを特徴とするプ
    ログラム間の共有データ処理方式。
JP21326288A 1988-08-26 1988-08-26 プログラム間の共有データ処理方式 Pending JPH0261728A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21326288A JPH0261728A (ja) 1988-08-26 1988-08-26 プログラム間の共有データ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21326288A JPH0261728A (ja) 1988-08-26 1988-08-26 プログラム間の共有データ処理方式

Publications (1)

Publication Number Publication Date
JPH0261728A true JPH0261728A (ja) 1990-03-01

Family

ID=16636184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21326288A Pending JPH0261728A (ja) 1988-08-26 1988-08-26 プログラム間の共有データ処理方式

Country Status (1)

Country Link
JP (1) JPH0261728A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284978A (ja) * 1999-03-25 2000-10-13 Internatl Business Mach Corp <Ibm> 共用資源を非同期的に更新するためのインターフェース・システムおよび方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284978A (ja) * 1999-03-25 2000-10-13 Internatl Business Mach Corp <Ibm> 共用資源を非同期的に更新するためのインターフェース・システムおよび方法

Similar Documents

Publication Publication Date Title
JPH0570177B2 (ja)
JPH0340868B2 (ja)
JPH0261728A (ja) プログラム間の共有データ処理方式
JPH04153764A (ja) 分散cpuの処理高速化方式
JPH02128249A (ja) 記憶制御方式
CN114465984B (zh) 基于传输路径的地址分配方法、系统、设备和计算机可读存储介质
JP2000305751A (ja) 並列ソート装置及び該装置のプログラムを記録した記録媒体
JPH0448348A (ja) 分散更新処理方式
JP2787107B2 (ja) バッファ制御方式及び装置
JPH04139545A (ja) データベース更新処理方式
JPH06119188A (ja) タスク管理方式
JPH03290741A (ja) エラーロギング方法
JP2757755B2 (ja) メモリアドレス空間拡張装置
JPH03241442A (ja) ストアバッファ制御方式
JPH0511328B2 (ja)
JPS63108448A (ja) 入出力要求制御方式
JPH01253036A (ja) メッセージ・パッシング管理方式
JPH047757A (ja) データ管理制御方式
JPS60178547A (ja) デ−タ処理方式
JPH0685841A (ja) 通信制御装置
JPH03152630A (ja) タスクコンテキストのロード方式
JPH0237417A (ja) 電子計算機システムの取引記録出力制御方式
JPH0194469A (ja) 並列処理方式
JPH06161785A (ja) モジュール間通信装置
JPS63155346A (ja) Ramチエツク方式