JPH1185546A - 異種os上プロセス間通信方法 - Google Patents
異種os上プロセス間通信方法Info
- Publication number
- JPH1185546A JPH1185546A JP9248176A JP24817697A JPH1185546A JP H1185546 A JPH1185546 A JP H1185546A JP 9248176 A JP9248176 A JP 9248176A JP 24817697 A JP24817697 A JP 24817697A JP H1185546 A JPH1185546 A JP H1185546A
- Authority
- JP
- Japan
- Prior art keywords
- inter
- semaphore
- communication
- event
- shared memory
- 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
Abstract
(57)【要約】
【課題】1台の計算機上で複数のオペレーティングシス
テム(OS)が動作するとき、それぞれのOS上で動作
するプロセス間でのプロセス間通信(イベント同期、セ
マフォ、メッセージ、共有メモリ)を可能とする。 【解決手段】OS間通信オブジェクト(イベント、セマ
フォ、メッセージキュー、共有メモリ等)毎に、OS間
通信オブジェクトの名前と第1のOSのプロセス間通信
機能に関するオブジェクトハンドルと第2のOSのプロ
セス間通信機能に関するオブジェクトハンドルの対応を
記録する管理表を設ける。この管理表により、第1のO
S上のプロセスおよび第2のOS上のプロセスから発行
されたOS間通信オブジェクトの名前を指定した通信要
求を、第1のOSあるいは第2のOSのプロセス間通信
機能への要求へと変換する。
テム(OS)が動作するとき、それぞれのOS上で動作
するプロセス間でのプロセス間通信(イベント同期、セ
マフォ、メッセージ、共有メモリ)を可能とする。 【解決手段】OS間通信オブジェクト(イベント、セマ
フォ、メッセージキュー、共有メモリ等)毎に、OS間
通信オブジェクトの名前と第1のOSのプロセス間通信
機能に関するオブジェクトハンドルと第2のOSのプロ
セス間通信機能に関するオブジェクトハンドルの対応を
記録する管理表を設ける。この管理表により、第1のO
S上のプロセスおよび第2のOS上のプロセスから発行
されたOS間通信オブジェクトの名前を指定した通信要
求を、第1のOSあるいは第2のOSのプロセス間通信
機能への要求へと変換する。
Description
【0001】
【発明の属する技術分野】本発明は、1台の計算機上で
同時に動作する異なるオペレーティングシステム上のプ
ロセスが相互に同期および通信する方法に関する。
同時に動作する異なるオペレーティングシステム上のプ
ロセスが相互に同期および通信する方法に関する。
【0002】
【従来の技術】一般的に、計算機では1つのオペレーテ
ィングシステム(OS)が動作し、それが計算機の各種
資源(CPU、メモリ、2次記憶装置等)を管理してい
る。このOSには様々な種類のものがあり、それぞれに
特徴がある。即ち、オンライン処理に向いたOS、リア
ルタイム処理向けのOS、グラフィカルユーザインタフ
ェース(GUI)に優れたOS等である。すると1台の
計算機上に複数のOSを動作させようとする要求が生ま
れる。このための技術としては、仮想計算機あるいはマ
イクロカーネルがある。
ィングシステム(OS)が動作し、それが計算機の各種
資源(CPU、メモリ、2次記憶装置等)を管理してい
る。このOSには様々な種類のものがあり、それぞれに
特徴がある。即ち、オンライン処理に向いたOS、リア
ルタイム処理向けのOS、グラフィカルユーザインタフ
ェース(GUI)に優れたOS等である。すると1台の
計算機上に複数のOSを動作させようとする要求が生ま
れる。このための技術としては、仮想計算機あるいはマ
イクロカーネルがある。
【0003】仮想計算機は、主に汎用計算機の世界で実
現されている技術である。仮想計算機制御プログラムが
すべての計算機資源を管理し、それを各仮想計算機に対
して分割専有したり、仮想化して与えたりするのであ
る。
現されている技術である。仮想計算機制御プログラムが
すべての計算機資源を管理し、それを各仮想計算機に対
して分割専有したり、仮想化して与えたりするのであ
る。
【0004】一方、マイクロカーネルでは、マイクロカ
ーネルの上にOS機能を実現するOSサーバを構築し、
ユーザはそのサーバを通して計算機を利用する。このO
Sサーバを各種用意すれば様々なOS環境を利用でき
る。
ーネルの上にOS機能を実現するOSサーバを構築し、
ユーザはそのサーバを通して計算機を利用する。このO
Sサーバを各種用意すれば様々なOS環境を利用でき
る。
【0005】また、計算機のOSが提供する機能とし
て、プロセス間の同期機能および通信機能がある(以下
では、「プロセス間の同期機能および通信機能」のこと
を「プロセス間同期・通信機能」と呼ぶことがある)。
プロセス間の同期機能は、主に複数のプロセスが資源を
共有する場合にシリアライズして競合を防止するための
機能であり、プロセス間通信機能は、複数のプロセスが
互いにデータのやりとりをするための機能である。例え
ば、プロセス間の同期機能としてはイベント同期機能や
セマフォがあり、プロセス間通信機能としてはメッセー
ジや共有メモリがある(「UNIXカーネルの設計」Ma
urice J. Bach 著、坂本文・多田好克・村井純 訳、
p304〜322、原題 "The Design of the UNIX Ope
rating System")。
て、プロセス間の同期機能および通信機能がある(以下
では、「プロセス間の同期機能および通信機能」のこと
を「プロセス間同期・通信機能」と呼ぶことがある)。
プロセス間の同期機能は、主に複数のプロセスが資源を
共有する場合にシリアライズして競合を防止するための
機能であり、プロセス間通信機能は、複数のプロセスが
互いにデータのやりとりをするための機能である。例え
ば、プロセス間の同期機能としてはイベント同期機能や
セマフォがあり、プロセス間通信機能としてはメッセー
ジや共有メモリがある(「UNIXカーネルの設計」Ma
urice J. Bach 著、坂本文・多田好克・村井純 訳、
p304〜322、原題 "The Design of the UNIX Ope
rating System")。
【0006】
【発明が解決しようとする課題】以上のような仮想計算
機あるいはマイクロカーネル等の技術により1台の計算
機上に複数のOSを動作させることが可能となる。する
と、例えば、1台の計算機上でリアルタイム処理向けO
SとGUIに優れたOSが動作しているとき、リアルタ
イム処理向けOS上のプロセスが取得したデータをGU
Iに優れたOS上のプロセスで処理して画面に表示す
る、といった要求が生まれる。これを実現するために
は、同時に動作する複数のOS上のプロセス同士の同期
機能および通信機能が必要となる。
機あるいはマイクロカーネル等の技術により1台の計算
機上に複数のOSを動作させることが可能となる。する
と、例えば、1台の計算機上でリアルタイム処理向けO
SとGUIに優れたOSが動作しているとき、リアルタ
イム処理向けOS上のプロセスが取得したデータをGU
Iに優れたOS上のプロセスで処理して画面に表示す
る、といった要求が生まれる。これを実現するために
は、同時に動作する複数のOS上のプロセス同士の同期
機能および通信機能が必要となる。
【0007】そこで、本発明の第1の目的は、1台の計
算機上で複数のOSが動作する場合に、それぞれのOS
上のプロセス間でのプロセス間同期・通信機能を実現す
るための方法を提供することにある。
算機上で複数のOSが動作する場合に、それぞれのOS
上のプロセス間でのプロセス間同期・通信機能を実現す
るための方法を提供することにある。
【0008】また、異種OS上のプロセス間での同期機
能あるいは通信機能を実現する場合、このOSが備えて
いるプロセス間同期・通信機能を利用することができれ
ば、実現が容易となる。
能あるいは通信機能を実現する場合、このOSが備えて
いるプロセス間同期・通信機能を利用することができれ
ば、実現が容易となる。
【0009】そこで、本発明の第2の目的は、1台の計
算機上で複数のOSが動作し、それぞれのOS上のプロ
セス相互間のプロセス間同期・通信機能を実現する際
に、これらのOSがもともと備えているプロセス間同期
・通信機能を用いて実現するための方法を提供すること
にある。
算機上で複数のOSが動作し、それぞれのOS上のプロ
セス相互間のプロセス間同期・通信機能を実現する際
に、これらのOSがもともと備えているプロセス間同期
・通信機能を用いて実現するための方法を提供すること
にある。
【0010】
【課題を解決するための手段】本発明では、OS間通信
オブジェクト(イベント、セマフォ、メッセージキュ
ー、共有メモリ等)毎に、OS間通信オブジェクトの名
前と第1のOSのプロセス間通信機能に関するオブジェ
クトハンドルと第2のOSのプロセス間通信機能に関す
るオブジェクトハンドルの対応を記録する管理表を設け
る。この管理表により、第1のOS上のプロセスおよび
第2のOS上のプロセスから発行されたOS間通信オブ
ジェクトの名前を指定した通信要求を、第1のOSある
いは第2のOSのプロセス間通信機能への要求へと変換
できる。即ち、例えば、セマフォを指定したOS間通信
要求を第1のOSのセマフォ通信要求に変換できるので
ある。これにより、例えば、イベント同期によるプロセ
ス間通信の場合では、ウェイトしている第1のOS上の
プロセスを第2のOS上のプロセスがポストし、ウェイ
トしている第2のOS上のプロセスを第1のOS上のプ
ロセスがポストすることが可能となる。
オブジェクト(イベント、セマフォ、メッセージキュ
ー、共有メモリ等)毎に、OS間通信オブジェクトの名
前と第1のOSのプロセス間通信機能に関するオブジェ
クトハンドルと第2のOSのプロセス間通信機能に関す
るオブジェクトハンドルの対応を記録する管理表を設け
る。この管理表により、第1のOS上のプロセスおよび
第2のOS上のプロセスから発行されたOS間通信オブ
ジェクトの名前を指定した通信要求を、第1のOSある
いは第2のOSのプロセス間通信機能への要求へと変換
できる。即ち、例えば、セマフォを指定したOS間通信
要求を第1のOSのセマフォ通信要求に変換できるので
ある。これにより、例えば、イベント同期によるプロセ
ス間通信の場合では、ウェイトしている第1のOS上の
プロセスを第2のOS上のプロセスがポストし、ウェイ
トしている第2のOS上のプロセスを第1のOS上のプ
ロセスがポストすることが可能となる。
【0011】
【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。
より詳細に説明する。
【0012】図1は、本発明の実施例を実施する計算機
システムにおけるOS間通信の概要を示す図である。ハ
ードウェア1000は、この計算機システムを構成する
ハードウェアであり、CPU、メモリ、入出力装置等か
ら成る。複数OS制御プログラム1100は、この計算
機上で複数のOS(この例では第1のOS1200およ
び第2のOS1300)が動作するための各種の制御を
する部分で、ハードウェア1000の初期化および分割
専有処理、CPUのスケジューリング、割り込み処理等
を行う。OS間通信処理部1800は、複数OS制御プ
ログラム1100の中に存在し、管理表1900を用い
てこの計算機システム上で動作するOSのOS間通信の
処理を行う。管理表1900は、OS間通信オブジェク
ト対応に存在し、イベント管理表3000、セマフォ管
理表5000、メッセージキュー管理表6000、共有
メモリ管理表7000がある。そして、OS間通信処理
部1800には、メッセージ通信機能1810がある。
このメッセージ通信機能1810は、メッセージによる
OS間通信の処理を行う。第1のOS1200および第
2のOS1300は、この計算機システム上で動作する
オペレーティングシステム(OS)で、例えば、第1の
OSがグラフィカルユーザインタフェース(GUI)に
優れたOSであり、第2のOSがリアルタイム性に優れ
たOSであるという具合である。これらのOSは各々ド
ライバ部1250およびドライバ部1350を含んでお
り、これらドライバを経由してOS間通信処理部180
0とアクセスする。そして、それぞれのOSには、第1
のOSのプロセス間通信機能1400および第2のOS
のプロセス間通信機能1500がある。これらは、それ
ぞれのOS自身がその上で動作するプロセスに対するプ
ロセス間通信の処理を行う部分であり、第1のOSのプ
ロセス間通信機能1400は、イベント同期通信機能1
410、セマフォ通信機能1420、共有メモリ通信機
能1440から成る。第2のOSのプロセス間通信機能
1500は、イベント同期通信機能1510から成る。
第1のOSのプロセス1600は第1のOS1200の
上で動作するプロセスであり、第2のOSのプロセス1
700は第2のOS1300の上で動作するプロセスで
ある。第1のOSのプロセス1600あるいは第2のO
Sのプロセス1700からOS間通信オブジェクトのオ
ープンの要求がドライバ部1250あるいはドライバ部
1350を経由して出されると、OS間通信処理部18
00は、この要求で指定されたOS間通信オブジェクト
の名前を管理表1900から探し、これと同じ名前のO
S間通信オブジェクトのエントリがあればその記述子を
返し、同じ名前のOS間通信オブジェクトがなければ、
第1のOSのプロセス間通信機能1400に対してオー
プン要求を行う。そして、返されたオブジェクトハンド
ルとこのOS間通信オブジェクトの名前を管理表190
0に登録し、そのエントリの記述子を返す。
システムにおけるOS間通信の概要を示す図である。ハ
ードウェア1000は、この計算機システムを構成する
ハードウェアであり、CPU、メモリ、入出力装置等か
ら成る。複数OS制御プログラム1100は、この計算
機上で複数のOS(この例では第1のOS1200およ
び第2のOS1300)が動作するための各種の制御を
する部分で、ハードウェア1000の初期化および分割
専有処理、CPUのスケジューリング、割り込み処理等
を行う。OS間通信処理部1800は、複数OS制御プ
ログラム1100の中に存在し、管理表1900を用い
てこの計算機システム上で動作するOSのOS間通信の
処理を行う。管理表1900は、OS間通信オブジェク
ト対応に存在し、イベント管理表3000、セマフォ管
理表5000、メッセージキュー管理表6000、共有
メモリ管理表7000がある。そして、OS間通信処理
部1800には、メッセージ通信機能1810がある。
このメッセージ通信機能1810は、メッセージによる
OS間通信の処理を行う。第1のOS1200および第
2のOS1300は、この計算機システム上で動作する
オペレーティングシステム(OS)で、例えば、第1の
OSがグラフィカルユーザインタフェース(GUI)に
優れたOSであり、第2のOSがリアルタイム性に優れ
たOSであるという具合である。これらのOSは各々ド
ライバ部1250およびドライバ部1350を含んでお
り、これらドライバを経由してOS間通信処理部180
0とアクセスする。そして、それぞれのOSには、第1
のOSのプロセス間通信機能1400および第2のOS
のプロセス間通信機能1500がある。これらは、それ
ぞれのOS自身がその上で動作するプロセスに対するプ
ロセス間通信の処理を行う部分であり、第1のOSのプ
ロセス間通信機能1400は、イベント同期通信機能1
410、セマフォ通信機能1420、共有メモリ通信機
能1440から成る。第2のOSのプロセス間通信機能
1500は、イベント同期通信機能1510から成る。
第1のOSのプロセス1600は第1のOS1200の
上で動作するプロセスであり、第2のOSのプロセス1
700は第2のOS1300の上で動作するプロセスで
ある。第1のOSのプロセス1600あるいは第2のO
Sのプロセス1700からOS間通信オブジェクトのオ
ープンの要求がドライバ部1250あるいはドライバ部
1350を経由して出されると、OS間通信処理部18
00は、この要求で指定されたOS間通信オブジェクト
の名前を管理表1900から探し、これと同じ名前のO
S間通信オブジェクトのエントリがあればその記述子を
返し、同じ名前のOS間通信オブジェクトがなければ、
第1のOSのプロセス間通信機能1400に対してオー
プン要求を行う。そして、返されたオブジェクトハンド
ルとこのOS間通信オブジェクトの名前を管理表190
0に登録し、そのエントリの記述子を返す。
【0013】図2には、第1のOSのプロセス1600
および第2のOSのプロセス1700のプロセスのアド
レス空間の構成を示す。第1のOSのプロセス1600
のアドレス空間2100および第2のOSのプロセス1
700のプロセスのアドレス空間2200は、下半分が
各アプリケーション領域2300である。そして、上半
分はシステム領域2400であり、第1のOSのプロセ
ス1600および第2のOSのプロセス1700の両者
から共通な領域である。このシステム領域2400に
は、複数OS制御部1100およびOS間通信処理部1
800が存在する。
および第2のOSのプロセス1700のプロセスのアド
レス空間の構成を示す。第1のOSのプロセス1600
のアドレス空間2100および第2のOSのプロセス1
700のプロセスのアドレス空間2200は、下半分が
各アプリケーション領域2300である。そして、上半
分はシステム領域2400であり、第1のOSのプロセ
ス1600および第2のOSのプロセス1700の両者
から共通な領域である。このシステム領域2400に
は、複数OS制御部1100およびOS間通信処理部1
800が存在する。
【0014】以下では、まず、イベント同期に関連した
処理について説明する。
処理について説明する。
【0015】図3は、管理表1900の中のイベント管
理表3000を示す図である。イベント管理表3000
は、OS間通信処理部1800の初期処理時に確保され
る。イベント管理表3000は、エントリ有効フラグ3
010、イベントの名前3020、第1のOSのイベン
トオブジェクトハンドル3030、第1のOSのイベン
トオブジェクトハンドル有効フラグ3040、第2のO
Sのイベントオブジェクトハンドル3050、第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
から成る。この場合は、第1のOS1200および第2
のOS1300がともにイベント同期通信機能を有する
ので、第1のOS1200のイベント同期通信機能のオ
ブジェクトハンドルを格納するのがイベントオブジェク
トハンドル3030であり、イベントオブジェクトハン
ドル有効フラグ3040はそれの有効か無効かを示すフ
ラグである。そして、第2のOS1300のイベント同
期通信機能のオブジェクトハンドルを格納するのが第2
のOSのイベントオブジェクトハンドル3050で、第
2のOSのイベントオブジェクトハンドル有効フラグ3
060はそれの有効か無効かを示すフラグである。ま
た、エントリ有効フラグ3010は、このエントリが有
効か無効かを示すフラグである。イベントの名前302
0は、OS間通信オブジェクトであるところのイベント
の名前を格納する。
理表3000を示す図である。イベント管理表3000
は、OS間通信処理部1800の初期処理時に確保され
る。イベント管理表3000は、エントリ有効フラグ3
010、イベントの名前3020、第1のOSのイベン
トオブジェクトハンドル3030、第1のOSのイベン
トオブジェクトハンドル有効フラグ3040、第2のO
Sのイベントオブジェクトハンドル3050、第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
から成る。この場合は、第1のOS1200および第2
のOS1300がともにイベント同期通信機能を有する
ので、第1のOS1200のイベント同期通信機能のオ
ブジェクトハンドルを格納するのがイベントオブジェク
トハンドル3030であり、イベントオブジェクトハン
ドル有効フラグ3040はそれの有効か無効かを示すフ
ラグである。そして、第2のOS1300のイベント同
期通信機能のオブジェクトハンドルを格納するのが第2
のOSのイベントオブジェクトハンドル3050で、第
2のOSのイベントオブジェクトハンドル有効フラグ3
060はそれの有効か無効かを示すフラグである。ま
た、エントリ有効フラグ3010は、このエントリが有
効か無効かを示すフラグである。イベントの名前302
0は、OS間通信オブジェクトであるところのイベント
の名前を格納する。
【0016】OSの中には、プロセス間のイベント同期
のためにECB(イベントコントロールブロック)を使
用するものもあるが、そのような場合には、第1のOS
のイベントオブジェクトハンドル3030あるいは第2
のOSのイベントオブジェクトハンドル3050に、E
CBのアドレスを格納する。
のためにECB(イベントコントロールブロック)を使
用するものもあるが、そのような場合には、第1のOS
のイベントオブジェクトハンドル3030あるいは第2
のOSのイベントオブジェクトハンドル3050に、E
CBのアドレスを格納する。
【0017】図4は、第1のOSのプロセス1600が
発行したイベント同期通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ントの名前をパラメータに指定してオープン要求を行
い、その結果としてイベント記述子を得る。以降のイベ
ント同期通信関連のシステムコールでは、このイベント
記述子を用いることになる。まず、イベント管理表30
00を調べて、エントリ有効フラグ3010がONで、
かつ、指定されたイベントの名前とイベントの名前30
20が同じであるエントリを探す(ステップ401
0)。イベント管理表3000にこのようなエントリが
あれば、既にこの名前のイベントはオープンされている
ことになる。そこで、このエントリについて、第1のO
Sのイベントオブジェクトハンドル有効フラグ3040
を調べ(ステップ4090)、ONなら、そのエントリ
のイベント記述子を返して終了する(ステップ410
0)。OFFなら、第1のOS1200のイベント同期
通信機能1410のオープンのシステムコールをこのイ
ベントの名前で発行することにより、第1のOS120
0のイベント同期通信機能1410におけるオブジェク
トハンドルを獲得し(ステップ4110)、獲得したオ
ブジェクトハンドルを第1のOSのイベントオブジェク
トハンドル3030にセットし(ステップ4120)、
第1のOSのイベントオブジェクトハンドル有効フラグ
3040をONにし(ステップ4130)、そのエント
リのイベント記述子を返して終了する(ステップ414
0)。
発行したイベント同期通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ントの名前をパラメータに指定してオープン要求を行
い、その結果としてイベント記述子を得る。以降のイベ
ント同期通信関連のシステムコールでは、このイベント
記述子を用いることになる。まず、イベント管理表30
00を調べて、エントリ有効フラグ3010がONで、
かつ、指定されたイベントの名前とイベントの名前30
20が同じであるエントリを探す(ステップ401
0)。イベント管理表3000にこのようなエントリが
あれば、既にこの名前のイベントはオープンされている
ことになる。そこで、このエントリについて、第1のO
Sのイベントオブジェクトハンドル有効フラグ3040
を調べ(ステップ4090)、ONなら、そのエントリ
のイベント記述子を返して終了する(ステップ410
0)。OFFなら、第1のOS1200のイベント同期
通信機能1410のオープンのシステムコールをこのイ
ベントの名前で発行することにより、第1のOS120
0のイベント同期通信機能1410におけるオブジェク
トハンドルを獲得し(ステップ4110)、獲得したオ
ブジェクトハンドルを第1のOSのイベントオブジェク
トハンドル3030にセットし(ステップ4120)、
第1のOSのイベントオブジェクトハンドル有効フラグ
3040をONにし(ステップ4130)、そのエント
リのイベント記述子を返して終了する(ステップ414
0)。
【0018】一方、ステップ4010で、エントリ有効
フラグ3010がONで、かつ、指定されたイベントの
名前とイベントの名前3020が同じであるエントリ
が、イベント管理表3000になければ、エントリ有効
フラグ3010がOFFのエントリを探す(ステップ4
020)。なければ、イベント管理表3000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ4030)。エントリ有効フラグ30
10がOFFのエントリがあれば、第1のOS1200
のイベント同期通信1410のオープンのシステムコー
ルをこのイベントの名前で発行することにより、第1の
OS1200のイベント同期通信機能1410のオブジ
ェクトハンドルを獲得し(ステップ4040)、獲得し
たオブジェクトハンドルを第1のOSのイベントオブジ
ェクトハンドル3030にセットし(ステップ405
0)、第1のOSのイベントオブジェクトハンドル有効
フラグ3040をONにし(ステップ4060)、パラ
メータで指定されたイベントの名前をイベントの名前3
020に格納し(ステップ4065)、エントリ有効フ
ラグ3010をONにして(ステップ4070)、その
エントリのイベント記述子を返して終了する(ステップ
4080)。
フラグ3010がONで、かつ、指定されたイベントの
名前とイベントの名前3020が同じであるエントリ
が、イベント管理表3000になければ、エントリ有効
フラグ3010がOFFのエントリを探す(ステップ4
020)。なければ、イベント管理表3000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ4030)。エントリ有効フラグ30
10がOFFのエントリがあれば、第1のOS1200
のイベント同期通信1410のオープンのシステムコー
ルをこのイベントの名前で発行することにより、第1の
OS1200のイベント同期通信機能1410のオブジ
ェクトハンドルを獲得し(ステップ4040)、獲得し
たオブジェクトハンドルを第1のOSのイベントオブジ
ェクトハンドル3030にセットし(ステップ405
0)、第1のOSのイベントオブジェクトハンドル有効
フラグ3040をONにし(ステップ4060)、パラ
メータで指定されたイベントの名前をイベントの名前3
020に格納し(ステップ4065)、エントリ有効フ
ラグ3010をONにして(ステップ4070)、その
エントリのイベント記述子を返して終了する(ステップ
4080)。
【0019】図5は、第1のOSのプロセス1600が
発行したイベント同期通信のウェイト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してウェイト要求を行
う。まず、当該ウェイト要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第1のOSのイベン
トオブジェクトハンドル3030を用いて、第1のOS
1200のイベント同期通信機能1410のウェイト要
求のシステムコールを発行し(ステップ4210)、リ
ターンする(ステップ4220)。
発行したイベント同期通信のウェイト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してウェイト要求を行
う。まず、当該ウェイト要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第1のOSのイベン
トオブジェクトハンドル3030を用いて、第1のOS
1200のイベント同期通信機能1410のウェイト要
求のシステムコールを発行し(ステップ4210)、リ
ターンする(ステップ4220)。
【0020】図6は、第1のOSのプロセス1600が
発行したイベント同期通信のポスト要求システムコール
の処理のフローである。このシステムコールは、イベン
ト記述子をパラメータに指定してポスト要求を行う。ま
ず、第2のOS1300へのコンテキスト切替えを行い
(ステップ4310)、当該ポスト要求において指定さ
れたイベント記述子に対応するエントリをイベント管理
表3000からみつけ、そのエントリにおける第2のO
Sのイベントオブジェクトハンドル3050を用いて、
第2のOS1300のイベント同期通信機能1510の
ポスト要求のシステムコールを発行する(ステップ43
20)。そして、第1のOS1200へのコンテキスト
切替えを行い(ステップ4330)、リターンする(ス
テップ4340)。
発行したイベント同期通信のポスト要求システムコール
の処理のフローである。このシステムコールは、イベン
ト記述子をパラメータに指定してポスト要求を行う。ま
ず、第2のOS1300へのコンテキスト切替えを行い
(ステップ4310)、当該ポスト要求において指定さ
れたイベント記述子に対応するエントリをイベント管理
表3000からみつけ、そのエントリにおける第2のO
Sのイベントオブジェクトハンドル3050を用いて、
第2のOS1300のイベント同期通信機能1510の
ポスト要求のシステムコールを発行する(ステップ43
20)。そして、第1のOS1200へのコンテキスト
切替えを行い(ステップ4330)、リターンする(ス
テップ4340)。
【0021】図7は、第1のOSのプロセス1600が
発行したイベント同期通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第1のOSのイベン
トオブジェクトハンドル3030を用いて、第1のOS
1200のイベント同期通信機能1410のクローズ要
求のシステムコールを発行し(ステップ4410)、第
1のOSのイベントオブジェクトハンドル有効フラグ3
040をOFFにする(ステップ4420)。第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
がOFFなら、エントリ有効フラグ3010をOFFに
して当該エントリを無効にして(ステップ4440)、
リターンする(ステップ4450)。一方、第2のOS
のイベントオブジェクトハンドル有効フラグ3060が
ONなら、リターンする(ステップ4450)。
発行したイベント同期通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第1のOSのイベン
トオブジェクトハンドル3030を用いて、第1のOS
1200のイベント同期通信機能1410のクローズ要
求のシステムコールを発行し(ステップ4410)、第
1のOSのイベントオブジェクトハンドル有効フラグ3
040をOFFにする(ステップ4420)。第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
がOFFなら、エントリ有効フラグ3010をOFFに
して当該エントリを無効にして(ステップ4440)、
リターンする(ステップ4450)。一方、第2のOS
のイベントオブジェクトハンドル有効フラグ3060が
ONなら、リターンする(ステップ4450)。
【0022】図8は、第2のOSのプロセス1700が
発行したイベント同期通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ントの名前をパラメータに指定してオープン要求を行
い、その結果としてイベント記述子を得る。以降のイベ
ント同期通信関連のシステムコールでは、このイベント
記述子を用いることになる。まず、イベント管理表30
00を調べて、エントリ有効フラグ3010がONで、
かつ、指定されたイベントの名前とイベントの名前30
20が同じであるエントリを探す(ステップ451
0)。イベント管理表3000にこのようなエントリが
あれば、既にこの名前のイベントはオープンされている
ことになる。そこで、このエントリについて、第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
を調べ(ステップ4590)、ONなら、そのエントリ
のイベント記述子を返して終了する(ステップ460
0)。OFFなら、第2のOS1300のイベント同期
通信1510のオープンのシステムコールをこのイベン
トの名前で発行することにより、第2のOS1300の
イベント同期通信機能1510のオブジェクトハンドル
を獲得し(ステップ4610)、獲得したオブジェクト
ハンドルを第2のOSのイベントオブジェクトハンドル
3050にセットし(ステップ4620)、第2のOS
のイベントオブジェクトハンドル有効フラグ3060を
ONにし(ステップ4630)、そのエントリのイベン
ト記述子を返して終了する(ステップ4640)。
発行したイベント同期通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ントの名前をパラメータに指定してオープン要求を行
い、その結果としてイベント記述子を得る。以降のイベ
ント同期通信関連のシステムコールでは、このイベント
記述子を用いることになる。まず、イベント管理表30
00を調べて、エントリ有効フラグ3010がONで、
かつ、指定されたイベントの名前とイベントの名前30
20が同じであるエントリを探す(ステップ451
0)。イベント管理表3000にこのようなエントリが
あれば、既にこの名前のイベントはオープンされている
ことになる。そこで、このエントリについて、第2のO
Sのイベントオブジェクトハンドル有効フラグ3060
を調べ(ステップ4590)、ONなら、そのエントリ
のイベント記述子を返して終了する(ステップ460
0)。OFFなら、第2のOS1300のイベント同期
通信1510のオープンのシステムコールをこのイベン
トの名前で発行することにより、第2のOS1300の
イベント同期通信機能1510のオブジェクトハンドル
を獲得し(ステップ4610)、獲得したオブジェクト
ハンドルを第2のOSのイベントオブジェクトハンドル
3050にセットし(ステップ4620)、第2のOS
のイベントオブジェクトハンドル有効フラグ3060を
ONにし(ステップ4630)、そのエントリのイベン
ト記述子を返して終了する(ステップ4640)。
【0023】一方、ステップ4010で、エントリ有効
フラグ3010がONで、かつ、指定されたイベントの
名前とイベントの名前3020が同じであるエントリ
が、イベント管理表3000になければ、エントリ有効
フラグ3010がOFFのエントリを探す(ステップ4
520)。なければ、イベント管理表3000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ4530)。エントリ有効フラグ30
10がOFFのエントリがあれば、第1のOS1200
のイベント同期通信機能1510のオープンのシステム
コールをこのイベントの名前で発行することにより、第
2のOS1300のイベント同期通信機能1510のオ
ブジェクトハンドルを獲得し(ステップ4540)、獲
得したオブジェクトハンドルを第2のOSのイベントオ
ブジェクトハンドル3050にセットし(ステップ45
50)、第2のOSのイベントオブジェクトハンドル有
効フラグ3060をONにし(ステップ4560)、パ
ラメータで指定されたイベントの名前をイベントの名前
3020に格納し(ステップ4565)、エントリ有効
フラグ3010をONにして(ステップ4570)、そ
のエントリのイベント記述子を返して終了する(ステッ
プ4580)。
フラグ3010がONで、かつ、指定されたイベントの
名前とイベントの名前3020が同じであるエントリ
が、イベント管理表3000になければ、エントリ有効
フラグ3010がOFFのエントリを探す(ステップ4
520)。なければ、イベント管理表3000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ4530)。エントリ有効フラグ30
10がOFFのエントリがあれば、第1のOS1200
のイベント同期通信機能1510のオープンのシステム
コールをこのイベントの名前で発行することにより、第
2のOS1300のイベント同期通信機能1510のオ
ブジェクトハンドルを獲得し(ステップ4540)、獲
得したオブジェクトハンドルを第2のOSのイベントオ
ブジェクトハンドル3050にセットし(ステップ45
50)、第2のOSのイベントオブジェクトハンドル有
効フラグ3060をONにし(ステップ4560)、パ
ラメータで指定されたイベントの名前をイベントの名前
3020に格納し(ステップ4565)、エントリ有効
フラグ3010をONにして(ステップ4570)、そ
のエントリのイベント記述子を返して終了する(ステッ
プ4580)。
【0024】図9は、第2のOSのプロセス1700が
発行したイベント同期通信のウェイト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してウェイト要求を行
う。まず、当該ウェイト要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第2のOSのイベン
トオブジェクトハンドル3050を用いて、第2のOS
1300のイベント同期通信機能1510のウェイト要
求のシステムコールを発行し(ステップ4710)、リ
ターンする(ステップ4720)。
発行したイベント同期通信のウェイト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してウェイト要求を行
う。まず、当該ウェイト要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第2のOSのイベン
トオブジェクトハンドル3050を用いて、第2のOS
1300のイベント同期通信機能1510のウェイト要
求のシステムコールを発行し(ステップ4710)、リ
ターンする(ステップ4720)。
【0025】図10は、第2のOSのプロセス1700
が発行したイベント同期通信のポスト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してポスト要求を行う。
まず、第1のOS1200へのコンテキスト切替えを行
い(ステップ4810)、当該ポスト要求において指定
されたイベント記述子に対応するエントリをイベント管
理表3000からみつけ、そのエントリにおける第1の
OSのイベントオブジェクトハンドル3030を用い
て、第1のOS1200のイベント同期通信機能141
0のポスト要求のシステムコールを発行する(ステップ
4820)。そして、第2のOS1300へのコンテキ
スト切替えを行い(ステップ4830)、リターンする
(ステップ4840)。
が発行したイベント同期通信のポスト要求システムコー
ルの処理のフローである。このシステムコールは、イベ
ント記述子をパラメータに指定してポスト要求を行う。
まず、第1のOS1200へのコンテキスト切替えを行
い(ステップ4810)、当該ポスト要求において指定
されたイベント記述子に対応するエントリをイベント管
理表3000からみつけ、そのエントリにおける第1の
OSのイベントオブジェクトハンドル3030を用い
て、第1のOS1200のイベント同期通信機能141
0のポスト要求のシステムコールを発行する(ステップ
4820)。そして、第2のOS1300へのコンテキ
スト切替えを行い(ステップ4830)、リターンする
(ステップ4840)。
【0026】図11は、第2のOSのプロセス1700
が発行したイベント同期通信のクローズ要求システムコ
ールの処理のフローである。このシステムコールは、イ
ベント記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第2のOSのイベン
トオブジェクトハンドル3050を用いて、第2のOS
1300のイベント同期通信機能1510のクローズ要
求のシステムコールを発行し(ステップ4910)、第
2のOSのイベントオブジェクトハンドル有効フラグ3
060をOFFにする(ステップ4920)。第1のO
Sのイベントオブジェクトハンドル有効フラグ3040
がOFFなら、エントリ有効フラグ3010をOFFに
して当該エントリを無効にして(ステップ4940)、
リターンする(ステップ4950)。一方、第2のOS
のイベントオブジェクトハンドル有効フラグ3040が
ONなら、リターンする(ステップ4950)。
が発行したイベント同期通信のクローズ要求システムコ
ールの処理のフローである。このシステムコールは、イ
ベント記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定されたイベン
ト記述子に対応するエントリをイベント管理表3000
からみつけ、そのエントリにおける第2のOSのイベン
トオブジェクトハンドル3050を用いて、第2のOS
1300のイベント同期通信機能1510のクローズ要
求のシステムコールを発行し(ステップ4910)、第
2のOSのイベントオブジェクトハンドル有効フラグ3
060をOFFにする(ステップ4920)。第1のO
Sのイベントオブジェクトハンドル有効フラグ3040
がOFFなら、エントリ有効フラグ3010をOFFに
して当該エントリを無効にして(ステップ4940)、
リターンする(ステップ4950)。一方、第2のOS
のイベントオブジェクトハンドル有効フラグ3040が
ONなら、リターンする(ステップ4950)。
【0027】以上の図3から図11に示した処理によ
り、第1のOS1200および第2のOS1300が、
それぞれ、イベント同期によるプロセス間通信機能を有
する時、ウェイトしている第1のOS上のプロセス16
00を第2のOS上のプロセス1700がポストし、ウ
ェイトしている第2のOS上のプロセス1700を第1
のOS上のプロセス1600がポストすることが可能と
なる。
り、第1のOS1200および第2のOS1300が、
それぞれ、イベント同期によるプロセス間通信機能を有
する時、ウェイトしている第1のOS上のプロセス16
00を第2のOS上のプロセス1700がポストし、ウ
ェイトしている第2のOS上のプロセス1700を第1
のOS上のプロセス1600がポストすることが可能と
なる。
【0028】次に、セマフォに関連した処理について説
明する。
明する。
【0029】図12は、管理表1900の中のセマフォ
管理表5000を示す図である。セマフォ管理表500
0は、OS間通信処理部1800の初期処理時に確保さ
れる。セマフォ管理表5000は、エントリ有効フラグ
5010、セマフォの名前5020、第1のOSのセマ
フォオブジェクトハンドル5030、第1のOSのセマ
フォオブジェクトハンドル有効フラグ5040から成
る。この場合は、第1のOS1200がセマフォ通信機
能を有するので、第1のOS1200のセマフォ通信機
能のオブジェクトハンドルを格納するのがセマフォオブ
ジェクトハンドル5030であり、セマフォオブジェク
トハンドル有効フラグ5040はそれの有効か無効かを
示すフラグである。また、エントリ有効フラグ5010
は、このエントリが有効か無効かを示すフラグである。
セマフォの名前5020は、OS間通信オブジェクトで
あるところのセマフォの名前を格納する。
管理表5000を示す図である。セマフォ管理表500
0は、OS間通信処理部1800の初期処理時に確保さ
れる。セマフォ管理表5000は、エントリ有効フラグ
5010、セマフォの名前5020、第1のOSのセマ
フォオブジェクトハンドル5030、第1のOSのセマ
フォオブジェクトハンドル有効フラグ5040から成
る。この場合は、第1のOS1200がセマフォ通信機
能を有するので、第1のOS1200のセマフォ通信機
能のオブジェクトハンドルを格納するのがセマフォオブ
ジェクトハンドル5030であり、セマフォオブジェク
トハンドル有効フラグ5040はそれの有効か無効かを
示すフラグである。また、エントリ有効フラグ5010
は、このエントリが有効か無効かを示すフラグである。
セマフォの名前5020は、OS間通信オブジェクトで
あるところのセマフォの名前を格納する。
【0030】図13は、第1のOSのプロセス1600
が発行したセマフォ通信のオープン要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォの名前をパラメータに指定してオープン要求を行い、
その結果としてセマフォ記述子を得る。以降のセマフォ
通信関連のシステムコールでは、このセマフォ記述子を
用いることになる。第1のOS1200はセマフォ通信
機能を有する。まず、セマフォ管理表5000を調べ
て、エントリ有効フラグ5010がONで、かつ、指定
されたセマフォの名前とセマフォの名前5020が同じ
であるエントリを探す(ステップ5110)。セマフォ
管理表5000にこのようなエントリがあれば、既にこ
の名前のセマフォはオープンされていることになる。そ
こで、そのエントリのセマフォ記述子を返して終了する
(ステップ5190)。
が発行したセマフォ通信のオープン要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォの名前をパラメータに指定してオープン要求を行い、
その結果としてセマフォ記述子を得る。以降のセマフォ
通信関連のシステムコールでは、このセマフォ記述子を
用いることになる。第1のOS1200はセマフォ通信
機能を有する。まず、セマフォ管理表5000を調べ
て、エントリ有効フラグ5010がONで、かつ、指定
されたセマフォの名前とセマフォの名前5020が同じ
であるエントリを探す(ステップ5110)。セマフォ
管理表5000にこのようなエントリがあれば、既にこ
の名前のセマフォはオープンされていることになる。そ
こで、そのエントリのセマフォ記述子を返して終了する
(ステップ5190)。
【0031】一方、ステップ5110で、エントリ有効
フラグ5010がONで、かつ、指定されたセマフォの
名前とセマフォの名前5020が同じであるエントリ
が、セマフォ管理表5000になければ、エントリ有効
フラグ5010がOFFのエントリを探す(ステップ5
120)。なければ、セマフォ管理表5000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ5130)。エントリ有効フラグ50
10がOFFのエントリがあれば、第1のOS1200
のセマフォ通信のオープンのシステムコールをこのセマ
フォの名前で発行することにより、第1のOS1200
のセマフォ通信機能1420のオブジェクトハンドルを
獲得し(ステップ5140)、獲得したオブジェクトハ
ンドルを第1のOSのセマフォオブジェクトハンドル5
030にセットし(ステップ5150)、第1のOSの
セマフォオブジェクトハンドル有効フラグ5040をO
Nにし(ステップ5160)、パラメータで指定された
セマフォの名前をセマフォの名前5020に格納し(ス
テップ5165)、エントリ有効フラグ5010をON
にして(ステップ5170)、そのエントリのセマフォ
記述子を返して終了する(ステップ5180)。
フラグ5010がONで、かつ、指定されたセマフォの
名前とセマフォの名前5020が同じであるエントリ
が、セマフォ管理表5000になければ、エントリ有効
フラグ5010がOFFのエントリを探す(ステップ5
120)。なければ、セマフォ管理表5000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ5130)。エントリ有効フラグ50
10がOFFのエントリがあれば、第1のOS1200
のセマフォ通信のオープンのシステムコールをこのセマ
フォの名前で発行することにより、第1のOS1200
のセマフォ通信機能1420のオブジェクトハンドルを
獲得し(ステップ5140)、獲得したオブジェクトハ
ンドルを第1のOSのセマフォオブジェクトハンドル5
030にセットし(ステップ5150)、第1のOSの
セマフォオブジェクトハンドル有効フラグ5040をO
Nにし(ステップ5160)、パラメータで指定された
セマフォの名前をセマフォの名前5020に格納し(ス
テップ5165)、エントリ有効フラグ5010をON
にして(ステップ5170)、そのエントリのセマフォ
記述子を返して終了する(ステップ5180)。
【0032】図14は、第1のOSのプロセス1600
が発行したセマフォ通信のセマフォウェイト要求システ
ムコールの処理のフローである。このシステムコール
は、セマフォ記述子をパラメータに指定してセマフォウ
ェイト要求を行う。まず、当該セマフォウェイト要求に
おいて指定されたセマフォ記述子に対応するエントリを
セマフォ管理表5000からみつけ、そのエントリにお
ける第1のOSのセマフォオブジェクトハンドル503
0を用いて、第1のOS1200のセマフォ通信機能1
420のセマフォウェイト要求のシステムコールを発行
し(ステップ5210)、リターンする(ステップ52
20)。
が発行したセマフォ通信のセマフォウェイト要求システ
ムコールの処理のフローである。このシステムコール
は、セマフォ記述子をパラメータに指定してセマフォウ
ェイト要求を行う。まず、当該セマフォウェイト要求に
おいて指定されたセマフォ記述子に対応するエントリを
セマフォ管理表5000からみつけ、そのエントリにお
ける第1のOSのセマフォオブジェクトハンドル503
0を用いて、第1のOS1200のセマフォ通信機能1
420のセマフォウェイト要求のシステムコールを発行
し(ステップ5210)、リターンする(ステップ52
20)。
【0033】図15は、第1のOSのプロセス1600
が発行したセマフォ通信のセマフォカウントアップ要求
システムコールの処理のフローである。このシステムコ
ールは、セマフォ記述子をパラメータに指定してセマフ
ォカウントアップ要求を行う。まず、当該セマフォカウ
ントアップ要求において指定されたセマフォ記述子に対
応するエントリをセマフォ管理表5000からみつけ、
そのエントリにおける第1のOSのセマフォオブジェク
トハンドル5030を用いて、第1のOS1200のセ
マフォ通信機能1420のセマフォカウントアップ要求
のシステムコールを発行し(ステップ5310)、リタ
ーンする(ステップ5320)。
が発行したセマフォ通信のセマフォカウントアップ要求
システムコールの処理のフローである。このシステムコ
ールは、セマフォ記述子をパラメータに指定してセマフ
ォカウントアップ要求を行う。まず、当該セマフォカウ
ントアップ要求において指定されたセマフォ記述子に対
応するエントリをセマフォ管理表5000からみつけ、
そのエントリにおける第1のOSのセマフォオブジェク
トハンドル5030を用いて、第1のOS1200のセ
マフォ通信機能1420のセマフォカウントアップ要求
のシステムコールを発行し(ステップ5310)、リタ
ーンする(ステップ5320)。
【0034】図16は、第1のOSのプロセス1600
が発行したセマフォ通信のクローズ要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォ記述子をパラメータに指定してクローズ要求を行う。
まず、当該クローズ要求において指定されたセマフォ記
述子に対応するエントリをセマフォ管理表5000から
みつけ、そのエントリにおける第1のOSのセマフォオ
ブジェクトハンドル5030を用いて、第1のOS12
00のセマフォ通信機能1420のクローズ要求のシス
テムコールを発行し(ステップ5410)、第1のOS
のセマフォオブジェクトハンドル有効フラグ5040を
OFFにし(ステップ5420)、エントリ有効フラグ
5010をOFFにして当該エントリを無効にして(ス
テップ5430)、リターンする(ステップ544
0)。
が発行したセマフォ通信のクローズ要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォ記述子をパラメータに指定してクローズ要求を行う。
まず、当該クローズ要求において指定されたセマフォ記
述子に対応するエントリをセマフォ管理表5000から
みつけ、そのエントリにおける第1のOSのセマフォオ
ブジェクトハンドル5030を用いて、第1のOS12
00のセマフォ通信機能1420のクローズ要求のシス
テムコールを発行し(ステップ5410)、第1のOS
のセマフォオブジェクトハンドル有効フラグ5040を
OFFにし(ステップ5420)、エントリ有効フラグ
5010をOFFにして当該エントリを無効にして(ス
テップ5430)、リターンする(ステップ544
0)。
【0035】図17は、第2のOSのプロセス1700
が発行したセマフォ通信のオープン要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォの名前をパラメータに指定してオープン要求を行い、
その結果としてセマフォ記述子を得る。以降のセマフォ
通信関連のシステムコールでは、このセマフォ記述子を
用いることになる。第2のOS1300はセマフォ通信
機能を有しない。まず、セマフォ管理表5000を調べ
て、エントリ有効フラグ5010がONで、かつ、指定
されたセマフォの名前とセマフォの名前5020が同じ
であるエントリを探す(ステップ5510)。セマフォ
管理表5000にこのようなエントリがあれば、既にこ
の名前のセマフォはオープンされていることになる。そ
こで、そのエントリのセマフォ記述子を返して終了する
(ステップ5590)。
が発行したセマフォ通信のオープン要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォの名前をパラメータに指定してオープン要求を行い、
その結果としてセマフォ記述子を得る。以降のセマフォ
通信関連のシステムコールでは、このセマフォ記述子を
用いることになる。第2のOS1300はセマフォ通信
機能を有しない。まず、セマフォ管理表5000を調べ
て、エントリ有効フラグ5010がONで、かつ、指定
されたセマフォの名前とセマフォの名前5020が同じ
であるエントリを探す(ステップ5510)。セマフォ
管理表5000にこのようなエントリがあれば、既にこ
の名前のセマフォはオープンされていることになる。そ
こで、そのエントリのセマフォ記述子を返して終了する
(ステップ5590)。
【0036】一方、ステップ5510で、エントリ有効
フラグ5010がONで、かつ、指定されたセマフォの
名前とセマフォの名前5020が同じであるエントリ
が、セマフォ管理表5000になければ、エントリ有効
フラグ5010がOFFのエントリを探す(ステップ5
520)。なければ、セマフォ管理表5000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ5530)。エントリ有効フラグ50
10がOFFのエントリがあれば、第1のOS1200
へコンテキスト切替えを行い(ステップ5535)、第
1のOS1200のセマフォ通信機能1420のオープ
ンのシステムコールをこのセマフォの名前で発行するこ
とにより、第1のOS1200のセマフォ通信機能14
20のオブジェクトハンドルを獲得し(ステップ554
0)、獲得したオブジェクトハンドルを第1のOSのセ
マフォオブジェクトハンドル5030にセットし(ステ
ップ5550)、第1のOSのセマフォオブジェクトハ
ンドル有効フラグ5040をONにし(ステップ556
0)、パラメータとして指定されたセマフォの名前をセ
マフォの名前5020に格納し(ステップ5565)、
エントリ有効フラグ5010をONにして(ステップ5
570)、第2のOS1300へコンテキスト切替えを
行い(ステップ5575)、そのエントリのセマフォ記
述子を返して終了する(ステップ5580)。
フラグ5010がONで、かつ、指定されたセマフォの
名前とセマフォの名前5020が同じであるエントリ
が、セマフォ管理表5000になければ、エントリ有効
フラグ5010がOFFのエントリを探す(ステップ5
520)。なければ、セマフォ管理表5000のすべて
のエントリが使用中であることになるのでエラーリター
ンする(ステップ5530)。エントリ有効フラグ50
10がOFFのエントリがあれば、第1のOS1200
へコンテキスト切替えを行い(ステップ5535)、第
1のOS1200のセマフォ通信機能1420のオープ
ンのシステムコールをこのセマフォの名前で発行するこ
とにより、第1のOS1200のセマフォ通信機能14
20のオブジェクトハンドルを獲得し(ステップ554
0)、獲得したオブジェクトハンドルを第1のOSのセ
マフォオブジェクトハンドル5030にセットし(ステ
ップ5550)、第1のOSのセマフォオブジェクトハ
ンドル有効フラグ5040をONにし(ステップ556
0)、パラメータとして指定されたセマフォの名前をセ
マフォの名前5020に格納し(ステップ5565)、
エントリ有効フラグ5010をONにして(ステップ5
570)、第2のOS1300へコンテキスト切替えを
行い(ステップ5575)、そのエントリのセマフォ記
述子を返して終了する(ステップ5580)。
【0037】図18は、第2のOSのプロセス1700
が発行したセマフォ通信のセマフォウェイト要求システ
ムコールの処理のフローである。このシステムコール
は、セマフォ記述子をパラメータに指定してセマフォウ
ェイト要求を行う。まず、第1のOS1200へのコン
テキスト切替えを行い(ステップ5610)、当該セマ
フォウェイト要求において指定されたセマフォ記述子に
対応するエントリをセマフォ管理表5000からみつ
け、そのエントリにおける第1のOSのセマフォオブジ
ェクトハンドル5030を用いて、第1のOS1200
のセマフォ通信機能1420のセマフォウェイト要求の
システムコールを発行し(ステップ5620)、第2の
OS1300へのコンテキスト切替えを行い(ステップ
5630)、リターンする(ステップ5640)。
が発行したセマフォ通信のセマフォウェイト要求システ
ムコールの処理のフローである。このシステムコール
は、セマフォ記述子をパラメータに指定してセマフォウ
ェイト要求を行う。まず、第1のOS1200へのコン
テキスト切替えを行い(ステップ5610)、当該セマ
フォウェイト要求において指定されたセマフォ記述子に
対応するエントリをセマフォ管理表5000からみつ
け、そのエントリにおける第1のOSのセマフォオブジ
ェクトハンドル5030を用いて、第1のOS1200
のセマフォ通信機能1420のセマフォウェイト要求の
システムコールを発行し(ステップ5620)、第2の
OS1300へのコンテキスト切替えを行い(ステップ
5630)、リターンする(ステップ5640)。
【0038】図19は、第2のOSのプロセス1700
が発行したセマフォ通信のセマフォカウントアップ要求
システムコールの処理のフローである。このシステムコ
ールは、セマフォ記述子をパラメータに指定してセマフ
ォカウントアップ要求を行う。まず、第1のOS120
0へのコンテキスト切替えを行い(ステップ571
0)、当該セマフォカウントアップ要求において指定さ
れたセマフォ記述子に対応するエントリをセマフォ管理
表5000からみつけ、そのエントリにおける第1のO
Sのセマフォオブジェクトハンドル5030を用いて、
第1のOS1200のセマフォ通信機能1420のセマ
フォカウントアップ要求のシステムコールを発行し(ス
テップ5720)、第2のOS1300へのコンテキス
ト切替えを行い(ステップ5730)、リターンする
(ステップ5740)。
が発行したセマフォ通信のセマフォカウントアップ要求
システムコールの処理のフローである。このシステムコ
ールは、セマフォ記述子をパラメータに指定してセマフ
ォカウントアップ要求を行う。まず、第1のOS120
0へのコンテキスト切替えを行い(ステップ571
0)、当該セマフォカウントアップ要求において指定さ
れたセマフォ記述子に対応するエントリをセマフォ管理
表5000からみつけ、そのエントリにおける第1のO
Sのセマフォオブジェクトハンドル5030を用いて、
第1のOS1200のセマフォ通信機能1420のセマ
フォカウントアップ要求のシステムコールを発行し(ス
テップ5720)、第2のOS1300へのコンテキス
ト切替えを行い(ステップ5730)、リターンする
(ステップ5740)。
【0039】図20は、第2のOSのプロセス1700
が発行したセマフォ通信のクローズ要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォ記述子をパラメータに指定してクローズ要求を行う。
まず、第1のOS1200へのコンテキスト切替えを行
い(ステップ5810)、当該クローズ要求において指
定されたセマフォ記述子に対応するエントリをセマフォ
管理表5000からみつけ、そのエントリにおける第1
のOSのセマフォオブジェクトハンドル5030を用い
て、第1のOS1200のセマフォ通信機能1420の
クローズ要求のシステムコールを発行し(ステップ58
20)、第1のOSのセマフォオブジェクトハンドル有
効フラグ5040をOFFにし(ステップ5830)、
エントリ有効フラグ5010をOFFにして当該エント
リを無効にして(ステップ5840)、第2のOS13
00へのコンテキスト切替えを行い(ステップ585
0)、リターンする(ステップ5860)。
が発行したセマフォ通信のクローズ要求システムコール
の処理のフローである。このシステムコールは、セマフ
ォ記述子をパラメータに指定してクローズ要求を行う。
まず、第1のOS1200へのコンテキスト切替えを行
い(ステップ5810)、当該クローズ要求において指
定されたセマフォ記述子に対応するエントリをセマフォ
管理表5000からみつけ、そのエントリにおける第1
のOSのセマフォオブジェクトハンドル5030を用い
て、第1のOS1200のセマフォ通信機能1420の
クローズ要求のシステムコールを発行し(ステップ58
20)、第1のOSのセマフォオブジェクトハンドル有
効フラグ5040をOFFにし(ステップ5830)、
エントリ有効フラグ5010をOFFにして当該エント
リを無効にして(ステップ5840)、第2のOS13
00へのコンテキスト切替えを行い(ステップ585
0)、リターンする(ステップ5860)。
【0040】以上の図12から図20に示した処理によ
り、第1のOS1200がセマフォ機能を有し、第2の
OS1300がセマフォ機能を有さない時、第1のOS
上のプロセス1600が発行する、第1のOS上のプロ
セス1600と第2のOS上のプロセス1700の間の
プロセス間通信におけるセマフォ関連要求を、第1のO
S1200が有するセマフォ機能を用いて処理すること
が可能となり、そして、第2のOS上のプロセス170
0が発行する、第1のOS上のプロセス1600と第2
のOS上のプロセス1700の間のプロセス間通信にお
けるセマフォ関連要求を、第1のOS1200が有する
セマフォ機能を用いて処理することが可能となる。
り、第1のOS1200がセマフォ機能を有し、第2の
OS1300がセマフォ機能を有さない時、第1のOS
上のプロセス1600が発行する、第1のOS上のプロ
セス1600と第2のOS上のプロセス1700の間の
プロセス間通信におけるセマフォ関連要求を、第1のO
S1200が有するセマフォ機能を用いて処理すること
が可能となり、そして、第2のOS上のプロセス170
0が発行する、第1のOS上のプロセス1600と第2
のOS上のプロセス1700の間のプロセス間通信にお
けるセマフォ関連要求を、第1のOS1200が有する
セマフォ機能を用いて処理することが可能となる。
【0041】次に、メッセージ通信に関連した処理につ
いて説明する。
いて説明する。
【0042】図21は、メッセージ通信関連のデータ構
造を示す図である。メッセージ通信関連のデータ構造は
OS間通信処理部1800の中のメッセージ通信機能1
810の中にあり、メッセージキュー6000、メッセ
ージヘッダ6010、データバッファ6020から成
る。メッセージキュー6000には、メッセージヘッダ
6010へのポインタ、当該メッセージキューに対する
メッセージを待つプロセスへのポインタおよび管理情報
があり、メッセージヘッダのリストが連結される。この
管理情報には、連結されたリスト上のメッセージ数と総
バイト数等がある。メッセージキュー6000は、OS
間通信処理部1800の初期処理時に確保され、その数
はメッセージキュー管理表6100のエントリ数と同じ
になる。メッセージヘッダ6010には、次のメッセー
ジヘッダ6010へのポインタ、メッセージデータへの
ポインタおよび管理情報が格納されている。この管理情
報には、メッセージデータのバイト数等がある。データ
バッファ6020には、メッセージデータが格納され
る。即ち、メッセージの送り手のメッセージデータがデ
ータバッファ6020にコピーされ、更に、メッセージ
の受け手にコピーされる。
造を示す図である。メッセージ通信関連のデータ構造は
OS間通信処理部1800の中のメッセージ通信機能1
810の中にあり、メッセージキュー6000、メッセ
ージヘッダ6010、データバッファ6020から成
る。メッセージキュー6000には、メッセージヘッダ
6010へのポインタ、当該メッセージキューに対する
メッセージを待つプロセスへのポインタおよび管理情報
があり、メッセージヘッダのリストが連結される。この
管理情報には、連結されたリスト上のメッセージ数と総
バイト数等がある。メッセージキュー6000は、OS
間通信処理部1800の初期処理時に確保され、その数
はメッセージキュー管理表6100のエントリ数と同じ
になる。メッセージヘッダ6010には、次のメッセー
ジヘッダ6010へのポインタ、メッセージデータへの
ポインタおよび管理情報が格納されている。この管理情
報には、メッセージデータのバイト数等がある。データ
バッファ6020には、メッセージデータが格納され
る。即ち、メッセージの送り手のメッセージデータがデ
ータバッファ6020にコピーされ、更に、メッセージ
の受け手にコピーされる。
【0043】図22は、管理表1900の中のメッセー
ジキュー管理表6100を示す図である。メッセージ管
理表6100は、OS間通信処理部1800の初期処理
時に確保され、そのエントリ数はメッセージキュー60
00の数と同じであり、各エントリはメッセージキュー
に対応する。メッセージ管理表6100は、メッセージ
キュー使用中フラグ6110、メッセージキューの名前
6120、メッセージキューポインタ6130から成
る。メッセージキュー使用中フラグ6110は、このエ
ントリに対応するメッセージキューの使用中を示すフラ
グである。メッセージキューの名前6120は、OS間
通信オブジェクトであるところのメッセージキューの名
前が格納される。メッセージキューポインタ6130
は、このエントリに対応するメッセージキュー6000
へのポインタである。このメッセージキューポインタ6
130は、メッセージ管理表6100およびメッセージ
キュー6000の確保時に設定される。
ジキュー管理表6100を示す図である。メッセージ管
理表6100は、OS間通信処理部1800の初期処理
時に確保され、そのエントリ数はメッセージキュー60
00の数と同じであり、各エントリはメッセージキュー
に対応する。メッセージ管理表6100は、メッセージ
キュー使用中フラグ6110、メッセージキューの名前
6120、メッセージキューポインタ6130から成
る。メッセージキュー使用中フラグ6110は、このエ
ントリに対応するメッセージキューの使用中を示すフラ
グである。メッセージキューの名前6120は、OS間
通信オブジェクトであるところのメッセージキューの名
前が格納される。メッセージキューポインタ6130
は、このエントリに対応するメッセージキュー6000
へのポインタである。このメッセージキューポインタ6
130は、メッセージ管理表6100およびメッセージ
キュー6000の確保時に設定される。
【0044】図23は、第1のOSのプロセス1600
が発行したメッセージ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキューの名前をパラメータに指定してオープン要
求を行い、その結果としてメッセージキュー記述子を得
る。以降のメッセージ通信関連のシステムコールでは、
このメッセージキュー記述子を用いることになる。ま
ず、メッセージキュー管理表6100を調べて、メッセ
ージキュー使用中フラグ6110がONで、かつ、指定
されたメッセージキューの名前とメッセージキューの名
前6120が同じであるエントリを探す(ステップ62
10)。メッセージキュー管理表6100にこのような
エントリがあれば、既にこの名前のメッセージキューは
オープンされていることになる。そこで、そのエントリ
のメッセージキュー記述子を返して終了する(ステップ
6270)。
が発行したメッセージ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキューの名前をパラメータに指定してオープン要
求を行い、その結果としてメッセージキュー記述子を得
る。以降のメッセージ通信関連のシステムコールでは、
このメッセージキュー記述子を用いることになる。ま
ず、メッセージキュー管理表6100を調べて、メッセ
ージキュー使用中フラグ6110がONで、かつ、指定
されたメッセージキューの名前とメッセージキューの名
前6120が同じであるエントリを探す(ステップ62
10)。メッセージキュー管理表6100にこのような
エントリがあれば、既にこの名前のメッセージキューは
オープンされていることになる。そこで、そのエントリ
のメッセージキュー記述子を返して終了する(ステップ
6270)。
【0045】一方、ステップ6210で、メッセージキ
ュー使用中フラグ6110がONで、かつ、指定された
メッセージキューの名前とメッセージキューの名前61
20が同じであるエントリが、メッセージキュー管理表
6100になければ、メッセージキュー使用中フラグ6
110がOFFのエントリを探す(ステップ622
0)。なければ、メッセージキュー管理表6100のす
べてのエントリが使用中、即ち、すべてのメッセージキ
ューが使用中であることになるのでエラーリターンする
(ステップ6230)。メッセージキュー使用中フラグ
6110がOFFのエントリがあれば、そのエントリの
メッセージキュー使用中フラグ6110をONにして
(ステップ6240)、パラメータで指定されたメッセ
ージキューの名前をメッセージキューの名前6120に
格納し(ステップ6250)、そのエントリのメッセー
ジキュー記述子を返して終了する(ステップ626
0)。
ュー使用中フラグ6110がONで、かつ、指定された
メッセージキューの名前とメッセージキューの名前61
20が同じであるエントリが、メッセージキュー管理表
6100になければ、メッセージキュー使用中フラグ6
110がOFFのエントリを探す(ステップ622
0)。なければ、メッセージキュー管理表6100のす
べてのエントリが使用中、即ち、すべてのメッセージキ
ューが使用中であることになるのでエラーリターンする
(ステップ6230)。メッセージキュー使用中フラグ
6110がOFFのエントリがあれば、そのエントリの
メッセージキュー使用中フラグ6110をONにして
(ステップ6240)、パラメータで指定されたメッセ
ージキューの名前をメッセージキューの名前6120に
格納し(ステップ6250)、そのエントリのメッセー
ジキュー記述子を返して終了する(ステップ626
0)。
【0046】図24は、第1のOSのプロセス1600
が発行したメッセージ通信のメッセージ送信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージが格納される
領域のアドレス、送信するメッセージのバイト数をパラ
メータに指定してメッセージ送信要求を行う。まず、送
信メッセージのバイト数が上限を超えるか否かをチェッ
クし(ステップ6310)、超えればエラーリターンす
る(ステップ6390)。超えなければ、メッセージヘ
ッダ6010およびデータバッファ6020の両者の割
り当てが可能か否かをチェックし(ステップ632
0)、可能でなければエラーリターンする(ステップ6
380)。両者とも割り当て可能であれば、割り当てた
データバッファ6020に送信メッセージをコピーし
(ステップ6330)、割り当てたメッセージヘッダ6
010をパラメータで指定されたメッセージキュー60
00のリストの最後に連結し、当該メッセージキュー6
000の管理情報を更新する(ステップ6340)。次
に、図4に示したイベント同期通信のオープン要求シス
テムコールおよび図6に示したイベント同期通信のポス
ト要求システムコールを発行し、当該メッセージキュー
へのメッセージ到着を待つプロセスを起こし(ステップ
6360)、リターンする(ステップ6370)。
が発行したメッセージ通信のメッセージ送信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージが格納される
領域のアドレス、送信するメッセージのバイト数をパラ
メータに指定してメッセージ送信要求を行う。まず、送
信メッセージのバイト数が上限を超えるか否かをチェッ
クし(ステップ6310)、超えればエラーリターンす
る(ステップ6390)。超えなければ、メッセージヘ
ッダ6010およびデータバッファ6020の両者の割
り当てが可能か否かをチェックし(ステップ632
0)、可能でなければエラーリターンする(ステップ6
380)。両者とも割り当て可能であれば、割り当てた
データバッファ6020に送信メッセージをコピーし
(ステップ6330)、割り当てたメッセージヘッダ6
010をパラメータで指定されたメッセージキュー60
00のリストの最後に連結し、当該メッセージキュー6
000の管理情報を更新する(ステップ6340)。次
に、図4に示したイベント同期通信のオープン要求シス
テムコールおよび図6に示したイベント同期通信のポス
ト要求システムコールを発行し、当該メッセージキュー
へのメッセージ到着を待つプロセスを起こし(ステップ
6360)、リターンする(ステップ6370)。
【0047】図25は、第1のOSのプロセス1600
が発行したメッセージ通信のメッセージ受信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージ格納領域アド
レスをパラメータに指定してメッセージ受信要求を行
う。まず、パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6410)。あれば、ステップ6430へ行く。な
ければ、図4に示したイベント同期通信のオープン要求
システムコールおよび図5に示したイベント同期通信の
ウェイト要求システムコールを発行し、当該メッセージ
キューにメッセージが届くのを待つ(ステップ642
0)。そして、メッセージキュー6000に連結された
リストの最初のメッセージヘッダ6010からポイント
されるメッセージバッファ6020のメッセージを、パ
ラメータで指定されたメッセージ格納領域アドレスにコ
ピーし(ステップ6430)、当該メッセージヘッダ6
010を当該メッセージキュー6000のリストから外
し、当該メッセージキュー6000の管理情報を更新し
(ステップ6440)、リターンする(ステップ645
0)。
が発行したメッセージ通信のメッセージ受信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージ格納領域アド
レスをパラメータに指定してメッセージ受信要求を行
う。まず、パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6410)。あれば、ステップ6430へ行く。な
ければ、図4に示したイベント同期通信のオープン要求
システムコールおよび図5に示したイベント同期通信の
ウェイト要求システムコールを発行し、当該メッセージ
キューにメッセージが届くのを待つ(ステップ642
0)。そして、メッセージキュー6000に連結された
リストの最初のメッセージヘッダ6010からポイント
されるメッセージバッファ6020のメッセージを、パ
ラメータで指定されたメッセージ格納領域アドレスにコ
ピーし(ステップ6430)、当該メッセージヘッダ6
010を当該メッセージキュー6000のリストから外
し、当該メッセージキュー6000の管理情報を更新し
(ステップ6440)、リターンする(ステップ645
0)。
【0048】図26は、第1のOSのプロセス1600
が発行したメッセージ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキュー記述子をパラメータに指定してクローズ要
求を行う。パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6510)。なければ、ステップ6530へ行く。
あれば、図4に示したイベント同期通信のオープン要求
システムコールおよび図6に示したイベント同期通信の
ポスト要求システムコールを発行し、当該メッセージキ
ューへのメッセージ到着を待つプロセスを起こす(ステ
ップ6520)。そして、メッセージキュー使用中フラ
グ6110をOFFにして(ステップ6530)、リタ
ーンする(ステップ6540)。
が発行したメッセージ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキュー記述子をパラメータに指定してクローズ要
求を行う。パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6510)。なければ、ステップ6530へ行く。
あれば、図4に示したイベント同期通信のオープン要求
システムコールおよび図6に示したイベント同期通信の
ポスト要求システムコールを発行し、当該メッセージキ
ューへのメッセージ到着を待つプロセスを起こす(ステ
ップ6520)。そして、メッセージキュー使用中フラ
グ6110をOFFにして(ステップ6530)、リタ
ーンする(ステップ6540)。
【0049】図27は、第2のOSのプロセス1700
が発行したメッセージ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキューの名前をパラメータに指定してオープン要
求を行い、その結果としてメッセージキュー記述子を得
る。以降のメッセージ通信関連のシステムコールでは、
このメッセージキュー記述子を用いることになる。ま
ず、メッセージキュー管理表6100を調べて、メッセ
ージキュー使用中フラグ6110がONで、かつ、指定
されたメッセージキューの名前とメッセージキューの名
前6120が同じであるエントリを探す(ステップ66
10)。メッセージキュー管理表6100にこのような
エントリがあれば、既にこの名前のメッセージキューは
オープンされていることになる。そこで、そのエントリ
のメッセージキュー記述子を返して終了する(ステップ
6670)。
が発行したメッセージ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキューの名前をパラメータに指定してオープン要
求を行い、その結果としてメッセージキュー記述子を得
る。以降のメッセージ通信関連のシステムコールでは、
このメッセージキュー記述子を用いることになる。ま
ず、メッセージキュー管理表6100を調べて、メッセ
ージキュー使用中フラグ6110がONで、かつ、指定
されたメッセージキューの名前とメッセージキューの名
前6120が同じであるエントリを探す(ステップ66
10)。メッセージキュー管理表6100にこのような
エントリがあれば、既にこの名前のメッセージキューは
オープンされていることになる。そこで、そのエントリ
のメッセージキュー記述子を返して終了する(ステップ
6670)。
【0050】一方、ステップ6210で、メッセージキ
ュー使用中フラグ6110がONで、かつ、指定された
メッセージキューの名前とメッセージキューの名前61
20が同じであるエントリが、メッセージキュー管理表
6100になければ、メッセージキュー使用中フラグ6
110がOFFのエントリを探す(ステップ662
0)。なければ、メッセージキュー管理表6100のす
べてのエントリが使用中、即ち、すべてのメッセージキ
ューが使用中であることになるのでエラーリターンする
(ステップ6630)。メッセージキュー使用中フラグ
6110がOFFのエントリがあれば、そのエントリの
メッセージキュー使用中フラグ6110をONにして
(ステップ6640)、パラメータで指定されたメッセ
ージキューの名前をメッセージキューの名前6120に
格納し(ステップ6650)、そのエントリのメッセー
ジキュー記述子を返して終了する(ステップ666
0)。
ュー使用中フラグ6110がONで、かつ、指定された
メッセージキューの名前とメッセージキューの名前61
20が同じであるエントリが、メッセージキュー管理表
6100になければ、メッセージキュー使用中フラグ6
110がOFFのエントリを探す(ステップ662
0)。なければ、メッセージキュー管理表6100のす
べてのエントリが使用中、即ち、すべてのメッセージキ
ューが使用中であることになるのでエラーリターンする
(ステップ6630)。メッセージキュー使用中フラグ
6110がOFFのエントリがあれば、そのエントリの
メッセージキュー使用中フラグ6110をONにして
(ステップ6640)、パラメータで指定されたメッセ
ージキューの名前をメッセージキューの名前6120に
格納し(ステップ6650)、そのエントリのメッセー
ジキュー記述子を返して終了する(ステップ666
0)。
【0051】図28は、第2のOSのプロセス1700
が発行したメッセージ通信のメッセージ送信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージが格納される
領域のアドレス、送信するメッセージのバイト数をパラ
メータに指定してメッセージ送信要求を行う。まず、送
信メッセージのバイト数が上限を超えるか否かをチェッ
クし(ステップ6710)、超えればエラーリターンす
る(ステップ6790)。超えなければ、メッセージヘ
ッダ6010およびデータバッファ6020の両者の割
り当てが可能か否かをチェックし(ステップ672
0)、可能でなければエラーリターンする(ステップ6
780)。両者とも割り当て可能であれば、割り当てた
データバッファ6020に送信メッセージをコピーし
(ステップ6730)、割り当てたメッセージヘッダ6
010をパラメータで指定されたメッセージキュー60
00のリストの最後に連結し、当該メッセージキュー6
000の管理情報を更新する(ステップ6740)。次
に、図8に示したイベント同期通信のオープン要求シス
テムコールおよび図10に示したイベント同期通信のポ
スト要求システムコールを発行し、当該メッセージキュ
ーへのメッセージ到着を待つプロセスを起こし(ステッ
プ6760)、リターンする(ステップ6770)。
が発行したメッセージ通信のメッセージ送信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージが格納される
領域のアドレス、送信するメッセージのバイト数をパラ
メータに指定してメッセージ送信要求を行う。まず、送
信メッセージのバイト数が上限を超えるか否かをチェッ
クし(ステップ6710)、超えればエラーリターンす
る(ステップ6790)。超えなければ、メッセージヘ
ッダ6010およびデータバッファ6020の両者の割
り当てが可能か否かをチェックし(ステップ672
0)、可能でなければエラーリターンする(ステップ6
780)。両者とも割り当て可能であれば、割り当てた
データバッファ6020に送信メッセージをコピーし
(ステップ6730)、割り当てたメッセージヘッダ6
010をパラメータで指定されたメッセージキュー60
00のリストの最後に連結し、当該メッセージキュー6
000の管理情報を更新する(ステップ6740)。次
に、図8に示したイベント同期通信のオープン要求シス
テムコールおよび図10に示したイベント同期通信のポ
スト要求システムコールを発行し、当該メッセージキュ
ーへのメッセージ到着を待つプロセスを起こし(ステッ
プ6760)、リターンする(ステップ6770)。
【0052】図29は、第2のOSのプロセス1700
が発行したメッセージ通信のメッセージ受信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージ格納領域アド
レスをパラメータに指定してメッセージ受信要求を行
う。まず、パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6810)。あれば、ステップ6830へ行く。な
ければ、図8に示したイベント同期通信のオープン要求
システムコールおよび図9に示したイベント同期通信の
ウェイト要求システムコールを発行し、当該メッセージ
キューにメッセージが届くのを待つ(ステップ682
0)。そして、メッセージキュー6000に連結された
リストの最初のメッセージヘッダ6010からポイント
されるメッセージバッファ6020のメッセージを、パ
ラメータで指定されたメッセージ格納領域アドレスにコ
ピーし(ステップ6830)、当該メッセージヘッダ6
010を当該メッセージキュー6000のリストから外
し、当該メッセージキュー6000の管理情報を更新し
(ステップ6840)、リターンする(ステップ685
0)。
が発行したメッセージ通信のメッセージ受信要求システ
ムコールの処理のフローである。このシステムコール
は、メッセージキュー記述子、メッセージ格納領域アド
レスをパラメータに指定してメッセージ受信要求を行
う。まず、パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6810)。あれば、ステップ6830へ行く。な
ければ、図8に示したイベント同期通信のオープン要求
システムコールおよび図9に示したイベント同期通信の
ウェイト要求システムコールを発行し、当該メッセージ
キューにメッセージが届くのを待つ(ステップ682
0)。そして、メッセージキュー6000に連結された
リストの最初のメッセージヘッダ6010からポイント
されるメッセージバッファ6020のメッセージを、パ
ラメータで指定されたメッセージ格納領域アドレスにコ
ピーし(ステップ6830)、当該メッセージヘッダ6
010を当該メッセージキュー6000のリストから外
し、当該メッセージキュー6000の管理情報を更新し
(ステップ6840)、リターンする(ステップ685
0)。
【0053】図30は、第2のOSのプロセス1700
が発行したメッセージ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキュー記述子をパラメータに指定してクローズ要
求を行う。パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6910)。なければ、ステップ6930へ行く。
あれば、図8に示したイベント同期通信のオープン要求
システムコールおよび図10に示したイベント同期通信
のポスト要求システムコールを発行し、当該メッセージ
キューへのメッセージ到着を待つプロセスを起こす(ス
テップ6920)。そして、メッセージキュー使用中フ
ラグ6110をOFFにして(ステップ6930)、リ
ターンする(ステップ6940)。
が発行したメッセージ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、メッ
セージキュー記述子をパラメータに指定してクローズ要
求を行う。パラメータで指定されたメッセージキュー6
000にメッセージがあるか否かをチェックする(ステ
ップ6910)。なければ、ステップ6930へ行く。
あれば、図8に示したイベント同期通信のオープン要求
システムコールおよび図10に示したイベント同期通信
のポスト要求システムコールを発行し、当該メッセージ
キューへのメッセージ到着を待つプロセスを起こす(ス
テップ6920)。そして、メッセージキュー使用中フ
ラグ6110をOFFにして(ステップ6930)、リ
ターンする(ステップ6940)。
【0054】以上の図21から図30に示した処理によ
り、第1のOSがメッセージ機能を有さず、第2のOS
もメッセージ機能を有さない時、OS間通信処理部18
00上に設けたメッセージキュー6000の介して、第
1のOS上のプロセス1600と第2のOS上のプロセ
ス1700の間のプロセス間通信が可能となる。
り、第1のOSがメッセージ機能を有さず、第2のOS
もメッセージ機能を有さない時、OS間通信処理部18
00上に設けたメッセージキュー6000の介して、第
1のOS上のプロセス1600と第2のOS上のプロセ
ス1700の間のプロセス間通信が可能となる。
【0055】次に、共有メモリに関連した処理について
説明する。
説明する。
【0056】図31は、管理表1900の中の共有メモ
リ管理表7000を示す図である。共有メモリ管理表7
000は、OS間通信処理部1800の初期処理時に確
保される。共有メモリ管理表7000は、エントリ有効
フラグ7010、共有メモリの名前7020、第1のO
Sの共有メモリオブジェクトハンドル7030、第1の
OSの共有メモリオブジェクトハンドル有効フラグ70
40から成る。この場合は、第1のOS1200が共有
メモリ機能を有するので、第1のOS1200の共有メ
モリ機能のオブジェクトハンドルを格納するのが共有メ
モリオブジェクトハンドル7030であり、共有メモリ
オブジェクトハンドル有効フラグ7040はそれの有効
か無効かを示すフラグである。また、エントリ有効フラ
グ7010は、このエントリが有効か無効かを示すフラ
グである。共有メモリの名前7020は、OS間通信オ
ブジェクトであるところの共有メモリの名前を格納す
る。
リ管理表7000を示す図である。共有メモリ管理表7
000は、OS間通信処理部1800の初期処理時に確
保される。共有メモリ管理表7000は、エントリ有効
フラグ7010、共有メモリの名前7020、第1のO
Sの共有メモリオブジェクトハンドル7030、第1の
OSの共有メモリオブジェクトハンドル有効フラグ70
40から成る。この場合は、第1のOS1200が共有
メモリ機能を有するので、第1のOS1200の共有メ
モリ機能のオブジェクトハンドルを格納するのが共有メ
モリオブジェクトハンドル7030であり、共有メモリ
オブジェクトハンドル有効フラグ7040はそれの有効
か無効かを示すフラグである。また、エントリ有効フラ
グ7010は、このエントリが有効か無効かを示すフラ
グである。共有メモリの名前7020は、OS間通信オ
ブジェクトであるところの共有メモリの名前を格納す
る。
【0057】図32は、第1のOSのプロセス1600
が発行した共有メモリ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリの名前をパラメータに指定してオープン要求を行
い、その結果として共有メモリ記述子を得る。以降の共
有メモリ通信関連のシステムコールでは、この共有メモ
リ記述子を用いることになる。第1のOS1200は共
有メモリ通信機能を有する。まず、共有メモリ管理表7
000を調べて、エントリ有効フラグ7010がON
で、かつ、指定された共有メモリの名前と共有メモリの
名前7020が同じであるエントリを探す(ステップ7
110)。共有メモリ管理表7000にこのようなエン
トリがあれば、既にこの名前のセマフォはオープンされ
ていることになる。そこで、そのエントリの共有メモリ
記述子を返して終了する(ステップ7190)。
が発行した共有メモリ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリの名前をパラメータに指定してオープン要求を行
い、その結果として共有メモリ記述子を得る。以降の共
有メモリ通信関連のシステムコールでは、この共有メモ
リ記述子を用いることになる。第1のOS1200は共
有メモリ通信機能を有する。まず、共有メモリ管理表7
000を調べて、エントリ有効フラグ7010がON
で、かつ、指定された共有メモリの名前と共有メモリの
名前7020が同じであるエントリを探す(ステップ7
110)。共有メモリ管理表7000にこのようなエン
トリがあれば、既にこの名前のセマフォはオープンされ
ていることになる。そこで、そのエントリの共有メモリ
記述子を返して終了する(ステップ7190)。
【0058】一方、ステップ7110で、エントリ有効
フラグ7010がONで、かつ、指定された共有メモリ
の名前と共有メモリの名前7020が同じであるエント
リが、セマフォ管理表7000になければ、エントリ有
効フラグ7010がOFFのエントリを探す(ステップ
7120)。なければ、共有メモリ管理表7000のす
べてのエントリが使用中であることになるのでエラーリ
ターンする(ステップ7130)。エントリ有効フラグ
7010がOFFのエントリがあれば、第1のOS12
00の共有メモリ通信機能1440のオープンのシステ
ムコールをこの共有メモリの名前で発行することによ
り、第1のOS1200の共有メモリ通信機能1440
のオブジェクトハンドルを獲得し(ステップ714
0)、獲得したオブジェクトハンドルを第1のOSの共
有メモリオブジェクトハンドル7030にセットし(ス
テップ7150)、第1のOSの共有メモリオブジェク
トハンドル有効フラグ7040をONにし(ステップ7
160)、パラメータで指定された共有メモリの名前を
共有メモリの名前7020に格納し(ステップ716
5)、エントリ有効フラグ7010をONにして(ステ
ップ7170)、そのエントリの共有メモリ記述子を返
して終了する(ステップ7180)。
フラグ7010がONで、かつ、指定された共有メモリ
の名前と共有メモリの名前7020が同じであるエント
リが、セマフォ管理表7000になければ、エントリ有
効フラグ7010がOFFのエントリを探す(ステップ
7120)。なければ、共有メモリ管理表7000のす
べてのエントリが使用中であることになるのでエラーリ
ターンする(ステップ7130)。エントリ有効フラグ
7010がOFFのエントリがあれば、第1のOS12
00の共有メモリ通信機能1440のオープンのシステ
ムコールをこの共有メモリの名前で発行することによ
り、第1のOS1200の共有メモリ通信機能1440
のオブジェクトハンドルを獲得し(ステップ714
0)、獲得したオブジェクトハンドルを第1のOSの共
有メモリオブジェクトハンドル7030にセットし(ス
テップ7150)、第1のOSの共有メモリオブジェク
トハンドル有効フラグ7040をONにし(ステップ7
160)、パラメータで指定された共有メモリの名前を
共有メモリの名前7020に格納し(ステップ716
5)、エントリ有効フラグ7010をONにして(ステ
ップ7170)、そのエントリの共有メモリ記述子を返
して終了する(ステップ7180)。
【0059】図33は、第1のOSのプロセス1600
が発行した共有メモリ通信の仮想空間マッピング要求シ
ステムコールの処理のフローである。このシステムコー
ルは、共有メモリ記述子をパラメータに指定して仮想空
間マッピング要求を行い、マッピングされた仮想空間ア
ドレスを得る。まず、当該仮想空間マッピング要求にお
いて指定された共有メモリ記述子に対応するエントリを
共有メモリ管理表7000からみつけ、そのエントリに
おける第1のOSの共有メモリオブジェクトハンドル7
030を用いて、第1のOS1200の共有メモリ通信
機能1440の仮想空間マッピング要求のシステムコー
ルを発行し(ステップ7210)、マッピングされた仮
想空間アドレスをリターンする(ステップ7220)。
が発行した共有メモリ通信の仮想空間マッピング要求シ
ステムコールの処理のフローである。このシステムコー
ルは、共有メモリ記述子をパラメータに指定して仮想空
間マッピング要求を行い、マッピングされた仮想空間ア
ドレスを得る。まず、当該仮想空間マッピング要求にお
いて指定された共有メモリ記述子に対応するエントリを
共有メモリ管理表7000からみつけ、そのエントリに
おける第1のOSの共有メモリオブジェクトハンドル7
030を用いて、第1のOS1200の共有メモリ通信
機能1440の仮想空間マッピング要求のシステムコー
ルを発行し(ステップ7210)、マッピングされた仮
想空間アドレスをリターンする(ステップ7220)。
【0060】図34は、第1のOSのプロセス1600
が発行した共有メモリ通信の仮想空間マッピング解除要
求システムコールの処理のフローである。このシステム
コールは、共有メモリ記述子をパラメータに指定して仮
想空間マッピング解除要求を行う。まず、当該仮想空間
マッピング解除要求において指定された共有メモリ記述
子に対応するエントリを共有メモリ管理表7000から
みつけ、そのエントリにおける第1のOSの共有メモリ
オブジェクトハンドル7030を用いて、第1のOS1
200の共有メモリ通信機能1440の仮想空間マッピ
ング解除要求のシステムコールを発行し(ステップ73
10)、リターンする(ステップ7320)。
が発行した共有メモリ通信の仮想空間マッピング解除要
求システムコールの処理のフローである。このシステム
コールは、共有メモリ記述子をパラメータに指定して仮
想空間マッピング解除要求を行う。まず、当該仮想空間
マッピング解除要求において指定された共有メモリ記述
子に対応するエントリを共有メモリ管理表7000から
みつけ、そのエントリにおける第1のOSの共有メモリ
オブジェクトハンドル7030を用いて、第1のOS1
200の共有メモリ通信機能1440の仮想空間マッピ
ング解除要求のシステムコールを発行し(ステップ73
10)、リターンする(ステップ7320)。
【0061】図35は、第1のOSのプロセス1600
が発行した共有メモリ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリ記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定された共有メ
モリ記述子に対応するエントリを共有メモリ管理表70
00からみつけ、そのエントリにおける第1のOSの共
有メモリオブジェクトハンドル7030を用いて、第1
のOS1200の共有メモリ通信機能1440のクロー
ズ要求のシステムコールを発行し(ステップ741
0)、第1のOSの共有メモリオブジェクトハンドル有
効フラグ7040をOFFにし(ステップ7420)、
エントリ有効フラグ7010をOFFにして当該エント
リを無効にして(ステップ7430)、リターンする
(ステップ7440)。
が発行した共有メモリ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリ記述子をパラメータに指定してクローズ要求を行
う。まず、当該クローズ要求において指定された共有メ
モリ記述子に対応するエントリを共有メモリ管理表70
00からみつけ、そのエントリにおける第1のOSの共
有メモリオブジェクトハンドル7030を用いて、第1
のOS1200の共有メモリ通信機能1440のクロー
ズ要求のシステムコールを発行し(ステップ741
0)、第1のOSの共有メモリオブジェクトハンドル有
効フラグ7040をOFFにし(ステップ7420)、
エントリ有効フラグ7010をOFFにして当該エント
リを無効にして(ステップ7430)、リターンする
(ステップ7440)。
【0062】図36は、第2のOSのプロセス1700
が発行した共有メモリ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリの名前をパラメータに指定してオープン要求を行
い、その結果として共有メモリ記述子を得る。以降の共
有メモリ通信関連のシステムコールでは、この共有メモ
リ記述子を用いることになる。第2のOS1300は共
有メモリ通信機能を有しない。まず、共有メモリ管理表
7000を調べて、エントリ有効フラグ7010がON
で、かつ、指定された共有メモリの名前と共有メモリの
名前7020が同じであるエントリを探す(ステップ7
510)。共有メモリ管理表7000にこのようなエン
トリがあれば、既にこの名前の共有メモリはオープンさ
れていることになる。そこで、そのエントリの共有メモ
リ記述子を返して終了する(ステップ7590)。
が発行した共有メモリ通信のオープン要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリの名前をパラメータに指定してオープン要求を行
い、その結果として共有メモリ記述子を得る。以降の共
有メモリ通信関連のシステムコールでは、この共有メモ
リ記述子を用いることになる。第2のOS1300は共
有メモリ通信機能を有しない。まず、共有メモリ管理表
7000を調べて、エントリ有効フラグ7010がON
で、かつ、指定された共有メモリの名前と共有メモリの
名前7020が同じであるエントリを探す(ステップ7
510)。共有メモリ管理表7000にこのようなエン
トリがあれば、既にこの名前の共有メモリはオープンさ
れていることになる。そこで、そのエントリの共有メモ
リ記述子を返して終了する(ステップ7590)。
【0063】一方、ステップ7510で、エントリ有効
フラグ7010がONで、かつ、指定された共有メモリ
の名前と共有メモリの名前7020が同じであるエント
リが、共有メモリ管理表7000になければ、エントリ
有効フラグ7010がOFFのエントリを探す(ステッ
プ7520)。なければ、共有メモリ管理表7000の
すべてのエントリが使用中であることになるのでエラー
リターンする(ステップ7530)。エントリ有効フラ
グ7010がOFFのエントリがあれば、第1のOS1
200へコンテキスト切替えを行い(ステップ753
5)、第1のOS1200の共有メモリ通信機能144
0のオープンのシステムコールをこの共有メモリの名前
で発行することにより、第1のOS1200の共有メモ
リ通信機能1440のオブジェクトハンドルを獲得し
(ステップ7540)、獲得したオブジェクトハンドル
を第1のOSの共有メモリオブジェクトハンドル703
0にセットし(ステップ7550)、第1のOSの共有
メモリオブジェクトハンドル有効フラグ7040をON
にし(ステップ7560)、パラメータとして指定され
た共有メモリの名前を共有メモリの名前7020に格納
し(ステップ7565)、エントリ有効フラグ7010
をONにして(ステップ7570)、第2のOS130
0へコンテキスト切替えを行い(ステップ7575)、
そのエントリの共有メモリ記述子を返して終了する(ス
テップ7580)。
フラグ7010がONで、かつ、指定された共有メモリ
の名前と共有メモリの名前7020が同じであるエント
リが、共有メモリ管理表7000になければ、エントリ
有効フラグ7010がOFFのエントリを探す(ステッ
プ7520)。なければ、共有メモリ管理表7000の
すべてのエントリが使用中であることになるのでエラー
リターンする(ステップ7530)。エントリ有効フラ
グ7010がOFFのエントリがあれば、第1のOS1
200へコンテキスト切替えを行い(ステップ753
5)、第1のOS1200の共有メモリ通信機能144
0のオープンのシステムコールをこの共有メモリの名前
で発行することにより、第1のOS1200の共有メモ
リ通信機能1440のオブジェクトハンドルを獲得し
(ステップ7540)、獲得したオブジェクトハンドル
を第1のOSの共有メモリオブジェクトハンドル703
0にセットし(ステップ7550)、第1のOSの共有
メモリオブジェクトハンドル有効フラグ7040をON
にし(ステップ7560)、パラメータとして指定され
た共有メモリの名前を共有メモリの名前7020に格納
し(ステップ7565)、エントリ有効フラグ7010
をONにして(ステップ7570)、第2のOS130
0へコンテキスト切替えを行い(ステップ7575)、
そのエントリの共有メモリ記述子を返して終了する(ス
テップ7580)。
【0064】図37は、第2のOSのプロセス1700
が発行した共有メモリ通信の仮想空間マッピング要求シ
ステムコールの処理のフローである。このシステムコー
ルは、共有メモリ記述子をパラメータに指定して仮想空
間マッピング要求を行う。まず、第1のOS1200へ
のコンテキスト切替えを行い(ステップ7610)、当
該仮想空間マッピング要求において指定された共有メモ
リ記述子に対応するエントリを共有メモリ管理表700
0からみつけ、そのエントリにおける第1のOSの共有
メモリオブジェクトハンドル7030を用いて、第1の
OS1200の共有メモリ通信機能1440の仮想空間
マッピング要求のシステムコールを発行し(ステップ7
620)、第2のOS1300へのコンテキスト切替え
を行い(ステップ7630)、リターンする(ステップ
7640)。
が発行した共有メモリ通信の仮想空間マッピング要求シ
ステムコールの処理のフローである。このシステムコー
ルは、共有メモリ記述子をパラメータに指定して仮想空
間マッピング要求を行う。まず、第1のOS1200へ
のコンテキスト切替えを行い(ステップ7610)、当
該仮想空間マッピング要求において指定された共有メモ
リ記述子に対応するエントリを共有メモリ管理表700
0からみつけ、そのエントリにおける第1のOSの共有
メモリオブジェクトハンドル7030を用いて、第1の
OS1200の共有メモリ通信機能1440の仮想空間
マッピング要求のシステムコールを発行し(ステップ7
620)、第2のOS1300へのコンテキスト切替え
を行い(ステップ7630)、リターンする(ステップ
7640)。
【0065】図38は、第2のOSのプロセス1700
が発行した共有メモリ通信の仮想空間マッピング解除要
求システムコールの処理のフローである。このシステム
コールは、共有メモリ記述子をパラメータに指定して仮
想空間マッピング解除要求を行う。まず、第1のOS1
200へのコンテキスト切替えを行い(ステップ771
0)、当該仮想空間マッピング要求において指定された
共有メモリ記述子に対応するエントリを共有メモリ管理
表7000からみつけ、そのエントリにおける第1のO
Sの共有メモリオブジェクトハンドル7030を用い
て、第1のOS1200の共有メモリ通信機能1440
の仮想空間マッピング解除要求のシステムコールを発行
し(ステップ7720)、第2のOS1300へのコン
テキスト切替えを行い(ステップ7730)、リターン
する(ステップ7740)。
が発行した共有メモリ通信の仮想空間マッピング解除要
求システムコールの処理のフローである。このシステム
コールは、共有メモリ記述子をパラメータに指定して仮
想空間マッピング解除要求を行う。まず、第1のOS1
200へのコンテキスト切替えを行い(ステップ771
0)、当該仮想空間マッピング要求において指定された
共有メモリ記述子に対応するエントリを共有メモリ管理
表7000からみつけ、そのエントリにおける第1のO
Sの共有メモリオブジェクトハンドル7030を用い
て、第1のOS1200の共有メモリ通信機能1440
の仮想空間マッピング解除要求のシステムコールを発行
し(ステップ7720)、第2のOS1300へのコン
テキスト切替えを行い(ステップ7730)、リターン
する(ステップ7740)。
【0066】図39は、第2のOSのプロセス1700
が発行した共有メモリ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリ記述子をパラメータに指定してクローズ要求を行
う。まず、第1のOS1200へのコンテキスト切替え
を行い(ステップ7810)、当該クローズ要求におい
て指定された共有メモリ記述子に対応するエントリを共
有メモリ管理表7000からみつけ、そのエントリにお
ける第1のOSの共有メモリオブジェクトハンドル70
30を用いて、第1のOS1200の共有メモリ通信機
能1440のクローズ要求のシステムコールを発行し
(ステップ7820)、第1のOSの共有メモリオブジ
ェクトハンドル有効フラグ7040をOFFにし(ステ
ップ7830)、エントリ有効フラグ7010をOFF
にして当該エントリを無効にして(ステップ784
0)、第2のOS1300へのコンテキスト切替えを行
い(ステップ7850)、リターンする(ステップ78
60)。
が発行した共有メモリ通信のクローズ要求システムコー
ルの処理のフローである。このシステムコールは、共有
メモリ記述子をパラメータに指定してクローズ要求を行
う。まず、第1のOS1200へのコンテキスト切替え
を行い(ステップ7810)、当該クローズ要求におい
て指定された共有メモリ記述子に対応するエントリを共
有メモリ管理表7000からみつけ、そのエントリにお
ける第1のOSの共有メモリオブジェクトハンドル70
30を用いて、第1のOS1200の共有メモリ通信機
能1440のクローズ要求のシステムコールを発行し
(ステップ7820)、第1のOSの共有メモリオブジ
ェクトハンドル有効フラグ7040をOFFにし(ステ
ップ7830)、エントリ有効フラグ7010をOFF
にして当該エントリを無効にして(ステップ784
0)、第2のOS1300へのコンテキスト切替えを行
い(ステップ7850)、リターンする(ステップ78
60)。
【0067】以上の図31から図39に示した処理によ
り、第1のOS1200が共有メモリ機能を有し、第2
のOS1300が共有メモリ機能を有さない時、第1の
OS上のプロセス1600が発行する、第1のOS上の
プロセス1600と第2のOS上のプロセス1700の
間のプロセス間通信における共有メモリ関連要求を、第
1のOS1200が有する共有メモリ機能を用いて処理
することが可能となり、そして、第2のOS上のプロセ
ス1700が発行する、第1のOS上のプロセス160
0と第2のOS上のプロセス1700の間のプロセス間
通信における共有メモリ関連要求を、第1のOS120
0が有する共有メモリ機能を用いて処理することが可能
となる。
り、第1のOS1200が共有メモリ機能を有し、第2
のOS1300が共有メモリ機能を有さない時、第1の
OS上のプロセス1600が発行する、第1のOS上の
プロセス1600と第2のOS上のプロセス1700の
間のプロセス間通信における共有メモリ関連要求を、第
1のOS1200が有する共有メモリ機能を用いて処理
することが可能となり、そして、第2のOS上のプロセ
ス1700が発行する、第1のOS上のプロセス160
0と第2のOS上のプロセス1700の間のプロセス間
通信における共有メモリ関連要求を、第1のOS120
0が有する共有メモリ機能を用いて処理することが可能
となる。
【0068】
【発明の効果】1台の計算機上で複数のオペレーティン
グシステム(OS)が動作するとき、それぞれのOS上
で動作するプロセス間でのプロセス間通信(イベント同
期、セマフォ、メッセージ、共有メモリ)が可能とな
る。そして、この通信において、それぞれのOSが持つ
自身のプロセス間通信機能を利用するので、実現が容易
になる。
グシステム(OS)が動作するとき、それぞれのOS上
で動作するプロセス間でのプロセス間通信(イベント同
期、セマフォ、メッセージ、共有メモリ)が可能とな
る。そして、この通信において、それぞれのOSが持つ
自身のプロセス間通信機能を利用するので、実現が容易
になる。
【図1】本発明の実施例を実施する計算機システムにお
けるOS間通信の概要を示す図である。
けるOS間通信の概要を示す図である。
【図2】第1のOSのプロセス1600および第2のO
Sのプロセス1700のプロセスのアドレス空間の構成
を示す図である。
Sのプロセス1700のプロセスのアドレス空間の構成
を示す図である。
【図3】管理表1900の中のイベント管理表3000
を示す図である。
を示す図である。
【図4】第1のOSのプロセス1600が発行したイベ
ント同期通信のオープン要求システムコールの処理のフ
ローである。
ント同期通信のオープン要求システムコールの処理のフ
ローである。
【図5】第1のOSのプロセス1600が発行したイベ
ント同期通信のウェイト要求システムコールの処理のフ
ローである。
ント同期通信のウェイト要求システムコールの処理のフ
ローである。
【図6】第1のOSのプロセス1600が発行したイベ
ント同期通信のポスト要求システムコールの処理のフロ
ーである。
ント同期通信のポスト要求システムコールの処理のフロ
ーである。
【図7】第1のOSのプロセス1600が発行したイベ
ント同期通信のクローズ要求システムコールの処理のフ
ローである。
ント同期通信のクローズ要求システムコールの処理のフ
ローである。
【図8】第2のOSのプロセス1700が発行したイベ
ント同期通信のオープン要求システムコールの処理のフ
ローである。
ント同期通信のオープン要求システムコールの処理のフ
ローである。
【図9】第2のOSのプロセス1700が発行したイベ
ント同期通信のウェイト要求システムコールの処理のフ
ローである。
ント同期通信のウェイト要求システムコールの処理のフ
ローである。
【図10】第2のOSのプロセス1700が発行したイ
ベント同期通信のポスト要求システムコールの処理のフ
ローである。
ベント同期通信のポスト要求システムコールの処理のフ
ローである。
【図11】第2のOSのプロセス1700が発行したイ
ベント同期通信のクローズ要求システムコールの処理の
フローである。
ベント同期通信のクローズ要求システムコールの処理の
フローである。
【図12】管理表1900の中のセマフォ管理表500
0を示す図である。
0を示す図である。
【図13】第1のOSのプロセス1600が発行したセ
マフォ通信のオープン要求システムコールの処理のフロ
ーである。
マフォ通信のオープン要求システムコールの処理のフロ
ーである。
【図14】第1のOSのプロセス1600が発行したセ
マフォ通信のセマフォウェイト要求システムコールの処
理のフローである。
マフォ通信のセマフォウェイト要求システムコールの処
理のフローである。
【図15】第1のOSのプロセス1600が発行したセ
マフォ通信のセマフォカウントアップ要求システムコー
ルの処理のフローである。
マフォ通信のセマフォカウントアップ要求システムコー
ルの処理のフローである。
【図16】第1のOSのプロセス1600が発行したセ
マフォ通信のクローズ要求システムコールの処理のフロ
ーである。
マフォ通信のクローズ要求システムコールの処理のフロ
ーである。
【図17】第2のOSのプロセス1700が発行したセ
マフォ通信のオープン要求システムコールの処理のフロ
ーである。
マフォ通信のオープン要求システムコールの処理のフロ
ーである。
【図18】第2のOSのプロセス1700が発行したセ
マフォ通信のセマフォウェイト要求システムコールの処
理のフローである。
マフォ通信のセマフォウェイト要求システムコールの処
理のフローである。
【図19】第2のOSのプロセス1700が発行したセ
マフォ通信のセマフォカウントアップ要求システムコー
ルの処理のフローである。
マフォ通信のセマフォカウントアップ要求システムコー
ルの処理のフローである。
【図20】第2のOSのプロセス1700が発行したセ
マフォ通信のクローズ要求システムコールの処理のフロ
ーである。
マフォ通信のクローズ要求システムコールの処理のフロ
ーである。
【図21】メッセージ通信関連のデータ構造を示す図で
ある。
ある。
【図22】管理表1900の中のメッセージキュー管理
表6100を示す図である。
表6100を示す図である。
【図23】第1のOSのプロセス1600が発行したメ
ッセージ通信のオープン要求システムコールの処理のフ
ローである。
ッセージ通信のオープン要求システムコールの処理のフ
ローである。
【図24】第1のOSのプロセス1600が発行したメ
ッセージ通信のメッセージ送信要求システムコールの処
理のフローである。
ッセージ通信のメッセージ送信要求システムコールの処
理のフローである。
【図25】第1のOSのプロセス1600が発行したメ
ッセージ通信のメッセージ受信要求システムコールの処
理のフローである。
ッセージ通信のメッセージ受信要求システムコールの処
理のフローである。
【図26】第1のOSのプロセス1600が発行したメ
ッセージ通信のクローズ要求システムコールの処理のフ
ローである。
ッセージ通信のクローズ要求システムコールの処理のフ
ローである。
【図27】第2のOSのプロセス1700が発行したメ
ッセージ通信のオープン要求システムコールの処理のフ
ローである。
ッセージ通信のオープン要求システムコールの処理のフ
ローである。
【図28】第2のOSのプロセス1700が発行したメ
ッセージ通信のメッセージ送信要求システムコールの処
理のフローである。
ッセージ通信のメッセージ送信要求システムコールの処
理のフローである。
【図29】第2のOSのプロセス1700が発行したメ
ッセージ通信のメッセージ受信要求システムコールの処
理のフローである。
ッセージ通信のメッセージ受信要求システムコールの処
理のフローである。
【図30】第2のOSのプロセス1700が発行したメ
ッセージ通信のクローズ要求システムコールの処理のフ
ローである。
ッセージ通信のクローズ要求システムコールの処理のフ
ローである。
【図31】管理表1900の中の共有メモリ管理表70
00を示す図である。
00を示す図である。
【図32】第1のOSのプロセス1600が発行した共
有メモリ通信のオープン要求システムコールの処理のフ
ローである。
有メモリ通信のオープン要求システムコールの処理のフ
ローである。
【図33】第1のOSのプロセス1600が発行した共
有メモリ通信の仮想空間マッピング要求システムコール
の処理のフローである。
有メモリ通信の仮想空間マッピング要求システムコール
の処理のフローである。
【図34】第1のOSのプロセス1600が発行した共
有メモリ通信の仮想空間マッピング解除要求システムコ
ールの処理のフローである。
有メモリ通信の仮想空間マッピング解除要求システムコ
ールの処理のフローである。
【図35】第1のOSのプロセス1600が発行した共
有メモリ通信のクローズ要求システムコールの処理のフ
ローである。
有メモリ通信のクローズ要求システムコールの処理のフ
ローである。
【図36】第2のOSのプロセス1700が発行した共
有メモリ通信のオープン要求システムコールの処理のフ
ローである。
有メモリ通信のオープン要求システムコールの処理のフ
ローである。
【図37】第2のOSのプロセス1700が発行した共
有メモリ通信の仮想空間マッピング要求システムコール
の処理のフローである。
有メモリ通信の仮想空間マッピング要求システムコール
の処理のフローである。
【図38】第2のOSのプロセス1700が発行した共
有メモリ通信の仮想空間マッピング解除要求システムコ
ールの処理のフローである。
有メモリ通信の仮想空間マッピング解除要求システムコ
ールの処理のフローである。
【図39】第2のOSのプロセス1700が発行した共
有メモリ通信のクローズ要求システムコールの処理のフ
ローである。
有メモリ通信のクローズ要求システムコールの処理のフ
ローである。
1000:ハードウェア、1100:複数OS制御プロ
グラム、1200:第1のOS、1250:ドライバ
部、1300:第2のOS、1350:ドライバ部、1
400:第1のOSのプロセス間通信機能、1410:
イベント同期通信機能、1420:セマフォ通信機能、
1440:共有メモリ通信機能、1500:第2のOS
のプロセス間通信機能、1510:イベント同期通信機
能、1600:第1のOSのプロセス、1700:第2
のOSのプロセス、1800:OS間通信処理部、18
10:メッセージ通信機能、1900:管理表、210
0:第1のOSのプロセス1600のアドレス空間、2
200:第2のOSのプロセス1700のアドレス空
間、2300:アプリケーション領域、2400:シス
テム領域、3000:イベント管理表、3010:エン
トリ有効フラグ、3020:イベントの名前、303
0:第1のOSのイベントオブジェクトハンドル、30
40:第1のOSのイベントオブジェクトハンドル有効
フラグ、3050:第2のOSのイベントオブジェクト
ハンドル、3060:第2のOSのイベントオブジェク
トハンドル有効フラグ、5000:セマフォ管理表、5
010:エントリ有効フラグ、5020:セマフォの名
前、5030:第1のOSのセマフォオブジェクトハン
ドル、5040:第1のOSのセマフォオブジェクトハ
ンドル有効フラグ、6000:メッセージキュー、60
10:メッセージヘッダ、6020:データバッファ、
6100:メッセージキュー管理表、6110:メッセ
ージキュー使用中フラグ6110、6120:メッセー
ジキューの名前、6130:メッセージキューポイン
タ、7000:共有メモリ管理表、7010:エントリ
有効フラグ、7020:共有メモリの名前、7030:
第1のOSの共有メモリオブジェクトハンドル、704
0:第1のOSの共有メモリオブジェクトハンドル有効
フラグ。
グラム、1200:第1のOS、1250:ドライバ
部、1300:第2のOS、1350:ドライバ部、1
400:第1のOSのプロセス間通信機能、1410:
イベント同期通信機能、1420:セマフォ通信機能、
1440:共有メモリ通信機能、1500:第2のOS
のプロセス間通信機能、1510:イベント同期通信機
能、1600:第1のOSのプロセス、1700:第2
のOSのプロセス、1800:OS間通信処理部、18
10:メッセージ通信機能、1900:管理表、210
0:第1のOSのプロセス1600のアドレス空間、2
200:第2のOSのプロセス1700のアドレス空
間、2300:アプリケーション領域、2400:シス
テム領域、3000:イベント管理表、3010:エン
トリ有効フラグ、3020:イベントの名前、303
0:第1のOSのイベントオブジェクトハンドル、30
40:第1のOSのイベントオブジェクトハンドル有効
フラグ、3050:第2のOSのイベントオブジェクト
ハンドル、3060:第2のOSのイベントオブジェク
トハンドル有効フラグ、5000:セマフォ管理表、5
010:エントリ有効フラグ、5020:セマフォの名
前、5030:第1のOSのセマフォオブジェクトハン
ドル、5040:第1のOSのセマフォオブジェクトハ
ンドル有効フラグ、6000:メッセージキュー、60
10:メッセージヘッダ、6020:データバッファ、
6100:メッセージキュー管理表、6110:メッセ
ージキュー使用中フラグ6110、6120:メッセー
ジキューの名前、6130:メッセージキューポイン
タ、7000:共有メモリ管理表、7010:エントリ
有効フラグ、7020:共有メモリの名前、7030:
第1のOSの共有メモリオブジェクトハンドル、704
0:第1のOSの共有メモリオブジェクトハンドル有効
フラグ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大野 洋 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 関口 知紀 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 柴田 隆 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内
Claims (45)
- 【請求項1】1台の計算機上で第1のオペレーティング
システム(OS)および第2のOSが同時に動作する計
算機システムにおいて、 第1のOS上のプロセスおよび第2のOS上のプロセス
が相互に通信する手段を有することを特徴とする異種O
S上プロセス間通信方法。 - 【請求項2】請求項1の異種OS上プロセス間通信方法
において、 第1のOS上のプロセスおよび第2のOS上のプロセス
が相互に通信する手段はイベント同期によるプロセス間
通信であることを特徴とする異種OS上プロセス間通信
方法。 - 【請求項3】請求項2の異種OS上プロセス間通信方法
において、 第1のOSおよび第2のOSが、それぞれ、イベント同
期によるプロセス間通信機能を有する時、 ウェイトしている第1のOS上のプロセスを第2のOS
上のプロセスがポストし、ウェイトしている第2のOS
上のプロセスを第1のOS上のプロセスがポストする手
段を有することを特徴とする計算機システム異種OS上
プロセス間通信方法。 - 【請求項4】請求項3の異種OS上プロセス間通信方法
において、 第1のOSのイベント同期によるプロセス間通信機能に
関するイベントオブジェクトのハンドルと、第2のOS
のイベント同期によるプロセス間通信機能に関するイベ
ントオブジェクトのハンドルと、第1のOS上のプロセ
スと第2のOS上のプロセスの間のイベント同期による
プロセス間通信のためのイベントの名前とのイベント管
理表を、第1のOSおよび第2のOSを制御するための
複数OS制御プログラムの中に有することを特徴とする
異種OS上プロセス間通信方法。 - 【請求項5】請求項4の異種OS上プロセス間通信方法
において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのオープンの要求を当該イ
ベントの名前を指定して行う場合、 当該イベント管理表をサーチして、当該イベントの名前
と同一のイベントの名前が格納されたエントリがあれ
ば、そのエントリの記述子を返すステップと、 当該イベント管理表をサーチして、当該イベントの名前
と同一のイベントの名前が格納されたエントリがなけれ
ば、第1のOSのイベント同期によるプロセス間通信機
能におけるオープン要求を発行し、その結果得られるイ
ベントオブジェクトのハンドルおよび当該イベントの名
前を当該イベント管理表の新たなエントリに格納し、そ
のエントリの記述子を返すステップを有することを特徴
とする異種OS上プロセス間通信方法。 - 【請求項6】請求項4の異種OS上プロセス間通信方法
において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのウェイトの要求を行う場
合、 上記のイベント管理表を用いて第1のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 上記の獲得したイベントオブジェクトハンドルを用い
て、第1のOSのイベント同期によるプロセス間通信機
能におけるウェイトの要求を発行するステップを有する
ことを特徴とする異種OS上プロセス間通信方法。 - 【請求項7】請求項4の異種OS上プロセス間通信方法
において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのポストの要求を行う場
合、 上記のイベント管理表を用いて第2のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 第1のOSのコンテキストから第2のOSのコンテキス
トに切り替えた後に、上記の獲得したイベントオブジェ
クトハンドルを用いて、第2のOSのイベント同期によ
るプロセス間通信機能におけるポストの要求を発行する
ステップを有することを特徴とする異種OS上プロセス
間通信方法。 - 【請求項8】請求項4の異種OS上プロセス間通信方法
において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのクローズの要求を行う場
合、 上記のイベント管理表を用いて第1のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 上記の獲得したイベントオブジェクトハンドルを用い
て、第1のOSのイベント同期によるプロセス間通信機
能におけるクローズの要求を発行するステップと、 イベント管理表の当該エントリを無効とするステップを
有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項9】請求項4の異種OS上プロセス間通信方法
において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのオープンの要求を当該イ
ベントの名前を指定して行う場合、 当該イベント管理表をサーチして、当該イベントの名前
と同一のイベントの名前が格納されたエントリがあれ
ば、そのエントリの記述子を返すステップと、 当該イベント管理表をサーチして、当該イベントの名前
と同一のイベントの名前が格納されたエントリがなけれ
ば、第2のOSのイベント同期によるプロセス間通信機
能におけるオープン要求を発行し、その結果得られるイ
ベントオブジェクトのハンドルおよび当該イベントの名
前を当該イベント管理表の新たなエントリに格納し、そ
のエントリの記述子を返すステップを有することを特徴
とする異種OS上プロセス間通信方法。 - 【請求項10】請求項4の異種OS上プロセス間通信方
法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのウェイトの要求を行う場
合、 上記のイベント管理表を用いて第2のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 上記の獲得したイベントオブジェクトハンドルを用い
て、第2のOSのイベント同期によるプロセス間通信機
能におけるウェイトの要求を発行するステップを有する
ことを特徴とする異種OS上プロセス間通信方法。 - 【請求項11】請求項4の異種OS上プロセス間通信方
法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのポストの要求を行う場
合、 上記のイベント管理表を用いて第1のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替えた後に、上記の獲得したイベントオブジェ
クトハンドルを用いて、第1のOSのイベント同期によ
るプロセス間通信機能におけるポストの要求を発行する
ステップを有することを特徴とする異種OS上プロセス
間通信方法。 - 【請求項12】請求項4の異種OS上プロセス間通信方
法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のイベント同期によるプロ
セス間通信におけるイベントのクローズの要求を行う場
合、 上記のイベント管理表を用いて第2のOSのイベント同
期によるプロセス間通信のイベントオブジェクトハンド
ルを得るステップと、 上記の獲得したイベントオブジェクトハンドルを用い
て、第2のOSのイベント同期によるプロセス間通信機
能におけるクローズの要求を発行するステップと、 イベント管理表の当該エントリを無効とするステップを
有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項13】請求項1の異種OS上プロセス間通信方
法において、 第1のOS上のプロセスおよび第2のOS上のプロセス
が相互に通信する手段はセマフォであることを特徴とす
る異種OS上プロセス間通信方法。 - 【請求項14】請求項13の異種OS上プロセス間通信
方法において、 第1のOSがセマフォ機能を有し、第2のOSがセマフ
ォ機能を有さない時、 第1のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
におけるセマフォ関連要求を、第1のOSが有するセマ
フォ機能を用いて処理するステップと、 第2のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
におけるセマフォ関連要求を、第1のOSが有するセマ
フォ機能を用いて処理するステップとを有することを特
徴とする異種OS上プロセス間通信方法。 - 【請求項15】請求項14の異種OS上プロセス間通信
方法において、 第1のOSのセマフォ機能に関するセマフォオブジェク
トのハンドルと、第1のOS上のプロセスと第2のOS
上のプロセスの間のプロセス間通信におけるセマフォの
名前とのセマフォ管理表を、第1のOSおよび第2のO
Sを制御するための複数OS制御プログラムの中に有す
ることを特徴とする異種OS上プロセス間通信方法。 - 【請求項16】請求項15の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのオープンの要求を当該セマフォの名前を指定
して行う場合、 当該セマフォ管理表をサーチして、当該セマフォの名前
と同一のセマフォの名前が格納されたエントリがあれ
ば、そのエントリの記述子を返すステップと、 当該セマフォ管理表をサーチして、当該セマフォの名前
と同一のセマフォの名前が格納されたエントリがなけれ
ば、第1のOSのセマフォ機能におけるオープン要求を
発行し、その結果得られるセマフォオブジェクトのハン
ドルおよび当該セマフォの名前を当該セマフォ管理表の
新たなエントリに格納し、そのエントリの記述子を返す
ステップを有することを特徴とする異種OS上プロセス
間通信方法。 - 【請求項17】請求項15の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのウェイトの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 上記の獲得したセマフォオブジェクトハンドルを用い
て、第1のOSのセマフォ機能におけるセマフォのウェ
イトの要求を発行するステップを有することを特徴とす
る異種OS上プロセス間通信方法。 - 【請求項18】請求項15の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのカウントアップの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 上記の獲得したセマフォオブジェクトハンドルを用い
て、第1のOSのセマフォ機能におけるセマフォのカウ
ントアップの要求を発行するステップを有することを特
徴とする異種OS上プロセス間通信方法。 - 【請求項19】請求項15の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのクローズの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 上記の獲得したセマフォオブジェクトハンドルを用い
て、第1のOSのセマフォ機能におけるクローズの要求
を発行するステップと、 セマフォ管理表の当該エントリを無効とするステップを
有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項20】請求項15の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのオープンの要求を当該セマフォの名前を指定
して行う場合、 当該セマフォ管理表をサーチして、当該セマフォの名前
と同一のセマフォの名前が格納されたエントリがあれ
ば、そのエントリの記述子を返すステップと、 当該セマフォ管理表をサーチして、当該セマフォの名前
と同一のセマフォの名前が格納されたエントリがなけれ
ば、第2のOSのコンテキストから第1のOSのコンテ
キストに切り替えた後に、第1のOSのセマフォ機能に
おけるオープン要求を発行し、その結果得られるセマフ
ォオブジェクトのハンドルおよび当該セマフォの名前を
当該セマフォ管理表の新たなエントリに格納し、そのエ
ントリの記述子を返すステップを有することを特徴とす
る異種OS上プロセス間通信方法。 - 【請求項21】請求項15の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのウェイトの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替え後に、上記の獲得したセマフォオブジェク
トハンドルを用いて、第1のOSのセマフォ機能におけ
るセマフォのウェイトの要求を発行するステップを有す
ることを特徴とする異種OS上プロセス間通信方法。 - 【請求項22】請求項15の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのカウントアップの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替えた後に、上記の獲得したセマフォオブジェ
クトハンドルを用いて、第1のOSのセマフォ機能にお
けるセマフォのカウントアップの要求を発行するステッ
プを有することを特徴とする異種OS上プロセス間通信
方法。 - 【請求項23】請求項15の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
セマフォのクローズの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSのセマフォに
よるプロセス間通信のセマフォオブジェクトハンドルを
得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替えた後に、上記の獲得したセマフォオブジェ
クトハンドルを用いて、第1のOSのセマフォ機能にお
けるクローズの要求を発行するステップと、 セマフォ管理表の当該エントリを無効とするステップを
有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項24】請求項1の異種OS上プロセス間通信方
法において、 第1のOS上のプロセスおよび第2のOS上のプロセス
が相互に通信する手段はメッセージキューを用いたメッ
セージであることを特徴とする異種OS上プロセス間通
信方法。 - 【請求項25】請求項24の異種OS上プロセス間通信
方法において、 第1のOSがメッセージ機能を有さず、第2のOSもメ
ッセージ機能を有さない時、 第1のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
におけるメッセージ関連要求を処理するステップと、 第2のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
におけるメッセージ関連要求を処理するステップとを有
することを特徴とする異種OS上プロセス間通信方法。 - 【請求項26】請求項25の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスと第2のOS上のプロセスの間
のプロセス間通信におけるメッセージキューの名前を管
理するメッセージキュー管理表を、第1のOSおよび第
2のOSを制御するための複数OS制御プログラムの中
に有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項27】請求項26の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージキューのオープンの要求を当該メッセージキ
ューの名前を指定して行う場合、 当該メッセージキュー管理表をサーチして、当該メッセ
ージキューの名前と同一のメッセージキューの名前が格
納されたエントリがあれば、そのエントリの記述子を返
すステップと、 当該メッセージキュー管理表をサーチして、当該メッセ
ージキューの名前と同一のメッセージキューの名前が格
納されたエントリがなければ、新たなメッセージキュー
を確保して、当該メッセージキューの名前を当該メッセ
ージキュー管理表の新たなエントリに格納し、そのエン
トリの記述子を返すステップを有することを特徴とする
異種OS上プロセス間通信方法。 - 【請求項28】請求項26の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージ送信の要求を行う場合、 第1のOS上のプロセスの空間上のメッセージデータ
を、メッセージキューが存在する空間上のバッファへコ
ピーするステップと、 メッセージヘッダを割り当てて、それをメッセージキュ
ーのメッセージヘッダリストの最後に連結するステップ
と、 当該メッセージキューに対するメッセージ到着をウェイ
トしている第2のOS上のプロセスをポストするステッ
プを有することを特徴とする異種OS上プロセス間通信
方法。 - 【請求項29】請求項26の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージ受信の要求を行う場合、 当該受信要求において指定したメッセージキューの最初
のメッセージを、当該第1のOS上のプロセスの空間の
当該受信要求において指定されたアドレスへコピーする
ステップと、 当該受信要求において指定したメッセージキューにメッ
セージがなかった場合には、当該メッセージキューに対
するメッセージ到着をウェイトするステップを有するこ
とを特徴とする異種OS上プロセス間通信方法。 - 【請求項30】請求項26の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージキューのクローズの要求を行う場合、 メッセージキュー管理表の当該エントリを無効とするス
テップを有することを特徴とする異種OS上プロセス間
通信方法。 - 【請求項31】請求項26の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージキューのオープンの要求を当該メッセージキ
ューの名前を指定して行う場合、 当該メッセージキュー管理表をサーチして、当該メッセ
ージキューの名前と同一のメッセージキューの名前が格
納されたエントリがあれば、そのエントリの記述子を返
すステップと、 当該メッセージキュー管理表をサーチして、当該メッセ
ージキューの名前と同一のメッセージキューの名前が格
納されたエントリがなければ、新たなメッセージキュー
を確保して、当該メッセージキューの名前を当該メッセ
ージキュー管理表の新たなエントリに格納し、そのエン
トリの記述子を返すステップを有することを特徴とする
異種OS上プロセス間通信方法。 - 【請求項32】請求項26の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージ送信の要求を行う場合、 第2のOS上のプロセスの空間上のメッセージデータ
を、メッセージキューが存在する空間上のバッファへコ
ピーするステップと、 メッセージヘッダを割り当てて、それをメッセージキュ
ーのメッセージヘッダリストの最後に連結するステップ
と、 当該メッセージキューに対するメッセージ到着をウェイ
トしている第1のOS上のプロセスをポストするステッ
プを有することを特徴とする異種OS上プロセス間通信
方法。 - 【請求項33】請求項26の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージ受信の要求を行う場合、 当該受信要求において指定したメッセージキューの最初
のメッセージを、当該第2のOS上のプロセスの空間の
当該受信要求において指定されたアドレスへコピーする
ステップと、 当該受信要求において指定したメッセージキューにメッ
セージがなかった場合には、当該メッセージキューに対
するメッセージ到着をウェイトするステップを有するこ
とを特徴とする異種OS上プロセス間通信方法。 - 【請求項34】請求項26の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
メッセージキューのクローズの要求を行う場合、 メッセージキュー管理表の当該エントリを無効とするス
テップを有することを特徴とする異種OS上プロセス間
通信方法。 - 【請求項35】請求項1の異種OS上プロセス間通信方
法において、 第1のOS上のプロセスおよび第2のOS上のプロセス
が相互に通信する手段は共有メモリであることを特徴と
する異種OS上プロセス間通信方法。 - 【請求項36】請求項35の異種OS上プロセス間通信
方法において、 第1のOSが共有メモリ機能を有し、第2のOSが共有
メモリ機能を有さない時、 第1のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
における共有メモリ関連要求を、第1のOSが有する共
有メモリ機能を用いて処理するステップと、 第2のOS上のプロセスが発行する、第1のOS上のプ
ロセスと第2のOS上のプロセスの間のプロセス間通信
における共有メモリ関連要求を、第1のOSが有する共
有メモリ機能を用いて処理するステップを有することを
特徴とする異種OS上プロセス間通信方法。 - 【請求項37】請求項36の異種OS上プロセス間通信
方法において、 第1のOSの共有メモリに関する共有メモリオブジェク
トのハンドルと、第1のOS上のプロセスと第2のOS
上のプロセスの間のプロセス間通信における共有メモリ
の名前との共有メモリ管理表を、第1のOSおよび第2
のOSを制御するための複数OS制御プログラムの中に
有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項38】請求項37の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリのオープンの要求を当該共有メモリの名前を
指定して行う場合、 当該共有メモリ管理表をサーチして、当該共有メモリの
名前と同一の共有メモリの名前が格納されたエントリが
あれば、そのエントリの記述子を返すステップと、 当該共有メモリ管理表をサーチして、当該共有メモリの
名前と同一の共有メモリの名前が格納されたエントリが
なければ、第1のOSの共有メモリ機能におけるオープ
ン要求を発行し、その結果得られる共有メモリオブジェ
クトのハンドルおよび当該共有メモリの名前を当該共有
メモリ管理表の新たなエントリに格納し、そのエントリ
の記述子を返すステップを有することを特徴とする異種
OS上プロセス間通信方法。 - 【請求項39】請求項37の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリの仮想空間マッピングの要求を行う場合、 上記のセマフォ管理表を用いて第1のOSの共有メモリ
によるプロセス間通信の共有メモリオブジェクトハンド
ルを得るステップと、 上記の獲得した共有メモリオブジェクトハンドルを用い
て、第1のOSの共有メモリ機能における共有メモリの
仮想空間マッピングの要求を発行するステップを有する
ことを特徴とする異種OS上プロセス間通信方法。 - 【請求項40】請求項37の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリの仮想空間マッピング解除の要求を行う場
合、 上記の共有メモリ管理表を用いて第1のOSの共有メモ
リによるプロセス間通信の共有メモリオブジェクトハン
ドルを得るステップと、 上記の獲得した共有メモリオブジェクトハンドルを用い
て、第1のOSの共有メモリ機能における共有メモリの
仮想空間マッピング解除の要求を発行するステップを有
することを特徴とする異種OS上プロセス間通信方法。 - 【請求項41】請求項37の異種OS上プロセス間通信
方法において、 第1のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリのクローズの要求を行う場合、 上記の共有メモリ管理表を用いて第1のOSの共有メモ
リによるプロセス間通信の共有メモリオブジェクトハン
ドルを得るステップと、 上記の獲得した共有メモリオブジェクトハンドルを用い
て、第1のOSの共有メモリ機能におけるクローズの要
求を発行するステップと、 共有メモリ管理表の当該エントリを無効とするステップ
を有することを特徴とする異種OS上プロセス間通信方
法。 - 【請求項42】請求項37の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリのオープンの要求を当該共有メモリの名前を
指定して行う場合、 当該共有メモリ管理表をサーチして、当該共有メモリの
名前と同一の共有メモリの名前が格納されたエントリが
あれば、そのエントリの記述子を返すステップと、 当該共有メモリ管理表をサーチして、当該共有メモリの
名前と同一の共有メモリの名前が格納されたエントリが
なければ、第2のOSのコンテキストから第1のOSの
コンテキストに切り替えた後に、第1のOSの共有メモ
リ機能におけるオープン要求を発行し、その結果得られ
る共有メモリオブジェクトのハンドルおよび当該共有メ
モリの名前を当該共有メモリ管理表の新たなエントリに
格納し、そのエントリの記述子を返すステップを有する
ことを特徴とする異種OS上プロセス間通信方法。 - 【請求項43】請求項37の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリの仮想空間マッピングの要求を行う場合、 上記の共有メモリ管理表を用いて第1のOSの共有メモ
リによるプロセス間通信の共有メモリオブジェクトハン
ドルを得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替え後に、上記の獲得した共有メモリオブジェ
クトハンドルを用いて、第1のOSの共有メモリ機能に
おける共有メモリの仮想空間マッピングの要求を発行す
るステップを有することを特徴とする異種OS上プロセ
ス間通信方法。 - 【請求項44】請求項37の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリの仮想空間マッピング解除の要求を行う場
合、 上記の共有メモリ管理表を用いて第1のOSの共有メモ
リによるプロセス間通信の共有メモリオブジェクトハン
ドルを得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替えた後に、上記の獲得した共有メモリオブジ
ェクトハンドルを用いて、第1のOSの共有メモリ機能
における共有メモリの仮想空間マッピング解除の要求を
発行するステップを有することを特徴とする異種OS上
プロセス間通信方法。 - 【請求項45】請求項37の異種OS上プロセス間通信
方法において、 第2のOS上のプロセスが、第1のOS上のプロセスと
第2のOS上のプロセスの間のプロセス間通信における
共有メモリのクローズの要求を行う場合、 上記の共有メモリ管理表を用いて第1のOSの共有メモ
リによるプロセス間通信の共有メモリオブジェクトハン
ドルを得るステップと、 第2のOSのコンテキストから第1のOSのコンテキス
トに切り替えた後に、上記の獲得した共有メモリオブジ
ェクトハンドルを用いて、第1のOSの共有メモリ機能
におけるクローズの要求を発行するステップと、 共有メモリ管理表の当該エントリを無効とするステップ
を有することを特徴とする異種OS上プロセス間通信方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9248176A JPH1185546A (ja) | 1997-09-12 | 1997-09-12 | 異種os上プロセス間通信方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9248176A JPH1185546A (ja) | 1997-09-12 | 1997-09-12 | 異種os上プロセス間通信方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1185546A true JPH1185546A (ja) | 1999-03-30 |
Family
ID=17174345
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9248176A Pending JPH1185546A (ja) | 1997-09-12 | 1997-09-12 | 異種os上プロセス間通信方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1185546A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7047407B2 (en) | 2001-12-05 | 2006-05-16 | Hitachi, Ltd. | Network system enabling transmission control |
| JP2007179190A (ja) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | セマフォ管理方法、およびセマフォ管理プログラム |
| US8042117B2 (en) | 2006-07-25 | 2011-10-18 | Ntt Docomo, Inc. | Operating system switching control device and computer system |
| JP2012215986A (ja) * | 2011-03-31 | 2012-11-08 | Canon Electronics Inc | 周辺装置、画像読取装置および情報処理システム |
| US9032401B2 (en) | 2011-05-16 | 2015-05-12 | Panasonic Intellectual Property Corporation Of America | Virtual computer system having a first virtual computer that executes a protected process, a second virtual computer that executes an unprotected process, and a hypervisor that controls the first and second virtual computers |
| US9176745B2 (en) | 2011-03-23 | 2015-11-03 | Canon Kabushiki Kaisha | Peripheral device used while being connected to information processing apparatus |
| CN112612582A (zh) * | 2020-12-14 | 2021-04-06 | 北京和利时系统工程有限公司 | 信号量功能实现方法和装置 |
| JP2022079764A (ja) * | 2019-10-04 | 2022-05-26 | イーソル株式会社 | 同期制御システムおよび同期制御方法 |
-
1997
- 1997-09-12 JP JP9248176A patent/JPH1185546A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7047407B2 (en) | 2001-12-05 | 2006-05-16 | Hitachi, Ltd. | Network system enabling transmission control |
| JP2007179190A (ja) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | セマフォ管理方法、およびセマフォ管理プログラム |
| US8042117B2 (en) | 2006-07-25 | 2011-10-18 | Ntt Docomo, Inc. | Operating system switching control device and computer system |
| US9176745B2 (en) | 2011-03-23 | 2015-11-03 | Canon Kabushiki Kaisha | Peripheral device used while being connected to information processing apparatus |
| JP2012215986A (ja) * | 2011-03-31 | 2012-11-08 | Canon Electronics Inc | 周辺装置、画像読取装置および情報処理システム |
| US9032401B2 (en) | 2011-05-16 | 2015-05-12 | Panasonic Intellectual Property Corporation Of America | Virtual computer system having a first virtual computer that executes a protected process, a second virtual computer that executes an unprotected process, and a hypervisor that controls the first and second virtual computers |
| JP2022079764A (ja) * | 2019-10-04 | 2022-05-26 | イーソル株式会社 | 同期制御システムおよび同期制御方法 |
| CN112612582A (zh) * | 2020-12-14 | 2021-04-06 | 北京和利时系统工程有限公司 | 信号量功能实现方法和装置 |
| CN112612582B (zh) * | 2020-12-14 | 2024-05-28 | 北京和利时控制技术有限公司 | 信号量功能实现方法和装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0205945B1 (en) | Process transparent multi storage mode data transfer and buffer control | |
| EP0205946B1 (en) | Flexible data transmission for message based protocols | |
| US4901231A (en) | Extended process for a multiprocessor system | |
| JP3512910B2 (ja) | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 | |
| US5062040A (en) | Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system | |
| US4849877A (en) | Virtual execution of programs on a multiprocessor system | |
| JPH04233654A (ja) | コンピュータシステム | |
| JPH0816470A (ja) | 並列計算機 | |
| JP2000020490A (ja) | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 | |
| JPH06231022A (ja) | コンピュータシステムに用いる名前スペースの一部分を別の名前スペースの一部分として利用可能にするための装置及びその方法 | |
| JPS63201860A (ja) | ネツトワーク管理システム | |
| JP2000330806A (ja) | 計算機システム | |
| JPH09508734A (ja) | 分散形データベースシステム | |
| CN113032101A (zh) | 虚拟机的资源分配方法、服务器及计算机可读存储介质 | |
| JPH1185546A (ja) | 異種os上プロセス間通信方法 | |
| US20220179690A1 (en) | System and Method for Queuing Work within a Virtualized Scheduler Based on In-Unit Accounting of In-Unit Entries | |
| EP0205948B1 (en) | Distributed data management mechanism | |
| EP0459774A2 (en) | File access system in distributed data processing system | |
| CN120196437A (zh) | 网络性能优化方法及优化装置 | |
| CN114978589B (zh) | 一种轻量级云操作系统及其构建方法 | |
| Clauss et al. | Towards a multicore communications api implementation (mcapi) for the intel single-chip cloud computer (scc) | |
| JP3349547B2 (ja) | スケジューリングシステム | |
| Cvijović et al. | An approach to the design of distributed real-time operating systems | |
| Maginnis | Design considerations for the transformation of MINIX into a distributed operating system | |
| EP0114357A2 (en) | Controlling multiple distributed computations in a multi cpu environnment from a single port |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040511 |