JPH05143372A - プールセマフオ管理装置 - Google Patents

プールセマフオ管理装置

Info

Publication number
JPH05143372A
JPH05143372A JP30498791A JP30498791A JPH05143372A JP H05143372 A JPH05143372 A JP H05143372A JP 30498791 A JP30498791 A JP 30498791A JP 30498791 A JP30498791 A JP 30498791A JP H05143372 A JPH05143372 A JP H05143372A
Authority
JP
Japan
Prior art keywords
semaphore
pool
segment
unused
fixed
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
JP30498791A
Other languages
English (en)
Inventor
Mamoru Shinjo
新城衛
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 JP30498791A priority Critical patent/JPH05143372A/ja
Publication of JPH05143372A publication Critical patent/JPH05143372A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 メッセージを多く溜めることができるセマフ
ォをプログラム実行時に取得できるように、プールセマ
フォのセマフォ最大カウントを設定することを目的とす
る。 【構成】 本発明は、ユーザプログラム作成時に指定さ
れたセマフォ最大カウントに基づいてプログラム作成時
に固定プールセマフォセグメントを作成する手段4と、
プログラム初期化時にプールセマフォを初期化する手段
5と、未使用プールセマフォ存在の判断手段6と、動的
プールセマフォセグメント作成手段7と、固定プールセ
マフォセグメントに未使用プールセマフォが存在しない
ときに動的プールセマフォセグメントを作成する手段7
とを備えたことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機システムの
タスク間通信手段に利用する。特に、タスク間通信実行
時に取得するプールセマフォに対するセマフォ最大カウ
ントの設定手段に関する。
【0002】
【従来の技術】プログラム実行中プールセマフォの取得
の要求があったときには、セマフォ最大カウントを一定
値とするプールセマフォが返却されていたので、ユーザ
プログラムはメッセージを多くキューイングできるセマ
フォを取得できなかった。
【0003】
【発明が解決しようとする課題】このように、従来例で
は、セマフォ中にキューイングできるメッセージの数に
限界がある欠点がある。
【0004】本発明は、このような欠点を除去するもの
で、セマフォカウントのオーバフローが発生しないプー
ルセマフォを作成できるプールセマフォ管理装置を提供
することを目的とする。
【0005】
【課題を解決するための手段】本発明は、計算機の多重
処理に際して、あらかじめオペレーティングシステムに
用意されているユーザ共用のセマフォであるプールセマ
フォに対する取得要求をそのプールセマフォの使用情報
に基づいて管理するプールセマフォ管理装置において、
セマフォにキューイングできるメッセージの数であるセ
マフォ最大カウントが指定されたことを記憶するセマフ
ォ最大カウント指定フラグおよびセマフォ最大カウント
指定時にそのセマフォ最大カウントが格納されるセマフ
ォ最大カウント格納領域を含むプールセマフォ制御構造
体と、ユーザプログラム作成時に、ユーザプログラム中
で指定されたセマフォ最大カウントに基づいてユーザプ
ログラム内に最初に用意するプールセマフォセグメント
である固定プールセマフォセグメントを作成する固定プ
ールセマフォセグメント作成手段と、プログラム起動処
理時に、この固定プールセマフォセグメント作成手段で
作成した固定プールセマフォセグメントを参照して上記
プールセマフォ制御構造体中のセマフォ最大カウント指
定フラグとセマフォ最大カウント格納領域を初期化する
プールセマフォ初期化手段と、プログラム実行中にプー
ルセマフォの取得の要求があったときに、未使用プール
セマフォが固定プールセマフォセグメント中に存在する
か否かを判断する未使用プールセマフォ存在判断手段
と、この未使用プールセマフォ存在判断手段が固定プー
ルセマフォセグメント中に未使用プールセマフォが存在
しないと判断したときに作成するプールセマフォセグメ
ントである動的プールセマフォセグメントを、上記プー
ルセマフォ制御構造体中のセマフォ最大カウント指定フ
ラグとセマフォ最大カウント格納領域とを参照して作成
する動的プールセマフォセグメント作成手段と、固定プ
ールセマフォセグメントまたは動的プールセマフォセグ
メントから未使用のプールセマフォを検索する未使用プ
ールセマフォサーチ手段と、上記未使用プールセマフォ
サーチ手段で検索されたプールセマフォの使用情報を更
新するプールセマフォ使用情報更新手段とを備えたこと
を特徴とする。
【0006】
【作用】プログラム作成時に、プールセマフォのセマフ
ォ最大カウントを指定する。指定されたセマフォ最大カ
ウントに基づいてプログラム作成時に固定プールセマフ
ォを作成し、プログラム初期化時にプールセマフォを初
期化し、また固定プールセマフォセグメントに未使用プ
ールセマフォが存在しないときに動的プールセマフォを
作成する。これにより、プログラム実行時に、作成され
た固定プールセマフォまたは動的プールセマフォから指
定したセマフォ最大カウントに相応したメッセージをキ
ューイングできるプールセマフォを取得できる。
【0007】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1はこの実施例の構成を示す概念図である。
この実施例は、図1に示すように、固定プールセマフォ
セグメント1と、プールセマフォ制御構造体2と、動的
プールセマフォセグメント3と、固定プールセマフォセ
グメント作成手段4と、プールセマフォ初期化手段5
と、未使用プールセマフォ存在判断手段6と、動的プー
ルセマフォセグメント作成手段7と、未使用プールセマ
フォサーチ手段8と、プールセマフォ使用情報更新手段
9とを備える。
【0008】すなわち、この実施例は、図1に示すよう
に、計算機の多重処理に際して、あらかじめオペレーテ
ィングシステムに用意されているユーザ共用のセマフォ
であるプールセマフォに対する取得要求をそのプールセ
マフォの使用情報に基づいて管理するもので、セマフォ
にキューイングできるメッセージの数であるセマフォ最
大カウントが指定されたことを記憶するセマフォ最大カ
ウント指定フラグおよびセマフォ最大カウント指定時に
そのセマフォ最大カウントが格納されるセマフォ最大カ
ウント格納領域を含むプールセマフォ制御構造体2と、
ユーザプログラム作成時に、ユーザプログラム中で指定
されたセマフォ最大カウントに基づいてユーザプログラ
ム内に最初に用意するプールセマフォセグメントである
固定プールセマフォセグメント1を作成する固定プール
セマフォセグメント作成手段4と、プログラム起動処理
時に、この固定プールセマフォセグメント作成手段4で
作成した固定プールセマフォセグメント1を参照して上
記プールセマフォ制御構造体2中のセマフォ最大カウン
ト指定フラグとセマフォ最大カウント格納領域を初期化
するプールセマフォ初期化手段5と、プログラム実行中
にプールセマフォの取得の要求があったときに、未使用
プールセマフォが固定プールセマフォセグメント1中に
存在するか否かを判断する未使用プールセマフォ存在判
断手段6と、この未使用プールセマフォ存在判断手段6
が固定プールセマフォセグメント1中に未使用プールセ
マフォが存在しないと判断したときに作成するプールセ
マフォセグメントである動的プールセマフォセグメント
3を、プールセマフォ制御構造体2中のセマフォ最大カ
ウント指定フラグとセマフォ最大カウント格納領域とを
参照して作成する動的プールセマフォセグメント作成手
段7と、固定プールセマフォセグメント1または動的プ
ールセマフォセグメント3から未使用のプールセマフォ
を検索する未使用プールセマフォサーチ手段8と、未使
用プールセマフォサーチ手段8で検索されたプールセマ
フォの使用情報を更新するプールセマフォ使用情報更新
手段9とを備える。
【0009】次に、この実施例の動作を説明する。図2
ないし図7はこの実施例の動作を示す流れ図である。
【0010】ユーザプログラム作成時に、まずセマフォ
最大カウント指定があるか否かを判断し(ステップS2
1)、指定がある場合は指定されたセマフォ最大カウン
トに基づいて固定プールセマフォを作成する(ステップ
S22)。セマフォ最大カウントの指定がない場合は既
定値のセマフォカウントを有する固定プールセマフォを
作成する(ステップS23)。プログラム初期化時に、
プールセマフォ初期化手段5はセマフォ最大カウント指
定があるか否かを判断し(ステップS31)、指定があ
る場合はプールセマフォ制御構造体2中のセマフォ最大
カウント指定フラグをオンにし(ステップS32)、セ
マフォ最大カウントを格納する(ステップS33)。プ
ールセマフォ取得要求時に、未使用プールセマフォ存在
判断手段6は未使用プールセマフォが存在するか否かを
判断し(ステップS41)、未使用プールセマフォが存
在しない場合には動的プールセマフォセグメント作成手
段7に制御を渡し、未使用プールセマフォが存在する場
合には未使用プールセマフォサーチ手段8に制御を渡
す。動的プールセマフォセグメント作成手段7は動的に
セマフォセグメントを作成する(ステップS51)。セ
マフォ最大カウント指定があるか否かを判断し(ステッ
プS52)、指定がある場合は指定されたセマフォ最大
カウントに基づき動的プールセマフォを初期化し(ステ
ップS53)、セマフォ最大カウント指定がない場合は
既定値のセマフォカウントに基づき動的プールセマフォ
を初期化する(ステップS54)。未使用プールセマフ
ォサーチ手段8は固定プールセマフォセグメントの各セ
マフォ使用情報を参照して固定プールセマフォセグメン
ト中に未使用プールセマフォが存在するか否かを判断し
(ステップS61)、存在する場合には固定プールセマ
フォセグメント中からプールセマフォを取得し(ステッ
プS62)、存在しない場合には動的プールセマフォセ
グメント中からプールセマフォを取得する(ステップS
63)。未使用プールセマフォ取得後に、プールセマフ
ォ使用情報更新手段9は固定プールセマフォセグメント
からプールセマフォを取得したかまたは動的プールセマ
フォセグメントからプールセマフォを取得したかを判断
し(ステップS71)、固定プールセマフォセグメント
から取得した場合は固定プールセマフォセグメント中の
各セマフォ使用情報を更新し(ステップS72)、動的
プールセマフォセグメントから取得した場合は動的プー
ルセマフォセグメント中の各セマフォ使用情報を更新す
る(ステップS73)。
【0011】
【発明の効果】本発明は、以上説明したように、ユーザ
プログラム作成時にプールセマフォのセマフォ最大カウ
ントを指定することによって、メッセージを多くキュー
イングできるプールセマフォを取得できる効果がある。
【図面の簡単な説明】
【図1】本発明実施例の構成を示すブロック構成図。
【図2】本発明実施例による固定プールセマフォセグメ
ント作成動作の内容を示すフローチャート。
【図3】本発明実施例によるプールセマフォ初期化動作
の内容を示すフローチャート。
【図4】本発明実施例による未使用プールセマフォの存
在判断動作の内容を示すフローチャート。
【図5】本発明実施例による動的プールセマフォセグメ
ント作成動作の内容を示すフローチャート。
【図6】本発明実施例による未使用プールセマフォサー
チ動作の内容を示すフローチャート。
【図7】本発明実施例によるプールセマフォ使用情報更
新動作の内容を示すフローチャート。
【符号の説明】
1 固定プールセマフォセグメント 2 プールセマフォ制御構造体 3 動的プールセマフォセグメント 4 固定プールセマフォセグメント作成手段 5 プールセマフォ初期化手段 6 未使用プールセマフォ存在判断手段 7 動的プールセマフォセグメント作成手段 8 未使用プールセマフォサーチ手段 9 プールセマフォ使用情報更新手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 計算機の多重処理に際して、あらかじめ
    オペレーティングシステムに用意されているユーザ共用
    のセマフォであるプールセマフォに対する取得要求をそ
    のプールセマフォの使用情報に基づいて管理するプール
    セマフォ管理装置において、 セマフォにキューイングできるメッセージの数であるセ
    マフォ最大カウントが指定されたことを記憶するセマフ
    ォ最大カウント指定フラグおよびセマフォ最大カウント
    指定時にそのセマフォ最大カウントが格納されるセマフ
    ォ最大カウント格納領域を含むプールセマフォ制御構造
    体と、 ユーザプログラム作成時に、ユーザプログラム中で指定
    されたセマフォ最大カウントに基づいてユーザプログラ
    ム内に最初に用意するプールセマフォセグメントである
    固定プールセマフォセグメントを作成する固定プールセ
    マフォセグメント作成手段と、 プログラム起動処理時に、この固定プールセマフォセグ
    メント作成手段で作成した固定プールセマフォセグメン
    トを参照して上記プールセマフォ制御構造体中のセマフ
    ォ最大カウント指定フラグとセマフォ最大カウント格納
    領域を初期化するプールセマフォ初期化手段と、 プログラム実行中にプールセマフォの取得の要求があっ
    たときに、未使用プールセマフォが固定プールセマフォ
    セグメント中に存在するか否かを判断する未使用プール
    セマフォ存在判断手段と、 この未使用プールセマフォ存在判断手段が固定プールセ
    マフォセグメント中に未使用プールセマフォが存在しな
    いと判断したときに作成するプールセマフォセグメント
    である動的プールセマフォセグメントを、上記プールセ
    マフォ制御構造体中のセマフォ最大カウント指定フラグ
    とセマフォ最大カウント格納領域とを参照して作成する
    動的プールセマフォセグメント作成手段と、 固定プールセマフォセグメントまたは動的プールセマフ
    ォセグメントから未使用のプールセマフォを検索する未
    使用プールセマフォサーチ手段と、 上記未使用プールセマフォサーチ手段で検索されたプー
    ルセマフォの使用情報を更新するプールセマフォ使用情
    報更新手段とを備えたことを特徴とするプールセマフォ
    管理装置。
JP30498791A 1991-11-20 1991-11-20 プールセマフオ管理装置 Pending JPH05143372A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30498791A JPH05143372A (ja) 1991-11-20 1991-11-20 プールセマフオ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30498791A JPH05143372A (ja) 1991-11-20 1991-11-20 プールセマフオ管理装置

Publications (1)

Publication Number Publication Date
JPH05143372A true JPH05143372A (ja) 1993-06-11

Family

ID=17939710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30498791A Pending JPH05143372A (ja) 1991-11-20 1991-11-20 プールセマフオ管理装置

Country Status (1)

Country Link
JP (1) JPH05143372A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63208957A (ja) * 1987-02-26 1988-08-30 Pfu Ltd バツフアプ−ル管理方式
JPH0240743A (ja) * 1988-07-29 1990-02-09 Fujitsu Ltd バッファ最適割当制御方式
JPH03225457A (ja) * 1990-01-30 1991-10-04 Nec Corp 入出力バッファ割当て方式
JPH03251944A (ja) * 1990-02-28 1991-11-11 Nec Corp メッセージバッファ域の分割管理方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63208957A (ja) * 1987-02-26 1988-08-30 Pfu Ltd バツフアプ−ル管理方式
JPH0240743A (ja) * 1988-07-29 1990-02-09 Fujitsu Ltd バッファ最適割当制御方式
JPH03225457A (ja) * 1990-01-30 1991-10-04 Nec Corp 入出力バッファ割当て方式
JPH03251944A (ja) * 1990-02-28 1991-11-11 Nec Corp メッセージバッファ域の分割管理方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock
US8407386B2 (en) 2006-03-29 2013-03-26 Intel Corporation Increasing functionality of a reader-writer lock
US8775708B2 (en) 2006-03-29 2014-07-08 Intel Corporation Increasing functionality of a reader-writer lock

