JPH0520100A - オペレーテイングシステム - Google Patents
オペレーテイングシステムInfo
- Publication number
- JPH0520100A JPH0520100A JP17120791A JP17120791A JPH0520100A JP H0520100 A JPH0520100 A JP H0520100A JP 17120791 A JP17120791 A JP 17120791A JP 17120791 A JP17120791 A JP 17120791A JP H0520100 A JPH0520100 A JP H0520100A
- Authority
- JP
- Japan
- Prior art keywords
- message
- operating system
- data
- daemon
- macro
- 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)【要約】
【目的】 メッセージ資源をオペレーティングシステム
ではなく、システムのデーモンプロセスが管理すること
により、メッセージ資源の動的な拡張を行う。 【構成】 このオペレーティングシステムのメッセージ
通信機能は、オペレーティングシステム内のスタティッ
クなデータ領域で行っていたメッセージデータ管理をメ
ッセージ処理用に専門に用意したデーモンプロセス(メ
ッセージデーモン4)で行うことにより、システムが保
留しているメッセージデータをプロセス論理空間内で管
理できるようにしたものである。
ではなく、システムのデーモンプロセスが管理すること
により、メッセージ資源の動的な拡張を行う。 【構成】 このオペレーティングシステムのメッセージ
通信機能は、オペレーティングシステム内のスタティッ
クなデータ領域で行っていたメッセージデータ管理をメ
ッセージ処理用に専門に用意したデーモンプロセス(メ
ッセージデーモン4)で行うことにより、システムが保
留しているメッセージデータをプロセス論理空間内で管
理できるようにしたものである。
Description
【0001】
【産業上の利用分野】この発明は、メッセージ機能によ
るプロセス間通信を行うオペレーティングシステム(O
S)に関するものである。
るプロセス間通信を行うオペレーティングシステム(O
S)に関するものである。
【0002】
【従来の技術】図6に従来のメッセージ通信(プロセス
間通信)処理を示す。まず、送信を行うプロセスがメッ
セージ送信の送信OSマクロ(Send)を発する(図
6(a))。受信を行うプロセスはメッセージを読み込
むためのバッファを用意し、そのアドレス及び受信した
いメッセージのタイプを引数として受信OSマクロ(R
eceive)を発する(図6(d))。受信プロセス
が指定したメッセージタイプに対応したメッセージがシ
ステム内に存在していれば、受信OSマクロで指定した
メッセージバッファにメッセージの中味が書き込まれる
(図6(e))。反対に、キューにメッセージが存在し
ない場合には受信プロセスはメッセージが送られてくる
まで待たされる。
間通信)処理を示す。まず、送信を行うプロセスがメッ
セージ送信の送信OSマクロ(Send)を発する(図
6(a))。受信を行うプロセスはメッセージを読み込
むためのバッファを用意し、そのアドレス及び受信した
いメッセージのタイプを引数として受信OSマクロ(R
eceive)を発する(図6(d))。受信プロセス
が指定したメッセージタイプに対応したメッセージがシ
ステム内に存在していれば、受信OSマクロで指定した
メッセージバッファにメッセージの中味が書き込まれる
(図6(e))。反対に、キューにメッセージが存在し
ない場合には受信プロセスはメッセージが送られてくる
まで待たされる。
【0003】次に、システム内の動作について説明す
る。送信用OSマクロが発せられると、システム内のメ
ッセージバッファをアロケートし、メッセージデータの
内容をコピーする(図6(b))。次に、そのメッセー
ジタイプに対応したメッセージキューを探す。対応する
メッセージキューが存在すれば、そのキューの最後につ
なぐ(図6(c))。反対に、対応するメッセージキュ
ーが存在しなければ、新たにメッセージ管理テーブル内
にメッセージタイプに対応したキューを生成する。
る。送信用OSマクロが発せられると、システム内のメ
ッセージバッファをアロケートし、メッセージデータの
内容をコピーする(図6(b))。次に、そのメッセー
ジタイプに対応したメッセージキューを探す。対応する
メッセージキューが存在すれば、そのキューの最後につ
なぐ(図6(c))。反対に、対応するメッセージキュ
ーが存在しなければ、新たにメッセージ管理テーブル内
にメッセージタイプに対応したキューを生成する。
【0004】その他、この発明に関連する参考技術とし
て、特開平2−299031号、特開平2−12549
号及び特開平2−27465号の各公報に開示されてい
るものがある。
て、特開平2−299031号、特開平2−12549
号及び特開平2−27465号の各公報に開示されてい
るものがある。
【0005】
【発明が解決しようとする課題】従来のシステムでは、
メッセージ資源(メッセージ管理テーブル及びメッセー
ジバッファ)をオペレーティングシステム内のスタティ
ックなデータ領域に存在させており、そのデータ領域の
設定は管理者がメッセージ通信の利用頻度、システム内
で同時に扱うメッセージ量等を計算した上でシステムの
構成時に決定していた。
メッセージ資源(メッセージ管理テーブル及びメッセー
ジバッファ)をオペレーティングシステム内のスタティ
ックなデータ領域に存在させており、そのデータ領域の
設定は管理者がメッセージ通信の利用頻度、システム内
で同時に扱うメッセージ量等を計算した上でシステムの
構成時に決定していた。
【0006】そのため、従来のシステムにあっては、シ
ステム内に保留されているメッセージ量が、システムの
構成時に設定したメッセージ資源全体のある程度以上に
なると、メッセージ送信処理がシステム内で保留されて
いるメッセージが開放されるまで待たされることが頻繁
に発生したり、メッセージ送受信を行っているプロセス
間でデッドロックが発生したりするという問題点があっ
た。
ステム内に保留されているメッセージ量が、システムの
構成時に設定したメッセージ資源全体のある程度以上に
なると、メッセージ送信処理がシステム内で保留されて
いるメッセージが開放されるまで待たされることが頻繁
に発生したり、メッセージ送受信を行っているプロセス
間でデッドロックが発生したりするという問題点があっ
た。
【0007】この発明は上記のような問題点を解消する
ためになされたもので、メッセージ資源をオペレーティ
ングシステムではなく、システムのデーモンプロセスが
管理することにより、メッセージ資源の動的な拡張を行
うことができるオペレーティングシステムを得ることを
目的とする。
ためになされたもので、メッセージ資源をオペレーティ
ングシステムではなく、システムのデーモンプロセスが
管理することにより、メッセージ資源の動的な拡張を行
うことができるオペレーティングシステムを得ることを
目的とする。
【0008】
【課題を解決するための手段】この発明の係るオペレー
ティングシステムのメッセージ通信機能は、オペレーテ
ィングシステム内のスタティックなデータ領域で行って
いたメッセージデータ管理をメッセージ処理用に専門に
用意したデーモンプロセス(メッセージデーモン)で行
うことにより、システムが保留しているメッセージデー
タをプロセス論理空間内で管理できるようにしたもので
ある。
ティングシステムのメッセージ通信機能は、オペレーテ
ィングシステム内のスタティックなデータ領域で行って
いたメッセージデータ管理をメッセージ処理用に専門に
用意したデーモンプロセス(メッセージデーモン)で行
うことにより、システムが保留しているメッセージデー
タをプロセス論理空間内で管理できるようにしたもので
ある。
【0009】
【作用】この発明におけるメッセージデーモンは、オペ
レーティングシステムがメッセージ送信マクロ、或いは
メッセージ受信マクロを処理している最中にディスパッ
チされ、必要な処理が終了した段階でメッセージデーモ
ン用に用意されたプリエンプトマクロを呼ぶ。メッセー
ジデーモンが走行中にあっては最高プライオリティに設
定し、タイマ以外の全ての割込はマスクする。また、メ
ッセージデーモンではメッセージに関連したオペレーテ
ィングシステム内データ以外のいかなるデータも更新し
ない。
レーティングシステムがメッセージ送信マクロ、或いは
メッセージ受信マクロを処理している最中にディスパッ
チされ、必要な処理が終了した段階でメッセージデーモ
ン用に用意されたプリエンプトマクロを呼ぶ。メッセー
ジデーモンが走行中にあっては最高プライオリティに設
定し、タイマ以外の全ての割込はマスクする。また、メ
ッセージデーモンではメッセージに関連したオペレーテ
ィングシステム内データ以外のいかなるデータも更新し
ない。
【0010】
【実施例】以下、この発明の一実施例を図について説明
する。図1にメッセージ送受信処理の概要を示す。ユー
ザ1からメッセージ送信マクロを受け取ると、オペレー
ティングシステム2は、ユーザ1が指定したメッセージ
データを図2に示したオペレーティングシステム2のデ
ータ領域3にメッセージデータをコピーし(図1
(b))、メッセージデーモン4をディスパッチする
(図1(c))。メッセージデーモン4はオペレーティ
ングシステム2のデータ領域3からメッセージデータを
図3に示すメッセージを管理するデータ構造5に登録し
(図1(d))、プリエンプト用マクロをコールしてオ
ペレーティングシステム2に制御を渡す(図1
(e))。その後、オペレーティングシステム2からユ
ーザ1にリターンすることで送信処理が完了する。
する。図1にメッセージ送受信処理の概要を示す。ユー
ザ1からメッセージ送信マクロを受け取ると、オペレー
ティングシステム2は、ユーザ1が指定したメッセージ
データを図2に示したオペレーティングシステム2のデ
ータ領域3にメッセージデータをコピーし(図1
(b))、メッセージデーモン4をディスパッチする
(図1(c))。メッセージデーモン4はオペレーティ
ングシステム2のデータ領域3からメッセージデータを
図3に示すメッセージを管理するデータ構造5に登録し
(図1(d))、プリエンプト用マクロをコールしてオ
ペレーティングシステム2に制御を渡す(図1
(e))。その後、オペレーティングシステム2からユ
ーザ1にリターンすることで送信処理が完了する。
【0011】ユーザ1からメッセージ受信マクロを受け
取ると、オペレーティングシステム2はメッセージデー
モン4をディスパッチする(図1(g))。メッセージ
デーモン4は図3に示すデータ構造5に従って登録され
ているメッセージから対応するメッセージを探し、存在
すれば図2に示すオペレーティングシステム2のデータ
領域3にメッセージデータを取り出す(図1(h))。
オペレーティングシステム2はメッセージデーモン4か
ら渡されたメッセージをユーザ1に渡すことによりメッ
セージ受信処理が完了する(図1(i))。
取ると、オペレーティングシステム2はメッセージデー
モン4をディスパッチする(図1(g))。メッセージ
デーモン4は図3に示すデータ構造5に従って登録され
ているメッセージから対応するメッセージを探し、存在
すれば図2に示すオペレーティングシステム2のデータ
領域3にメッセージデータを取り出す(図1(h))。
オペレーティングシステム2はメッセージデーモン4か
ら渡されたメッセージをユーザ1に渡すことによりメッ
セージ受信処理が完了する(図1(i))。
【0012】図4は、送信マクロ、受信マクロを受け取
ったときのオペレーティングシステムの処理動作を示す
フローチャートである。図4(a)は送信マクロに対す
る処理を示し、まず、状態変数を送り(S401)、次
に、オペレーティングシステム2のデータ領域3にユー
ザ1が指定したメッセージデータをコピーする(S40
2)。その後、メッセージデーモン4にディスパッチし
(S403)、メッセージデーモン4の処理を実行して
(S404)、プリエンプト処理後、オペレーティング
システム2からユーザ1にリターンすることで送信処理
が完了する。
ったときのオペレーティングシステムの処理動作を示す
フローチャートである。図4(a)は送信マクロに対す
る処理を示し、まず、状態変数を送り(S401)、次
に、オペレーティングシステム2のデータ領域3にユー
ザ1が指定したメッセージデータをコピーする(S40
2)。その後、メッセージデーモン4にディスパッチし
(S403)、メッセージデーモン4の処理を実行して
(S404)、プリエンプト処理後、オペレーティング
システム2からユーザ1にリターンすることで送信処理
が完了する。
【0013】図4(b)は受信マクロに対する処理を示
し、まず、状態変数を受信し(S405)、次に、メッ
セージデーモン4にディスパッチする(S406)。そ
の後、メッセージデーモン4の処理を実行し(S40
7)、プリエンプト処理後、フラグのON/OFFをチ
ェックする(S408)。その結果、OFFであると判
断すると、上記ステップ406に戻り、反対にONであ
ると判断すると、カーネル内のメッセージをユーザ領域
にコピーした(S409)後、オペレーティングシステ
ム2からユーザ1にリターンすることで受信処理が完了
する。
し、まず、状態変数を受信し(S405)、次に、メッ
セージデーモン4にディスパッチする(S406)。そ
の後、メッセージデーモン4の処理を実行し(S40
7)、プリエンプト処理後、フラグのON/OFFをチ
ェックする(S408)。その結果、OFFであると判
断すると、上記ステップ406に戻り、反対にONであ
ると判断すると、カーネル内のメッセージをユーザ領域
にコピーした(S409)後、オペレーティングシステ
ム2からユーザ1にリターンすることで受信処理が完了
する。
【0014】図5は、メッセージデーモンの処理動作を
示すフローチャートである。メッセージデーモン4にデ
ィスパッチした後、状態変数を読むことにより送信か或
いは受信かを判断する(S501)。送信と判断した場
合には、メッセージデータ長に対応したメモリを獲得す
る(S502)。その後、カーネルのメッセージ領域の
データを読み込み(S503)、リスト構造につなぎ
(S504)、プリエンプトマクロをコールして(S5
11)、オペレーティングシステム2にリターンする。
示すフローチャートである。メッセージデーモン4にデ
ィスパッチした後、状態変数を読むことにより送信か或
いは受信かを判断する(S501)。送信と判断した場
合には、メッセージデータ長に対応したメモリを獲得す
る(S502)。その後、カーネルのメッセージ領域の
データを読み込み(S503)、リスト構造につなぎ
(S504)、プリエンプトマクロをコールして(S5
11)、オペレーティングシステム2にリターンする。
【0015】反対に、ステップ501において受信であ
ると判断した場合には、次に、リスト構造に対応するメ
ッセージが存在するか否かを判断する(S505)。そ
の結果、存在すると判断した場合には、カーネルのメッ
セージ領域にデータを書き込み(S506)、フラグを
ONに設定して(S507)、リスト構造からメッセー
ジをはずす(S508)。次に、メモリを開放した(S
509)後、プリエンプトマクロをコールして(S51
1)、オペレーティングシステム2にリターンする。
ると判断した場合には、次に、リスト構造に対応するメ
ッセージが存在するか否かを判断する(S505)。そ
の結果、存在すると判断した場合には、カーネルのメッ
セージ領域にデータを書き込み(S506)、フラグを
ONに設定して(S507)、リスト構造からメッセー
ジをはずす(S508)。次に、メモリを開放した(S
509)後、プリエンプトマクロをコールして(S51
1)、オペレーティングシステム2にリターンする。
【0016】更に、上記ステップ505において、リス
ト構造に対応するメッセージが存在しないと判断した場
合には、フラグをOFFした(S510)後、プリエン
プトマクロをコールして(S511)、オペレーティン
グシステム2にリターンする。
ト構造に対応するメッセージが存在しないと判断した場
合には、フラグをOFFした(S510)後、プリエン
プトマクロをコールして(S511)、オペレーティン
グシステム2にリターンする。
【0017】
【発明の効果】以上のように、この発明によれば、シス
テムが管理するメッセージ資源をオペレーティングシス
テムのスタティックな領域にもたせる代わりに、デーモ
ンプロセスのデータ領域に置いたので、受信待ちでシス
テム内に保留されているメッセージが増加した場合で
も、デーモンプロセス内で動的に獲得できるため、メッ
セージ送信処理がシステム内で保留されているメッセー
ジが開放されるまで待たされることがなくなる。また、
メッセージ資源を取り合うことで発生するメッセージ送
受信を行っているプロセス間でのデッドロックを防ぐこ
とができる。
テムが管理するメッセージ資源をオペレーティングシス
テムのスタティックな領域にもたせる代わりに、デーモ
ンプロセスのデータ領域に置いたので、受信待ちでシス
テム内に保留されているメッセージが増加した場合で
も、デーモンプロセス内で動的に獲得できるため、メッ
セージ送信処理がシステム内で保留されているメッセー
ジが開放されるまで待たされることがなくなる。また、
メッセージ資源を取り合うことで発生するメッセージ送
受信を行っているプロセス間でのデッドロックを防ぐこ
とができる。
【図1】この発明におけるメッセージ処理の概要を示す
説明図である。
説明図である。
【図2】この発明で使用するOS内のメッセージデータ
の構造を示す説明図である。
の構造を示す説明図である。
【図3】この発明で使用するメッセージデーモンのメッ
セージを管理するデータ構造を示す説明図である。
セージを管理するデータ構造を示す説明図である。
【図4】この発明におけるOSの処理動作を示すフロー
チャートである。
チャートである。
【図5】この発明におけるメッセージデーモンの処理動
作を示すフローチャートである。
作を示すフローチャートである。
【図6】従来のメッセージ処理の概要を示す説明図であ
る。
る。
1 ユーザ 2 オペレーティングシステム 3 OSのデータ領域 4 メッセージデーモン 5 メッセージデーモンのデータ領域
Claims (1)
- 【特許請求の範囲】 【請求項1】 メッセージを送信するためのマクロ及び
メッセージを受信するためのマクロを有し、プロセス間
のメッセージ通信をシステムが管理するメッセージ資源
を介して実行するメッセージ通信機能を持ったオペレー
ティングシテムにおいて、前記システムが扱うメッセー
ジ資源を前記システムのデーモンプロセスが管理するこ
とにより、前記システム内のメッセージ資源の量をダイ
ナミックに管理することを特徴とするオペレーティング
システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17120791A JPH0520100A (ja) | 1991-07-11 | 1991-07-11 | オペレーテイングシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17120791A JPH0520100A (ja) | 1991-07-11 | 1991-07-11 | オペレーテイングシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0520100A true JPH0520100A (ja) | 1993-01-29 |
Family
ID=15919018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17120791A Pending JPH0520100A (ja) | 1991-07-11 | 1991-07-11 | オペレーテイングシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0520100A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008140053A1 (ja) * | 2007-05-10 | 2008-11-20 | International Business Machines Corporation | 受信したリクエストに応じて動作するサーバ装置 |
JP2017208145A (ja) * | 2011-09-30 | 2017-11-24 | オラクル・インターナショナル・コーポレイション | ミドルウェアマシン環境においてマルチノードアプリケーションのためのメッセージキューを提供および管理するためのシステムおよび方法 |
-
1991
- 1991-07-11 JP JP17120791A patent/JPH0520100A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008140053A1 (ja) * | 2007-05-10 | 2008-11-20 | International Business Machines Corporation | 受信したリクエストに応じて動作するサーバ装置 |
US8078674B2 (en) | 2007-05-10 | 2011-12-13 | International Business Machines Corporation | Server device operating in response to received request |
JP5005028B2 (ja) * | 2007-05-10 | 2012-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 受信したリクエストに応じて動作するサーバ装置 |
JP2017208145A (ja) * | 2011-09-30 | 2017-11-24 | オラクル・インターナショナル・コーポレイション | ミドルウェアマシン環境においてマルチノードアプリケーションのためのメッセージキューを提供および管理するためのシステムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
EP0093835B1 (en) | Resource switching in a multi-tasking environment | |
US5469571A (en) | Operating system architecture using multiple priority light weight kernel task based interrupt handling | |
KR0128273B1 (ko) | 데이타처리 시스템, 다중프로세서 데이타처리 시스템에서 다수의 인터럽트를 유지관리, 처리하는 시스템 및 방법 | |
US4972368A (en) | Intelligent serial I/O subsystem | |
US6223207B1 (en) | Input/output completion port queue data structures and methods for using same | |
JP2000330806A (ja) | 計算機システム | |
TW200411403A (en) | System and method for transferring data between virtual machines or other computer entities | |
JPH08212086A (ja) | オフィスマシンのオペレーティングシステム及び方法 | |
US6748453B2 (en) | Distributed applications in a portable thread environment | |
JP7310924B2 (ja) | サーバ内遅延制御装置、サーバ、サーバ内遅延制御方法およびプログラム | |
US20020120665A1 (en) | Portable thread environment | |
JPH04256030A (ja) | 情報処理装置の割り込み方式 | |
US7076551B2 (en) | Using remote procedure calls to manage co-processor resources | |
US8141077B2 (en) | System, method and medium for providing asynchronous input and output with less system calls to and from an operating system | |
JP2001282558A (ja) | マルチオペレーティング計算機システム | |
JP3644042B2 (ja) | マルチタスク処理装置 | |
JPH0520100A (ja) | オペレーテイングシステム | |
EP0049521A2 (en) | Information processing system | |
US20020178313A1 (en) | Using software interrupts to manage communication between data processors | |
JPH064314A (ja) | タスク間同期通信装置 | |
JP2003067199A (ja) | アプリケーションプログラム | |
JP3349547B2 (ja) | スケジューリングシステム | |
JP7571859B2 (ja) | サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム | |
WO2023144878A1 (ja) | サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム |