JPH03255533A - プログラミング言語処理システムにおけるシンボル管理方式 - Google Patents
プログラミング言語処理システムにおけるシンボル管理方式Info
- Publication number
- JPH03255533A JPH03255533A JP5440590A JP5440590A JPH03255533A JP H03255533 A JPH03255533 A JP H03255533A JP 5440590 A JP5440590 A JP 5440590A JP 5440590 A JP5440590 A JP 5440590A JP H03255533 A JPH03255533 A JP H03255533A
- Authority
- JP
- Japan
- Prior art keywords
- symbol
- information
- symbol table
- global
- processes
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
計算機において、マルチプロセス環境下で、任意のプロ
グラミング言語で書かれた各ソースプログラム中の印字
名を数字に変換するプログラミング言語処理システムに
おけるシンボル管理方式に関し マルチプロセス環境下で、実行時のシンボル管理のため
の共有メモリの使用量を軽減し、またシンボル処理のた
めの排他制御を少なくするシンボル管理方式を提供する
ことを目的とし。
グラミング言語で書かれた各ソースプログラム中の印字
名を数字に変換するプログラミング言語処理システムに
おけるシンボル管理方式に関し マルチプロセス環境下で、実行時のシンボル管理のため
の共有メモリの使用量を軽減し、またシンボル処理のた
めの排他制御を少なくするシンボル管理方式を提供する
ことを目的とし。
印字名と数字との対を登録するシンボルテーブルを、全
プロセスが使用できるグローバル・シンポルテーブルと
、各プロセスが個別に使用できるプロセス固有のローカ
ル・シンボルテーブルとに分けてもち、プロセス起動時
に、ソースプログラムをコンパイルする際印字名と数字
との対をプロセス固有のローカル・シンボルテーブルに
g!録するとともに、他のプロセスと共用される大域的
なシンボルと数字との対はグローバル・シンボルテーブ
ルに登録して排他制御するように構成した。
プロセスが使用できるグローバル・シンポルテーブルと
、各プロセスが個別に使用できるプロセス固有のローカ
ル・シンボルテーブルとに分けてもち、プロセス起動時
に、ソースプログラムをコンパイルする際印字名と数字
との対をプロセス固有のローカル・シンボルテーブルに
g!録するとともに、他のプロセスと共用される大域的
なシンボルと数字との対はグローバル・シンボルテーブ
ルに登録して排他制御するように構成した。
本発明は、計算機において、マルチプロセス環境下で、
任意のプロゲラξング言語で書かれた各ソースプログラ
ム中の印字名を数字に変換するプログラミング言語処理
システムにおけるシンボル管理方式に関する。
任意のプロゲラξング言語で書かれた各ソースプログラ
ム中の印字名を数字に変換するプログラミング言語処理
システムにおけるシンボル管理方式に関する。
コンパイラなどのプログラミング言語処理システム(以
下、処理システムという)では、ソースプログラムを計
算機が実行可能なオブジェクト形式にコンパイルする。
下、処理システムという)では、ソースプログラムを計
算機が実行可能なオブジェクト形式にコンパイルする。
このオブジェクト形式の情報を、ここでは実行情報とい
う。
う。
計算機は、実行情報によりプログラムを実行する。処理
システムは、?II数のプログラムを同時に処理するマ
ルチプロセス環境下において、各種のプロゲラ逅ング言
語で書かれたソースプログラムの実行情報をひとまとま
りとして管理する(以下。
システムは、?II数のプログラムを同時に処理するマ
ルチプロセス環境下において、各種のプロゲラ逅ング言
語で書かれたソースプログラムの実行情報をひとまとま
りとして管理する(以下。
情報のまとまりをライブラリという)。
処理システム上では、実行情報を格納するファイルスペ
ース量の軽減、及び、プログラムの実行時の実行速度の
向上のため、ソースプログラム中で各情報に付与されて
いる印字名(以下、シンボルという)に−意に異なる数
字(以下、アトムidという)を割り当て、数字形式で
表現しておく。
ース量の軽減、及び、プログラムの実行時の実行速度の
向上のため、ソースプログラム中で各情報に付与されて
いる印字名(以下、シンボルという)に−意に異なる数
字(以下、アトムidという)を割り当て、数字形式で
表現しておく。
この割り当ては、シンボルテーブルにシンボルとアトム
idの対応を登録することによって行う。
idの対応を登録することによって行う。
この時、同時に複数のプログラムが実行できるように、
同一のライブラリ上では、シンボルとアトムidとは1
対lに対応している。ここでは、シンボルとアトムid
の情報をシンボル情報という。
同一のライブラリ上では、シンボルとアトムidとは1
対lに対応している。ここでは、シンボルとアトムid
の情報をシンボル情報という。
従来、シンボル情報はすべてファイル(以下。
シンボルファイルという)に格納された。そして。
プログラムの実行時にシンボル情報は、主記憶上に表の
形式(以下、シンボルテーブルという)で管理される。
形式(以下、シンボルテーブルという)で管理される。
シンボル情報はファイルに保持され。
処理系システムの起動時に、このファイルからシステム
情報を主記憶上に展開し、シンボルテーブルを作成する
。
情報を主記憶上に展開し、シンボルテーブルを作成する
。
シンボルに対する処理では、このシンボルテーブルを使
ってシンボルからそのシンボルに割り当てられているア
トムidを検索し、あるいはアトL i dからシンボ
ルを検索することによって、シンボルとアトムidとの
間の変換を行う。
ってシンボルからそのシンボルに割り当てられているア
トムidを検索し、あるいはアトL i dからシンボ
ルを検索することによって、シンボルとアトムidとの
間の変換を行う。
マルチプロセス環境下では、シンボルテーブルは、全プ
ロセスが利用できる主記憶上の共有メモリ領域(以下、
共有メモリという)に置かれ、全プロセスがこのシンボ
ルテーブルを用いてシンボルファイルに保持しているシ
ンボル情報を管理している。
ロセスが利用できる主記憶上の共有メモリ領域(以下、
共有メモリという)に置かれ、全プロセスがこのシンボ
ルテーブルを用いてシンボルファイルに保持しているシ
ンボル情報を管理している。
ところでこの場合、複数のプロセスが同時に共有メモリ
上のシンボルテーブルやシンボルファイルの情報を変え
てしまうと、情報の更新に混乱が生し、信憑性が失われ
てしまう、このため、従来は共有メモリ上のシンボルテ
ーブルやシンボルファイルに対する処理が複数のプロセ
スから同時に行われないよう、排他制御を行っている。
上のシンボルテーブルやシンボルファイルの情報を変え
てしまうと、情報の更新に混乱が生し、信憑性が失われ
てしまう、このため、従来は共有メモリ上のシンボルテ
ーブルやシンボルファイルに対する処理が複数のプロセ
スから同時に行われないよう、排他制御を行っている。
排他制御とは、前のプロセスの処理が終わるまでは後か
らシンボルテーブルやシンボルファイルに対して処理し
ようとしたプロセスの実行を遅らせることである。
らシンボルテーブルやシンボルファイルに対して処理し
ようとしたプロセスの実行を遅らせることである。
例えば、第6図のように、プロセスのがシンボル「ab
C」に新しくアトム1dr50Jのシンボル情報を書き
込もうとする。またプロセス■が。
C」に新しくアトム1dr50Jのシンボル情報を書き
込もうとする。またプロセス■が。
シンボルrxyzJに新しくアトム1dr60Jを割り
当てて、シンボルテーブルとシンボルファイルにシンボ
ルrxyzJとアトム1dr60Jのシンボル情報を書
き込もうとする。
当てて、シンボルテーブルとシンボルファイルにシンボ
ルrxyzJとアトム1dr60Jのシンボル情報を書
き込もうとする。
今、シンボルテーブルへの情報の追加はAの位置から使
用でき、シンボルファイルへの情報の追加はBの位置か
ら使用できる状態にある。このような状態の時に、プロ
セス■とプロセス■が同時にシンボルの情報を追加しよ
うとすると、シンボルテーブルとシンボルファイルの情
報が壊れてしまう。このような場合には、プロセス■の
処理が終わるまでプロセス■の処理を待たせるか、また
は、プロセス■の処理が終わるまでプロセス■の処理を
遅らせる排他制御が必要になる。
用でき、シンボルファイルへの情報の追加はBの位置か
ら使用できる状態にある。このような状態の時に、プロ
セス■とプロセス■が同時にシンボルの情報を追加しよ
うとすると、シンボルテーブルとシンボルファイルの情
報が壊れてしまう。このような場合には、プロセス■の
処理が終わるまでプロセス■の処理を待たせるか、また
は、プロセス■の処理が終わるまでプロセス■の処理を
遅らせる排他制御が必要になる。
マルチプロセスを実現しているシステムでは。
共有メモリは他の情報のためにも使用され、また各プロ
セスが主記憶上にとれるメモリに比べて共有メモリは少
ないことから、共有メモリの使用量の軽減が望まれる。
セスが主記憶上にとれるメモリに比べて共有メモリは少
ないことから、共有メモリの使用量の軽減が望まれる。
しかし、実行情報が大量になるに伴い、処理系システム
のシンボル情報が大きくなり、シンボル管理のためにた
くさんの共有メモリを使うことになってしまう。また、
シンボルテーブルとシンボルファイルへの処理が複数の
プロセスから同時に行われた時、シンボルテーブルとシ
ンボルファイルに対して排他制御が行われ。
のシンボル情報が大きくなり、シンボル管理のためにた
くさんの共有メモリを使うことになってしまう。また、
シンボルテーブルとシンボルファイルへの処理が複数の
プロセスから同時に行われた時、シンボルテーブルとシ
ンボルファイルに対して排他制御が行われ。
後からシンボルテーブルに対して処理しようとしたプロ
セスの処理が遅延してしまうという不都合があった。
セスの処理が遅延してしまうという不都合があった。
本発明は3マルチプロセス環境下で、実行時のシンボル
管理のための共有メモリの使用量を軽減し、またシンボ
ル処理のための排他制御を少なくするシンボル管理方式
を提供することを目的としている。
管理のための共有メモリの使用量を軽減し、またシンボ
ル処理のための排他制御を少なくするシンボル管理方式
を提供することを目的としている。
本発明は、各プロセスのソースプログラムに含まれてい
る印字名(シンボル)がプログラム名のように各プロセ
スにより大域的に用いられるものと1個々のプロセスに
固有のものとに分かれ、前者の大域的な印字が全体に占
める割り合いは比較的小さいことに着目して、これら大
域的印字名とプロセス固有の印字名とをそれぞれグロー
バル・シンボルテーブルとローカル・シンボルテーブル
とに分けて管理し、ローカル・シンボルテーブルはプロ
セスごとにその、プロセス固定メモリ領域に置いて対応
する1つのプロセスにのみアクセスを許し、他方、グロ
ーバル・シンボルテーブルは全プロセスの共有メモリ領
域に置いて、アクセスしようとするプロセスに対して、
排他制御を行い一時に1つのプロセスにのみアクセスを
許すようにするものである。
る印字名(シンボル)がプログラム名のように各プロセ
スにより大域的に用いられるものと1個々のプロセスに
固有のものとに分かれ、前者の大域的な印字が全体に占
める割り合いは比較的小さいことに着目して、これら大
域的印字名とプロセス固有の印字名とをそれぞれグロー
バル・シンボルテーブルとローカル・シンボルテーブル
とに分けて管理し、ローカル・シンボルテーブルはプロ
セスごとにその、プロセス固定メモリ領域に置いて対応
する1つのプロセスにのみアクセスを許し、他方、グロ
ーバル・シンボルテーブルは全プロセスの共有メモリ領
域に置いて、アクセスしようとするプロセスに対して、
排他制御を行い一時に1つのプロセスにのみアクセスを
許すようにするものである。
第1図は9本発明の原理説明図である。
図において
1は、マルチプロセス管理部であり、マルチプロセスの
環境を実現し1個々のプロセスの起動終了と、それに伴
うメモリ領域等の資源の獲得。
環境を実現し1個々のプロセスの起動終了と、それに伴
うメモリ領域等の資源の獲得。
解放などの処理を行う。
2−1ないし2−nは、起動された複数のプロセスであ
り、それぞれプログラム実行時に印字名と数字との間の
変換を行うシンボル処理を行う。
り、それぞれプログラム実行時に印字名と数字との間の
変換を行うシンボル処理を行う。
3は主記憶である。
4−1ないし4−nは、それぞれプロセス2−1ないし
2−nが獲得しているプロセス固有メモリ領域である。
2−nが獲得しているプロセス固有メモリ領域である。
5−1ないし5−nは、それぞれローカル・シンボルテ
ーブルであり、プロセス2−1ないし2−nがソースプ
ログラムのコンパイル時にプロセス固有の印字名と数字
の対を登録する。
ーブルであり、プロセス2−1ないし2−nがソースプ
ログラムのコンパイル時にプロセス固有の印字名と数字
の対を登録する。
6は、各プロセス2−1ないし2−nが共通にアクセス
できる共有メモリ領域である。
できる共有メモリ領域である。
7は、グローバル・シンボルテーブルであり各プロセス
2−1ないし2−nにより使用可能な大域的な印字名と
数字の対を登録する。この印字名と数字の対は、プロセ
ス間で一意に生成される。
2−1ないし2−nにより使用可能な大域的な印字名と
数字の対を登録する。この印字名と数字の対は、プロセ
ス間で一意に生成される。
8は、グローバル・シンボルテーブル排他制御部であり
、プロセス2−1ないし2−nからグローバル・シンボ
ルテーブル7へのアクセスについて競合を調整し5アク
セスを許可した1つのプロセス以外によるテーブルへの
アクセスを禁止する排他制御を行う。
、プロセス2−1ないし2−nからグローバル・シンボ
ルテーブル7へのアクセスについて競合を調整し5アク
セスを許可した1つのプロセス以外によるテーブルへの
アクセスを禁止する排他制御を行う。
9は、各プロセス2−1ないし2−nで言語処理システ
ムを起動し、ソースプログラムをコンパイルして生成し
た実行情報をまとめて管理するライブラリであり、各プ
ロセスでのコンパイルの際ローカル・シンボルテーブル
に登録されたシンポル情報が対応する実行情報と一緒に
保持される。
ムを起動し、ソースプログラムをコンパイルして生成し
た実行情報をまとめて管理するライブラリであり、各プ
ロセスでのコンパイルの際ローカル・シンボルテーブル
に登録されたシンポル情報が対応する実行情報と一緒に
保持される。
10は、シンボルファイルであり、言語処理システムの
処理終了時にグローバル・シンボルテーブルに登録され
ているシンボル情報を格納し9次に言語処理システムが
起動されたとき読み出して。
処理終了時にグローバル・シンボルテーブルに登録され
ているシンボル情報を格納し9次に言語処理システムが
起動されたとき読み出して。
共有メモリ領域6にグローバル・シンボルテーブル7が
作成される。
作成される。
(作 用〕
本発明では
■共有メモリ領域にプロセス間で一意に決まる印字芯と
数字の対を登録したグローバル・シンボルテーブルを、
またプロセス固有メモリ領域にプロセス固有の印字芯と
数字の対を登録したローカル・シンボルテーブルを、2
種類もつ。
数字の対を登録したグローバル・シンボルテーブルを、
またプロセス固有メモリ領域にプロセス固有の印字芯と
数字の対を登録したローカル・シンボルテーブルを、2
種類もつ。
■ソースプログラムをコンパイルする時に、ソースプロ
グラム内の印字芯はローカル・シンボルテーブルに登録
し、実行情報とともにライブラリに保持する。
グラム内の印字芯はローカル・シンボルテーブルに登録
し、実行情報とともにライブラリに保持する。
■のグローバル・シンボルテーブルに印字芯と数字の対
からなるシンボル情報を登録することによって、全プロ
セスで統一されたシンボル情報を得ることが可能である
。グローバル・シンボルテーブルに登録する必要がある
のは、言語処理システム上で大域的に数字を割り当てる
必要のある印字芯であり2例えば、ソースプログラム名
などである。
からなるシンボル情報を登録することによって、全プロ
セスで統一されたシンボル情報を得ることが可能である
。グローバル・シンボルテーブルに登録する必要がある
のは、言語処理システム上で大域的に数字を割り当てる
必要のある印字芯であり2例えば、ソースプログラム名
などである。
ソースプログラム名をグローバル・シンボルテーブルに
登録することによって、どのプログラムの実行情報をラ
イブラリからロードすればよいかを決めることができ、
そのプログラムを実行することができる。
登録することによって、どのプログラムの実行情報をラ
イブラリからロードすればよいかを決めることができ、
そのプログラムを実行することができる。
グローバル・シンボルテーブルに登録されたシンボル情
報はシンボルファイルに保持しておき新たに言語処理シ
ステムが起動されたときに、シンボルファイルからシン
ボル情報を読み出し、共有メモリ領域上にグローバル・
シンボルテーブルを作成する。それ以外のシンボルの登
録はローカル・シンボルテーブルに対してのみ行う。
報はシンボルファイルに保持しておき新たに言語処理シ
ステムが起動されたときに、シンボルファイルからシン
ボル情報を読み出し、共有メモリ領域上にグローバル・
シンボルテーブルを作成する。それ以外のシンボルの登
録はローカル・シンボルテーブルに対してのみ行う。
ローカル・シンボルテーブルは、プロセスごとに固有の
メモリ領域上に保持して使用される。このため9共有メ
モリの使用量を軽減することが可能である。また、自プ
ロセスのみが自分のローカル・シンボルテーブルに対し
て処理するので、他のプロセスのシンボルの処理には無
関係で排他制御をする必要がない。
メモリ領域上に保持して使用される。このため9共有メ
モリの使用量を軽減することが可能である。また、自プ
ロセスのみが自分のローカル・シンボルテーブルに対し
て処理するので、他のプロセスのシンボルの処理には無
関係で排他制御をする必要がない。
■で、コンパイルしたプログラムを実行する時。
そのプログラムの実行情報をメモリにロードするととも
に、プログラム情報内のシンボル情報と■のローカル・
シンボルテーブルのシンボル情報と一致をとる。
に、プログラム情報内のシンボル情報と■のローカル・
シンボルテーブルのシンボル情報と一致をとる。
以下に本発明の詳細な説明する。
第2図は1本発明実施例におけるプロセスのシンボル管
理機能の説明図であり、第1図と対応的に示しである。
理機能の説明図であり、第1図と対応的に示しである。
1例としてプロセス2−1のシンボル管理機能について
説明する。
説明する。
主記憶3上の共有メモリ領域6にグローバル・シンボル
テーブル7をもつ。
テーブル7をもつ。
このグローバル・シンボルテーブル7では、言語処理シ
ステムの起動時に、シンボルファイル10に保持されて
いるシンボル(印字芯)と、アトムid(数字)の情報
に基づいて共有メモリ領域6上に作られる。
ステムの起動時に、シンボルファイル10に保持されて
いるシンボル(印字芯)と、アトムid(数字)の情報
に基づいて共有メモリ領域6上に作られる。
また各プロセス(2−1)は、起動後にプロセス固有メ
モリ領域(4−1)上にローカル・シンボルテーブル(
5−1)を作る。シンボル管理機能は、グローバル・シ
ンボルテーブル7とプロセス2−1のローカル・シンボ
ルテーブル5−1とを利用してシンボル管理を行う。
モリ領域(4−1)上にローカル・シンボルテーブル(
5−1)を作る。シンボル管理機能は、グローバル・シ
ンボルテーブル7とプロセス2−1のローカル・シンボ
ルテーブル5−1とを利用してシンボル管理を行う。
第3図にシンボル管理の処理の流れを示す。
プロセスにおいて言語処理システムが実行されるとき、
シンボルとともにグローバル・シンボルテーブルでシン
ボルを処理するかどうかの情報がシンボル管理機能に与
えられる(■)。
シンボルとともにグローバル・シンボルテーブルでシン
ボルを処理するかどうかの情報がシンボル管理機能に与
えられる(■)。
グローバル・シンボルテーブルに対して処Iする場合(
■)、シンボル管理機能はグローバル・シンボルテーブ
ルとシンボルファイルに対する処理が終わるまで、グロ
ーバル・シンボルテーブルとシンボルファイルに対する
他プロセスからの処理を排他する(■)。この後、グロ
ーバル・シンボルテーブルとシンボルファイルへの処理
を行う(■)。そして他プロセスの処理を排他していた
状態を終わりにする(■)。
■)、シンボル管理機能はグローバル・シンボルテーブ
ルとシンボルファイルに対する処理が終わるまで、グロ
ーバル・シンボルテーブルとシンボルファイルに対する
他プロセスからの処理を排他する(■)。この後、グロ
ーバル・シンボルテーブルとシンボルファイルへの処理
を行う(■)。そして他プロセスの処理を排他していた
状態を終わりにする(■)。
一方、ローカル・シンボルテーブルに対して処理を行う
場合は(■)。他プロセスを排他した状態にせず、ロー
カル・シンボルテーブルに対する処理を行う(■)。
場合は(■)。他プロセスを排他した状態にせず、ロー
カル・シンボルテーブルに対する処理を行う(■)。
グローバル・シンボルテーブルやシンボルファイルに対
して処理が必要な大域的なシンボルの数は 他のプロセ
ス固有のシンボルに比べて少ないので、グローバル・シ
ンボルテーブルのための共有メモリ領域の使用量は少な
くなり、処理■〜■が頻繁には起こらないので、シンボ
ル管理による排他制御が大きく軽減される。
して処理が必要な大域的なシンボルの数は 他のプロセ
ス固有のシンボルに比べて少ないので、グローバル・シ
ンボルテーブルのための共有メモリ領域の使用量は少な
くなり、処理■〜■が頻繁には起こらないので、シンボ
ル管理による排他制御が大きく軽減される。
第4図は、ソースプログラムのコンパイル時のシンボル
処理の流れを示す。
処理の流れを示す。
プロセス2−1の処理の中では、ソースプログラム(■
)からプログラム情報を作ることをコンパイル機能(■
)に依頼する(■)。
)からプログラム情報を作ることをコンパイル機能(■
)に依頼する(■)。
コンパイル機能は、実行情報(■)を作成するとともに
、ソースプログラム中のシンボルをシンボル管理機能(
■)に依頼して、シンボルにアトムidを割り当てても
らう(■)、この時、大域的なシンボルであるプログラ
ム名はグローバル・シンボルテーブルにシンボル登録し
く■)、他のシンボルは、プロセス2−1のローカル・
シンボルテーブルにシンボル登録を行つ(■)。
、ソースプログラム中のシンボルをシンボル管理機能(
■)に依頼して、シンボルにアトムidを割り当てても
らう(■)、この時、大域的なシンボルであるプログラ
ム名はグローバル・シンボルテーブルにシンボル登録し
く■)、他のシンボルは、プロセス2−1のローカル・
シンボルテーブルにシンボル登録を行つ(■)。
コンパイル機能は、実行情報とシンボル情報(■)の2
つを保持するプログラム情報(@)をライブラリ (■
)上に保持する。
つを保持するプログラム情報(@)をライブラリ (■
)上に保持する。
第5図は、実行情報の主記憶上へのローディング時のシ
ンボル情報の処理の流れを示す。
ンボル情報の処理の流れを示す。
プロセス2−1の処理の中でプログラムAの実行があっ
た時(■)、プログラム実行機能(■)は プログラム
名Aからグローバル・シンボルテーブル上でシンボル「
A」に割り当てられているアトムidが何かを、シンボ
ル管理機能に問い合わせる(■)。
た時(■)、プログラム実行機能(■)は プログラム
名Aからグローバル・シンボルテーブル上でシンボル「
A」に割り当てられているアトムidが何かを、シンボ
ル管理機能に問い合わせる(■)。
シンボル管理機能は(■)、グローバル・シンボルテー
ブルから(■)、シンボルAと対になったアトム1d2
00を読み出し、プログラム実行機能に答える。
ブルから(■)、シンボルAと対になったアトム1d2
00を読み出し、プログラム実行機能に答える。
プログラム実行機能は、アトム1d200からライブラ
リ(■)上の200のプログラム情報をロードするよう
に、ロード機能(■)に依頼する。
リ(■)上の200のプログラム情報をロードするよう
に、ロード機能(■)に依頼する。
ロード機能は、アトム1d200からライブラリ上のプ
ログラム情報を、プロセス2−1のメモリ(■)上にロ
ードする。
ログラム情報を、プロセス2−1のメモリ(■)上にロ
ードする。
この時ロード機能は、実行情報([相])内のアトムi
dの250を実行情報とともに保持しているシンボル情
報(■)からシンボルrrst」に見つけ シンボルr
rst」に対してプロセス2−1のローカル・シンボル
テーブル(@)上で割り当てられているアトムidをシ
ンボル管理機能に問い合わせ、アトムidの150を得
る。
dの250を実行情報とともに保持しているシンボル情
報(■)からシンボルrrst」に見つけ シンボルr
rst」に対してプロセス2−1のローカル・シンボル
テーブル(@)上で割り当てられているアトムidをシ
ンボル管理機能に問い合わせ、アトムidの150を得
る。
ロード機能は、実行情報をプロセス2−1の固有メモリ
領域に展開する時に、アトムidの250を150に変
更する(■)。
領域に展開する時に、アトムidの250を150に変
更する(■)。
プログラム実行機能は、ロード機能によってプロセス2
−1の固有メモリ領域上にロードしてきた実行情報をも
とにプログラムを実行する([相])。
−1の固有メモリ領域上にロードしてきた実行情報をも
とにプログラムを実行する([相])。
〔発明の効果〕
本発明によれば、マルチプロセス環境下でのプログラミ
ング言語処理系において、シンボル管理のために使用す
る共有メモリの大きさの軽減とシンボル処理のための排
他制御を少なくすることができる。
ング言語処理系において、シンボル管理のために使用す
る共有メモリの大きさの軽減とシンボル処理のための排
他制御を少なくすることができる。
第1図は本発明の原理説明図、第2図は本発明実施例に
おけるシンボル管理機能の説明図、第3図はシンボル管
理機能の処理の流れ図、第4図はソースプログラムコン
パイル時のシンボル処理の説明図、第5図は実行情報ロ
ーディング時のシンボル情報の処理の説明図、第6図は
複数のプロセスによるシンボル処理競合の説明図である
。 第1図中。 1 1:マルチプロセス管理部 2−1〜2−n:プロセス 3:主記憶 4−1〜4−n:プロセス固有メモリ領域5−1〜5−
n:ローカル・シンボルテーブル6:共有メモリ領域 7:グローバル・シンボルテーブル 8ニゲローバル・シンボルテーブル排他制御部9ニライ
ブラリ 0ニシンボルフアイル
おけるシンボル管理機能の説明図、第3図はシンボル管
理機能の処理の流れ図、第4図はソースプログラムコン
パイル時のシンボル処理の説明図、第5図は実行情報ロ
ーディング時のシンボル情報の処理の説明図、第6図は
複数のプロセスによるシンボル処理競合の説明図である
。 第1図中。 1 1:マルチプロセス管理部 2−1〜2−n:プロセス 3:主記憶 4−1〜4−n:プロセス固有メモリ領域5−1〜5−
n:ローカル・シンボルテーブル6:共有メモリ領域 7:グローバル・シンボルテーブル 8ニゲローバル・シンボルテーブル排他制御部9ニライ
ブラリ 0ニシンボルフアイル
Claims (1)
- 【特許請求の範囲】 マルチプロセス環境下で、任意のプログラミング言語で
書かれたソースプログラム中の印字名を数字に変換して
処理するプログラミング言語処理システムにおいて、 印字名と数字との対を登録するシンボルテーブルを、全
プロセスが使用できるグローバル・シンボルテーブルと
、各プロセスが個別に使用できるプロセス固有のローカ
ル・シンボルテーブルとに分けてもち、 プロセス起動時に、ソースプログラムをコンパイルする
際印字名と数字との対をプロセス固有のローカル・シン
ボルテーブルに登録するとともに他のプロセスと共用さ
れる大域的なシンボルと数字との対はグローバル・シン
ボルテーブルに登録し、 任意のプロセスからのグローバル・シンボルテーブルへ
の処理は他のプロセスからの処理を排他して行うことを
特徴とするプログラミング言語処理システムにおけるシ
ンボル管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5440590A JPH03255533A (ja) | 1990-03-06 | 1990-03-06 | プログラミング言語処理システムにおけるシンボル管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5440590A JPH03255533A (ja) | 1990-03-06 | 1990-03-06 | プログラミング言語処理システムにおけるシンボル管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03255533A true JPH03255533A (ja) | 1991-11-14 |
Family
ID=12969789
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5440590A Pending JPH03255533A (ja) | 1990-03-06 | 1990-03-06 | プログラミング言語処理システムにおけるシンボル管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03255533A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108549538A (zh) * | 2018-04-11 | 2018-09-18 | 深圳市腾讯网络信息技术有限公司 | 一种代码检测方法、装置、存储介质及测试终端 |
-
1990
- 1990-03-06 JP JP5440590A patent/JPH03255533A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108549538A (zh) * | 2018-04-11 | 2018-09-18 | 深圳市腾讯网络信息技术有限公司 | 一种代码检测方法、装置、存储介质及测试终端 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11132294B2 (en) | Real-time replicating garbage collection | |
| US8495641B2 (en) | Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes | |
| US8839225B2 (en) | Generating and applying patches to a computer program code concurrently with its execution | |
| JP2011170879A (ja) | 依存性グラフのパラメータのスコーピング | |
| JP7325437B2 (ja) | リソースインデックス置換を実施するデバイス及びプロセッサ | |
| US20120151155A1 (en) | Managing shared memory | |
| JPH03255533A (ja) | プログラミング言語処理システムにおけるシンボル管理方式 | |
| JPS63200257A (ja) | コンピユ−タのプログラムロ−ド方式 | |
| JP3019915B2 (ja) | 手続き呼出し方法 | |
| JP7499966B2 (ja) | 制御装置、及び、アドレス管理方法 | |
| JPS583177A (ja) | デ−タ処理方式 | |
| JP3693311B2 (ja) | 分散処理システム | |
| JP3511935B2 (ja) | マルチスレッド・プログラムにおけるファイル書込方式 | |
| JPH05297911A (ja) | シーケンスコントローラ用シーケンス制御回路 | |
| JP2003296128A (ja) | スレッド実行装置 | |
| JPH0337748A (ja) | 主記憶を利用した外部記憶アクセス方式 | |
| JPS62173535A (ja) | 共有資源のアクセス制御方式 | |
| JP2655612B2 (ja) | 外部参照更新方式 | |
| JPS63113637A (ja) | ハツシユ・テ−ブル・エントリ排他処理方式 | |
| JPH09138781A (ja) | 並列プロセスを含むプログラムの修正装置、修正方法、 および修正プログラムを記憶する記憶媒体 | |
| JPH10161985A (ja) | プロセッサ割付方法およびマルチプロセッサ計算機システム | |
| JPH02224122A (ja) | メモリパッチデータのダイナミックリンク方式 | |
| JP2020086871A (ja) | 情報処理装置、プログラム、オペレーティングシステム、実行方法及びプログラムの修正方法 | |
| JPH02194439A (ja) | プログラム実行方式 | |
| JPH03296822A (ja) | 論理空間アドレス割当方式 |