Similar Documents

Publication Publication Date Title
JP7476292B2 (ja) 複合現実システムにおいて仮想コンテンツを管理および表示する方法およびシステム
JP2553307B2 (ja) プロセス監視方法
US7784051B2 (en) Cooperative scheduling using coroutines and threads
JP2004326754A (ja) 共用リソースを使用するための仮想計算機の管理
US7421707B2 (en) System and method for inducing asynchronous behavioral changes in a managed application process
CN111831410A (zh) 任务处理方法、装置、存储介质及电子设备
JPH06222931A (ja) パーソナルコンピュータのための制御プログラム及びプログラム間連絡提供方法
CN100589063C (zh) 可访问性系统事件机构和方法
CN111831411A (zh) 任务处理方法、装置、存储介质及电子设备
JP2870582B2 (ja) ハイパーメディア文書管理装置
JPH1083306A (ja) サーバ・ソフトウェアのインストールなしにクライアント・サポートを提供する方法および装置
EP4226591A1 (en) Method and apparatus for scheduling workflow on cloud platforms using linux cron
JPH05143372A (ja) プールセマフオ管理装置
US7457821B2 (en) Method and apparatus for identifying programming object attributes
JP4303828B2 (ja) プリント管理システムおよび方法
CN111143078A (zh) 一种数据处理方法、装置及计算机可读存储介质
US20070120865A1 (en) Applying rendering context in a multi-threaded environment
JPH06208487A (ja) ディスプレイ方法及びディスプレイシステム
JPH05151006A (ja) プールセマフオ管理装置
JP2006004092A (ja) コンピュータシステム
JPH06214826A (ja) データ変更注釈許容方法及びシステム
JPH05165796A (ja) 分散型コンピュータネットワークにおけるソフトウェア開発ツール起動方式
CN117093252A (zh) 云对象交付方法、装置、电子设备和计算机可读存储介质
CN120676174A (zh) 直播下单处理方法及其装置、设备、介质
JPH05224862A (ja) 複数ジョブ実行時の画面制御方式