JP3243097B2 - Computer system and process management method - Google Patents

Computer system and process management method

Info

Publication number
JP3243097B2
JP3243097B2 JP31341193A JP31341193A JP3243097B2 JP 3243097 B2 JP3243097 B2 JP 3243097B2 JP 31341193 A JP31341193 A JP 31341193A JP 31341193 A JP31341193 A JP 31341193A JP 3243097 B2 JP3243097 B2 JP 3243097B2
Authority
JP
Japan
Prior art keywords
space
area
operating
operating system
allocated
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.)
Expired - Fee Related
Application number
JP31341193A
Other languages
Japanese (ja)
Other versions
JPH07168703A (en
Inventor
秀昭 平山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP31341193A priority Critical patent/JP3243097B2/en
Publication of JPH07168703A publication Critical patent/JPH07168703A/en
Application granted granted Critical
Publication of JP3243097B2 publication Critical patent/JP3243097B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、マイクロカーネルと
して構成されるオペレーティングシステムを備えたコン
ピュータシステムであって、前記マイクロカーネル上で
動作するプロセス同士が前記オペレーティングシステム
を介在させてメッセージ通信を実行するコンピュータシ
ステムに関する。
This invention relates to a microkernel and
With an operating system configured
Computer system, on the microkernel
Operating processes are operating systems
Computer system that executes message communication with
Regarding the stem.

【0002】[0002]

【従来の技術】近年の分散処理技術の発展に伴い、分散
処理環境に適したOS、いわゆる分散OSの研究が進ん
でいる。分散OSの構築するための技術には様々なもの
があるが、その中でもマイクロカーネルという技術が注
目を浴びている。
2. Description of the Related Art With the development of distributed processing technology in recent years, research on an OS suitable for a distributed processing environment, that is, a so-called distributed OS is progressing. There are various techniques for constructing a distributed OS, and among them, a technique called a microkernel has attracted attention.

【0003】マイクロカーネルはOSとして必要な最小
限の機能のみを含んだ小規模のOSであり、プロセス管
理機能、メモリ管理機能、通信機能等の機能のみを具備
してなる。そして、マイクロカーネルをベースとしたO
Sでは、従来のOSが行なっていた多数のサービス機能
をマイクロカーネル上で動作するプロセスに実行させる
ことにより提供している。
[0003] The microkernel is a small-scale OS including only the minimum functions necessary as an OS, and has only functions such as a process management function, a memory management function, and a communication function. And O based on microkernel
In S, a large number of service functions performed by a conventional OS are provided by being executed by a process operating on a microkernel.

【0004】このため、マイクロカーネルをベースとし
たOSでは、新しいサービス機能等を追加する場合に、
その新しい機能を実行するプロセスを追加するだけでよ
いこととなり、OSの柔軟性が高くなるという長所がも
たらされた。
For this reason, in a microkernel-based OS, when a new service function or the like is added,
All that is required is to add a process to perform the new function, which has the advantage of increasing the flexibility of the OS.

【0005】しかし、マイクロカーネルをベースとした
OSでは、マイクロカーネル上で動作するプロセスの持
つサービス機能を提供する場合にプロセス間通信を必要
とし、そのオーバヘッドが大きいため、従来のOSに比
べて処理効率が著しく低下するという短所があった。
However, an OS based on a microkernel requires inter-process communication when providing a service function of a process operating on the microkernel, and the overhead is large. The disadvantage is that the efficiency is significantly reduced.

【0006】[0006]

【発明が解決しようとする課題】上述したように、マイ
クロカーネルをベースとしたOSでは、マイクロカーネ
ル上で動作するプロセスの持つサービス機能を提供する
場合にプロセス間通信を必要とし、そのオーバヘッドが
大きいため、従来のオペレーティングシステムに比べて
処理効率が著しく低下するという問題があった。
As described above, an OS based on a microkernel requires inter-process communication when providing a service function of a process operating on the microkernel, and the overhead is large. Therefore, there is a problem that the processing efficiency is significantly reduced as compared with the conventional operating system.

【0007】本発明は上記実情に鑑みてなされたもので
あり、マイクロカーネル上で動作するプロセスの持つサ
ービス機能を提供する場合のターンアラウンド時間を短
縮し、かつ処理効率を向上させることを目的とする。
The present invention has been made in view of the above circumstances, and has as its object to reduce turnaround time and improve processing efficiency when providing a service function of a process operating on a microkernel. I do.

【0008】[0008]

【課題を解決するための手段】この発明は、マイクロカ
ーネルとして構成されるオペレーティングシステムを備
えたコンピュータシステムであって、前記マイクロカー
ネル上で動作するプロセス同士が前記オペレーティング
システムを介在させてメッセージ通信を実行するコンピ
ュータシステムにおいて、前記オペレーティングシステ
ムは、前記プロセスをサブルーチンとして動作させるた
めの領域を自身が割り当てられた空間内に確保する手段
と、前記確保した領域でサブルーチンとして動作するプ
ロセスの識別子を管理する手段と、前記プロセス同士の
メッセージ通信を処理する際、受信側プロセスが前記確
保した領域でサブルーチンとして動作しているときに
は、その受信側プロセスをサブルーチンコールで呼び出
し、受信側プロセスが自身が割り当てられた空間とは異
なる空間内の領域で動作しているときには、その受信側
プロセスをトラップで呼び出す手段とを具備し、前記プ
ロセスそれぞれは、自身が前記オペレーティングシステ
ムが割り当てられた空間内に確保された領域で動作して
いるのか、または、前記オペレーティングシステムが割
り当てられた空間とは異なる空間内の領域で動作してい
るのかを管理する手段と、他のプロセスにメッセージを
送信する際、自身が前記オペレーティングシステムが割
り当てられた空間内に確保された領域で動作していると
きには、前記オペレーティングシステムをサブルーチン
コールで呼び出し、自身が前記オペレーティングシステ
ムが割り当てられた空間とは異なる空間内の領域で動作
しているときには、前記オペレーティングシステムをト
ラップで呼び出す手段とを具備し、前記プロセスの動作
状況または要求に応じて、前記オペレーティングシステ
ムが割り当てられた空間とは異なる空間内の領域で動作
するプロセスを前記オペレーティングシステムが割り当
てられた空間内に確保された領域に移動させ、または、
前記オペレーティングシステムが割り当てられた空間内
に確保された領域で動作するプロセスを前記オペレーテ
ィングシステムが割り当てられた空間とは異なる空間内
の領域に移動させる手段を具備することを特徴とする。
SUMMARY OF THE INVENTION The present invention provides a micro
Operating system configured as
The computer system, wherein the microcar
Processes running on the kernel
A computer that executes message communication via a system
Operating system,
The program runs the process as a subroutine.
Means to secure an area for self-assignment in the space allocated to itself
And a program that operates as a subroutine in the secured area.
Means for managing process identifiers, and
When processing message communication, the receiving process
When operating as a subroutine in the area
Calls its receiving process with a subroutine call
And the receiving process differs from the space to which it has been allocated.
When operating in an area within the space
Means for invoking a process by a trap.
Each process has its own operating system.
Operating in the area allocated in the space where the
The operating system
Operating in an area in a different space than the allocated space
Control messages and send messages to other processes.
When transmitting, the operating system itself assigns
Operating in an area reserved in the allocated space
The operating system in a subroutine
Call, call itself
Operates in an area in a space different from the space to which the
Operating system, the operating system
Means for calling in a wrap, the operation of the process
The operating system, if any, or if required.
Operates in an area in a space different from the space to which the
Operating system assigns processes to
Move to the area secured in the space allocated, or
In the space where the operating system is allocated
The process that operates in the area secured in the
In a space different from the space to which the
Means for moving to the region of (1).

【0009】[0009]

【0010】[0010]

【作用】この発明のコンピュータシステムにおいては、
たとえば、プロセスごとの使用頻度やコマンドなどに応
じて、マイクロカーネル上で(OSが割り当てられた空
間とは異なる空間内の領域で)動作するプロセスをOS
が割り当てられた空間内に確保された領域に移動させ、
または、この領域で動作するプロセスをOSが割り当て
られた空間とは異なる空間内の領域に移動させる。これ
により、たとえば使用頻度の高いプロセスをOSと同一
アドレス空間内で動作させることなどが可能となるた
め、各プロセスのもつサービスを提供する際のターンア
ラウンド時間を大幅に短縮できることになる。
In the computer system of the present invention,
For example, depending on the usage frequency and commands for each process,
On the microkernel,
OS that operates in an area in a different space than the OS
Is moved to the area secured in the allocated space,
Alternatively, the OS allocates a process that operates in this area
Moved to an area in a space different from the designated space. this
For example, the frequently used process is the same as the OS
It is possible to operate in the address space
To provide the services of each process
The round time can be greatly reduced.

【0011】[0011]

【0012】[0012]

【0013】[0013]

【実施例】以下図面を参照して本発明の実施例を説明す
る。まず、図1乃至図2を参照してマイクロカーネル上
で稼働するプロセスのOSに設けられた空間への取り込
みを説明する。
Embodiments of the present invention will be described below with reference to the drawings. First, with reference to FIG. 1 and FIG. 2, a description will be given of how a process running on the microkernel is taken into a space provided in the OS.

【0014】図1は同実施例のマイクロカーネル上で稼
働するプロセスのOSに設けられた空間への取り込みを
説明するための概念図である。図1の11a〜11cは
実行中のプロセスである。また、12a〜12cはそれ
ぞれプロセス11a〜11cの持つ空間であり、各々テ
キスト及びデータを含んでいる。
FIG. 1 is a conceptual diagram for explaining how a process running on a microkernel of the embodiment is taken into a space provided in an OS. 1 are running processes. Reference numerals 12a to 12c denote spaces of the processes 11a to 11c, which include text and data, respectively.

【0015】13a〜13cはそれぞれプロセス11a
〜11cの管理テーブルであり、各々プロセスがOS1
4に取り込まれているか否か、すなわち、OS14の空
間に移動されているか否かを示す情報を保持している。
14はプロセス11a〜11cを制御しているコンピュ
ータシステムのOSであり、15はOS14の空間であ
る。16はOS14の管理テーブルであり、オペレーテ
ィング中に取り込んだプロセスの情報を含んでいる。1
7はプロセスをOS14中に取り込み、すなわち、他の
空間で動作するプロセスをOS14の空間に移動させ、
その旨をプロセスの管理テーブル13a〜13bおよび
OS14の管理テーブル16に反映させるためのプロセ
ス取り込み部である。また、このプロセス取り込み部
は、OS14中に取り込まれたプロセスを取り出し、す
なわち、OS14の空間で動作するプロセスを他の空間
に移動させ、その旨をプロセスの管理テーブル13a〜
13bおよびOS14の管理テーブル16に反映させ
る。
13a to 13c are processes 11a, respectively.
To 11c, each of which has a process of OS1
4 whether the OS 14 is empty
It holds information indicating whether or not it has been moved between .
Reference numeral 14 denotes an OS of a computer system that controls the processes 11a to 11c, and reference numeral 15 denotes a space of the OS 14. Reference numeral 16 denotes a management table of the OS 14, which includes information on a process fetched during the operating. 1
7 incorporates the process into OS 14, ie,
Move the process running in space to the space of OS14,
This is a process fetch unit for reflecting the fact in the process management tables 13a to 13b and the management table 16 of the OS 14. In addition, this process capture unit
Retrieves the process captured in the OS 14 and
That is, a process that operates in the space of the OS 14 is assigned to another space.
To the process management table 13a-
13b and the management table 16 of the OS 14
You.

【0016】また、18はプロセスがOS14中に取り
込まれているか否かをプロセスの管理テーブル13a〜
13b及びOS14の管理テーブル16から判定するた
めのプロセス取り込み状況判定部である。
Reference numeral 18 denotes whether the process is loaded into the OS 14 or not.
13b and a process fetching state determining unit for determining from the management table 16 of the OS 14.

【0017】19はプロセスがOS14に取り込まれて
いる場合も取り込まれていない場合も、プロセスで実行
するプログラムを変更せずに実行することを可能にする
システムサビース部である。
Reference numeral 19 denotes a system service unit which enables a program to be executed by a process without being changed, regardless of whether the process is loaded into the OS 14 or not.

【0018】次に、図2は図1に示した状態から、プロ
セス11aがOS14中に取り込まれた状態を示してい
る。プロセス11aは、OS14中に取り込まれたので
空間は無くなり、管理テーブル13aにはプロセス11
aがOS中に取り込まれたことが示される。このとき、
OS14の空間15には新たにプロセス1laのテキス
トおよびデータが取り込まれている。また、管理テーブ
ル16にはプロセス11aが登録されることになる。
Next, FIG. 2 shows a state where the process 11a is taken into the OS 14 from the state shown in FIG. Since the process 11a is taken into the OS 14, no space is left, and the process 11a is stored in the management table 13a.
This indicates that a has been imported into the OS. At this time,
The text and data of the process 1la are newly taken into the space 15 of the OS 14. The process 11a is registered in the management table 16.

【0019】この状態でプロセス11aの持つサービス
機能の提供を行うことは、即ち同一アドレス空間での処
理となるため、ターンアラウンド時間を短縮し、かつ処
理効率を向上させることとなる。
Providing the service function of the process 11a in this state means that the processing is performed in the same address space, so that the turnaround time is reduced and the processing efficiency is improved.

【0020】次に、図3を参照して同実施例の動作を説
明する。図3はプロセスをOS中に取り込む処理手順を
説明するためのフローチャートである。
Next, the operation of this embodiment will be described with reference to FIG. FIG. 3 is a flowchart for explaining a processing procedure for loading a process into the OS.

【0021】まず、プロセス取り込み状況判定手段18
が、当該プロセス11aはOS14中に取り込まれてい
るか否かを判定し(図3のステップA1)、既に取り込
まれている場合には処理を終了する(図3のステップA
1のYES)。
First, the process fetching state judging means 18
However, the process 11a determines whether or not the process 11a is loaded into the OS 14 (step A1 in FIG. 3), and ends the process if the process 11a is already loaded (step A in FIG. 3).
1 YES).

【0022】取り込まれていない場合は(図3のステッ
プA1のNO)、プロセス取り込み部17は、当該プロ
セス11aの空間12a中のテキスト、データ等をOS
14の空間15に取り込む(図3のステップA2)。
して、プロセス取り込み部17は、その旨を当該プロセ
ス11aおよびOS14に通知する。このとき、当該プ
ロセス11a側では、管理テーブル13a中に保持して
いるOS14に取り込まれているか否かを示すフラグを
オンにしておく(図3のステップA3)。また、OS1
4側では、管理テーブル16中に保持している取り込ん
だプロセスを示すテーブルに当該プロセス11aを追加
する(図3のステップA4)。
If the data is not captured (NO in step A1 in FIG. 3), the process capturing unit 17 stores the text, data, and the like in the space 12a of the process 11a into the OS.
The space is taken into the space 15 (step A2 in FIG. 3). So
Then, the process fetch unit 17 notifies the process to that effect.
To the OS 11a and the OS 14. At this time, on the process 11a side, a flag indicating whether or not the data is taken into the OS 14 held in the management table 13a is turned on (step A3 in FIG. 3). OS1
On the fourth side, the process 11a is added to the table indicating the fetched process held in the management table 16 (step A4 in FIG. 3).

【0023】次に、図4を参照してOS中に取り込まれ
たプロセスを取り出す場合の動作を説明する。図4はO
S中に取り込まれたプロセスを取り出す場合の処理手順
を説明するためのフローチャートである。
Next, with reference to FIG. 4, an operation for extracting a process taken into the OS will be described. FIG. 4 shows O
9 is a flowchart for explaining a processing procedure when taking out a process taken in S.

【0024】まず、プロセス取り込み状況判定手段18
が、当該プロセスはOS14に取り込まれているか否か
を判定し(図4のステップB1)、取り込まれていない
場合には処理を終了する(図4のステップB1のN
O)。
First, the process fetching status judging means 18
However, it is determined whether or not the process is loaded into the OS 14 (step B1 in FIG. 4), and if not, the process is terminated (N in step B1 in FIG. 4).
O).

【0025】取り込まれている場合は(図3のステップ
B1のYES)、プロセス取り込み部17は、OS14
の空間15中に取り込まれている当該プロセスのテキス
ト、データ等を取り出す(図4のステップB2)。そし
て、プロセス取り込み部17は、その旨をOS14およ
び当該プロセス11aに通知する。このときOS14側
では、管理テーブル16中に保持している取り込んだプ
ロセスを示すテーブルから当該プロセスを削除する(図
4のステップB3)。また、当該プロセス11a側で
は、管理テーブル中に保持しているOS14に取り込ま
れているか否かを示すフラグをオフにしておく(図3の
ステップB4)。
If it has been captured (YES in step B1 in FIG. 3), the process capturing unit 17
The text, data, and the like of the process taken into the space 15 are extracted (step B2 in FIG. 4). Soshi
Then, the process capturing unit 17 notifies the OS 14 and the
And notifies the process 11a. At this time, the OS 14 deletes the process from the table indicating the fetched process held in the management table 16 (step B3 in FIG. 4). Also, on the process 11a side, the flag indicating whether or not the data is taken into the OS 14 stored in the management table is turned off (step B4 in FIG. 3).

【0026】ここで、図5及び図6を参照してOS上で
実行中のプロセスAが、プロセスBにメッセージを送っ
て処理を依頼し、続いてプロセスBが、プロセスAに結
果を送って結果を伝える場合を例示する。なお、このプ
ロセスAとプロセスBとの間のメッセージ通信に介在す
る両プロセスとOSとの間の通信は、双方が同一空間内
に存在する場合(そのプロセスがOS中に取り込まれて
いる場合)には、その旨が管理テーブル13a〜13c
または管理テーブル16から認識されて、サブルーチン
コール処理またはリターンサブルーチン処理によって行
なわれ、一方、双方が同一空間内に存在しない場合(そ
のプロセスがOS中に取り込まれていない場合)には、
その旨が管理テーブル13a〜13cまたは管理テーブ
ル16から認識されて、トラップ処理またはリターンフ
ロムトラップ処理によって行なわれる。また、このサブ
ルーチンコール処理、リターンサブルーチン処理、トラ
ップ処理およびリターンフロムトラップ処理は、既存の
処理手法であり、本発明の本質ではないため、ここでは
その説明を省略する。
Here, referring to FIG. 5 and FIG. 6, process A running on the OS sends a message to process B to request processing, and then process B sends a result to process A. An example of transmitting the result will be described. Note that this
Intervenes in message communication between process A and process B
Communication between the two processes and the OS is in the same space.
If the process exists in the OS
The management tables 13a to 13c
Alternatively, a subroutine recognized from the management table 16
Call processing or return subroutine processing
However, if both do not exist in the same space (that
Is not included in the OS)
To that effect, the management tables 13a to 13c or the management table
From the trap 16 or trap processing or return file.
This is performed by a ROM trap process. Also, this sub
Routine call processing, return subroutine processing,
Trap processing and return from trap processing
Since this is a processing method and is not the essence of the present invention,
The description is omitted.

【0027】まず、図5を参照して通常時のメッセージ
送信の手順を説明する。51、52はプロセス、53は
OSである。54はプロセス51からプロセス52にメ
ッセージを送るための処理であり、実際にはプロセス5
1からOS53に処理を依頼するためのトラップ処理5
4aと、OS53からプロセス52に処理を渡すための
リターンフロムトラップ処理54bとからなる。また5
5はプロセス52からプロセス51にメッセージを送る
ための処理であり、実際にはプロセス52からOS53
に処理を依頼するためのトラップ処理55aと、OS5
3からプロセス51に処理を渡すためのリターンフロム
トラップ処理55bとからなる。
First, a normal message transmission procedure will be described with reference to FIG. 51 and 52 are processes, and 53 is an OS. 54 is a process for sending a message from the process 51 to the process 52.
Trap processing 5 for requesting processing from 1 to OS 53
4a and a return from trap process 54b for transferring the process from the OS 53 to the process 52. Also 5
5 is a process for sending a message from the process 52 to the process 51.
Processing 55a for requesting processing to OS 5
3 and a return from trap process 55b for transferring the process to the process 51.

【0028】次に図6を参照してプロセスBがOS中に
取り込まれた場合の処理手順を説明する。図6の61は
プロセス、62はOS中に取り込まれたプロセス、63
はOSを示している。また、64はプロセス61からプ
ロセス62にメッセージを送るための処理であり、実際
にはプロセス61からOS63に処理を依頼するための
トラップ処理64aと、OS63がプロセス62を呼び
出すためのサブルーチンコール処理64bとからなる。
Next, a processing procedure when the process B is taken into the OS will be described with reference to FIG. 6, 61 is a process, 62 is a process taken into the OS, 63
Indicates an OS. Reference numeral 64 denotes a process for sending a message from the process 61 to the process 62. Actually, a trap process 64a for requesting the OS 63 to perform a process from the process 61 and a subroutine call process 64b for the OS 63 to call the process 62 Consists of

【0029】また65はプロセス62からプロセス61
にメッセージを送るための処理であり、実際にはプロセ
ス62からOS63に処理を依頼するためのリターンフ
ロムサブルーチン処理65aとOS63からプロセス6
1に処理を渡すための、リターンフロムトラップ処理6
5bとからなる。
The reference numeral 65 denotes a process 62 to a process 61.
Is a process for sending a message to the OS 63. Actually, a return from subroutine process 65a for requesting a process from the process 62 to the OS 63 and a process 6 from the OS 63
Return-from-trap processing 6 for passing processing to 1
5b.

【0030】次に、図7及び図8を参照してOS上で実
行中のプロセスAがプロセスBにメッセージを送って処
置を依頼し、このプロセスBがプロセスCにメッセージ
を送って処理を依頼し、さらにプロセスCがプロセスB
にメッセージを送って結果を伝え、プロセスBがプロセ
スAにメッセージを送って結果を伝える場合を例示す
る。
Next, referring to FIGS. 7 and 8, process A running on the OS sends a message to process B to request an action, and process B sends a message to process C to request a process. And process C becomes process B
, A message is transmitted to the process A, and the result is transmitted by the process B to the process A.

【0031】まず、図7を参照して通常時のメッセージ
送信の手順を説明する。図7の71、72及び73はプ
ロセス、74はOSを示している。75はプロセス71
からプロセス72にメッセージを送るための処理であ
り、実際にはプロセス71からOS74に処理を依頼す
るためのトラップ処理75aと、OS74からプロセス
や72に処理を渡すためのリターンフロムトラップ処理
75bとからなる。
First, a normal message transmission procedure will be described with reference to FIG. In FIG. 7, reference numerals 71, 72 and 73 denote processes, and reference numeral 74 denotes an OS. 75 is process 71
From the process 71 to the OS 74, and from the trap process 75a for requesting the OS 74 to perform the process, and the return from trap process 75b for passing the process from the OS 74 to the process or 72. Become.

【0032】76はプロセス72からプロセス73にメ
ッセージを送るための処理であり、実際にはプロセス7
2からOS74に処理を依頼するためのトラップ処理7
6aと、OS74からプロセス73に処理を渡すための
リターンフロムトラップ処理76bとからなる。
Reference numeral 76 denotes a process for sending a message from the process 72 to the process 73.
Trap processing 7 for requesting processing from OS 2 to OS 74
6a and a return from trap process 76b for transferring the process from the OS 74 to the process 73.

【0033】77はプロセス73からプロセス72にメ
ッセージを送るための処理であり、実際にはプロセス7
3からOS74に処理を依頼するためのトラップ処理7
7aと、OS74からプロセス72に処理を渡すための
リターンフロムトラップ処理77bとからなる。
Reference numeral 77 denotes a process for sending a message from the process 73 to the process 72;
Trap processing 7 for requesting processing from OS 3 to OS 74
7a, and a return from trap process 77b for transferring the process from the OS 74 to the process 72.

【0034】78はプロセス72からプロセス71にメ
ッセージを送るための処理であり、実際にはプロセス7
2からOS74に処理を依頼するためのトラップ処理7
8aと、OS74からプロセス71に処理を渡すための
リターンフロムトラップ処理78bとからなる。
Reference numeral 78 denotes a process for sending a message from the process 72 to the process 71.
Trap processing 7 for requesting processing from OS 2 to OS 74
8a and a return from trap process 78b for transferring the process from the OS 74 to the process 71.

【0035】次に図8を参照してプロセスB、CがOS
中に取り込まれた場合の処理手順を説明する。図8の8
1はプロセス、82、83はOS中に取り込まれたプロ
セス、84はOSを示している。
Next, referring to FIG. 8, processes B and C are OS
A processing procedure in the case where the data is taken in will be described. 8 in FIG.
1 denotes a process, 82 and 83 denote processes taken into the OS, and 84 denotes an OS.

【0036】85はプロセス81からプロセス82にメ
ッセージを送るための処理であり、実際にはプロセス8
1からOS84に処理を依頼するためのトラップ処理8
5aと、OS84がプロセス82を呼び出すための、サ
ブルーチンコール処理85bとからなる。
Reference numeral 85 denotes a process for sending a message from the process 81 to the process 82;
Trap processing 8 for requesting processing from 1 to OS 84
5a and a subroutine call process 85b for the OS 84 to call the process 82.

【0037】86はプロセス82からプロセス83を呼
び出すためのサブルーチン処理である。また、87はプ
ロセス83からプロセス82を呼び出すためのサブルー
チンコール処理である。88はプロセス82からプロセ
ス81にメッセージを送るための処理であり、実際には
プロセス82からOS84を呼び出すためのサブルーチ
ンコール処理88aと、OS84からプロセス81に処
理を渡すためのリターンフロムトラップ処理88bとか
らなる。
Reference numeral 86 denotes a subroutine process for calling the process 83 from the process 82. Reference numeral 87 denotes a subroutine call process for calling the process 82 from the process 83. Reference numeral 88 denotes a process for sending a message from the process 82 to the process 81. Actually, there is a subroutine call process 88a for calling the OS 84 from the process 82, and a return from trap process 88b for passing the process from the OS 84 to the process 81. Consists of

【0038】上述したように、複数のプロセス間通信を
必要とするサービス機能の提供の場合に、本発明による
構成によればターンアラウンド時間の短縮、及び処理効
率の向上を実現することが可能となる。
As described above, in the case of providing a service function requiring a plurality of inter-process communications, according to the configuration of the present invention, it is possible to realize a reduction in turnaround time and an improvement in processing efficiency. Become.

【0039】次に、図9を参照してプロセスがOSの一
部に取り込まれている場合も、取り込まれていない場合
も、プロセスにて実行されるプログラムを変更すること
なシステムサービスを提供する処理を説明する。
Next, referring to FIG. 9, a system service that changes the program executed by the process is provided regardless of whether the process is loaded into a part of the OS or not. The processing will be described.

【0040】図9のステップC1〜C3の判断により当
該システムサービスは、送信側および受信側プロセスが
OSの一部に取り込まれているか否かを判定する。各々
の条件に応じて処理はステップC4〜C5の4つのパタ
ーンに分かれることになる。
Based on the determinations in steps C1 to C3 in FIG. 9, the system service determines whether or not the transmitting side and receiving side processes are incorporated in a part of the OS. The process is divided into four patterns of steps C4 to C5 according to each condition.

【0041】ステップC4は、送信側、受信側プロセス
とも、OS中に取り込まれていない場合であり、トラッ
プで送信側プロセスからOSを呼び出し、リターンフロ
ムトラップでOSから受信側プロセスを呼び出す。
Step C4 is a case where neither the transmitting side process nor the receiving side process has been captured in the OS, and the OS is called from the transmitting process by a trap, and the receiving process is called from the OS by a return from trap.

【0042】ステップC5は、送信側プロセスはOS中
に取り込まれていて、受信側プロセスはOS中に取り込
まれていない場合であり、トラップで送信側プロセスか
らOSを呼び出し、サブルーチンコールでOSから受信
側プロセスを呼び出す。
Step C5 is a case in which the transmitting process is captured in the OS and the receiving process is not captured in the OS. The OS is called from the transmitting process by a trap and received from the OS by a subroutine call. Call the side process.

【0043】ステップC6は、送信側プロセスはOS中
に取り込まれておらず、送信側プロセスはOS中に取り
込まれている場合であり、サブルーチンコールで送信側
プロセスからOSを呼び出し、リターンフロムトラップ
でOSから受信側プロセスを呼び出す。
Step C6 is a case where the transmitting process is not captured in the OS and the transmitting process is captured in the OS. The OS is called from the transmitting process by a subroutine call, and the return from trap is performed. Call the receiving process from the OS.

【0044】ステップC7は、送信側、受信側プロセス
とも、OS中に取り込まれている場合であり、サブルー
チンコールで送信側プロセスからOSを呼び出し、サブ
ルーチンでOSから受信側プロセスを呼び出す。
Step C7 is a case where both the transmitting side and the receiving side process are incorporated in the OS. The OS is called from the transmitting side process by a subroutine call, and the receiving side process is called from the OS by a subroutine.

【0045】これにより、上記の4つのどのパターンの
場合でも同様のサービス機能を提供することが可能とな
る。なお、OS中に取り込むプロセスの決定法として
は、いくつかの方法が考えられる。
Thus, the same service function can be provided in any of the above four patterns. Note that there are several methods for determining the process to be loaded into the OS.

【0046】まず、特権コマンド等によって支持された
プロセスのみを取り込むという方法が考えられる。特権
コマンドによって支持されたプロセス取り込むことによ
って、そのプロセスをOS中に取り込んでも、システム
ダウンに繋がるバグ等を含まないプロセスのみを選択す
ることが可能となる。
First, a method of taking in only processes supported by a privileged command or the like can be considered. By capturing the process supported by the privileged command, even if the process is captured in the OS, it is possible to select only a process that does not include a bug or the like that leads to a system down.

【0047】次に、通信回数の多いプロセスのみを選択
して取り込む方法が考えられる。通信回数の多いプロセ
スを取り込むことによって、システム性能を有効に改善
できるプロセスのみを選択することが可能となる。
Next, a method is conceivable in which only processes having a large number of communication times are selected and captured. By taking in processes with a large number of communications, it is possible to select only those processes that can effectively improve system performance.

【0048】また、両者を組み合わせて、特権コマンド
等によって指示されたプロセスのうち、通信回数の多い
プロセスのみを選択して取り込むという方法も考えるこ
とができる。
It is also possible to consider a method in which both processes are combined to select and take in only a process having a large number of communications among processes designated by a privileged command or the like.

【0049】この方法では、特権コマンドによって指示
されたプロセスで、かつ通信回数の多いプロセスのみを
取り込むことにより、そのプロセスをOS中に取り込ん
でもシステムダウンに繋がるバグ等を含まず、しかもシ
ステム性能を有効に改善できるプロセスのみを選択する
ことが可能となる。
In this method, by taking in only the process designated by the privileged command and the process having a large number of times of communication, even if the process is taken into the OS, there is no bug or the like which may lead to the system down, and the system performance is reduced. Only processes that can be effectively improved can be selected.

【0050】[0050]

【発明の効果】以上詳記したように本発明によれば、マ
イクロカーネルをベースとしたOSにおいて、マイクロ
カーネル上で稼働するプロセスの持つサービス機能を提
供する場合のターンアラウンド時間を短縮し、かつ処理
効率を向上させることが可能となる。
As described above in detail, according to the present invention, in a microkernel-based OS, a turnaround time when providing a service function of a process running on the microkernel is reduced, and Processing efficiency can be improved.

【0051】また、マイクロカーネル上で稼働するプロ
セスがOSの持つ空間に取り込まれている場合も、取り
込まれていない場合も、プロセスにて実行されるプログ
ラムを変更することなくシステムサービスを提供するこ
とが可能となる。
Further, a system service is provided without changing a program executed by a process, regardless of whether a process running on a microkernel is captured in the space of the OS or not. Becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のマイクロカーネル上で稼働するプロセ
スのOSに設けられた空間への取り込みを説明するため
の概念図。
FIG. 1 is a conceptual diagram for describing how a process running on a microkernel of the present invention is taken into a space provided in an OS.

【図2】本発明のマイクロカーネル上で稼働するプロセ
スのOSに設けられた空間への取り込みを説明するため
の概念図。
FIG. 2 is a conceptual diagram for explaining how a process running on a microkernel of the present invention is taken into a space provided in an OS.

【図3】本発明のプロセスをOS中に取り込む処理手順
を説明するためのフローチャート。
FIG. 3 is a flowchart for explaining a processing procedure for loading a process of the present invention into an OS.

【図4】OS中に取り込まれたプロセスを取り出す場合
の処理手順を説明するためのフローチャート。
FIG. 4 is a flowchart for explaining a processing procedure when taking out a process taken into the OS.

【図5】通常時のメッセージ送信(プロセス2個)の手
順を説明するための概念図。
FIG. 5 is a conceptual diagram for explaining the procedure of normal message transmission (two processes).

【図6】プロセスがOS中に取り込まれた場合のメッセ
ージ送信(プロセス2個)の手順を説明するための概念
図。
FIG. 6 is a conceptual diagram for explaining the procedure of message transmission (two processes) when a process is loaded into the OS.

【図7】通常時のメッセージ送信(プロセス3個)の手
順を説明するための概念図。
FIG. 7 is a conceptual diagram for explaining the procedure of normal message transmission (three processes).

【図8】プロセスがOS中に取り込まれた場合のメッセ
ージ送信(プロセス3個)の手順を説明するための概念
図。
FIG. 8 is a conceptual diagram for explaining the procedure of message transmission (three processes) when a process is loaded into the OS.

【図9】プロセスがOSの一部に取り込まれている場合
も、取り込まれていない場合も、プロセスにて実行され
るプログラムを変更することなシステムサービスを提供
する処理を説明するためのフローチャート。
FIG. 9 is a flowchart for explaining a process of providing a system service that does not change a program executed by a process, regardless of whether the process is loaded into a part of the OS or not.

【符号の説明】[Explanation of symbols]

11a,11b,11c…プロセス、12a,12b,
12c…プロセスの空間、13a,13b,13c…プ
ロセスの管理テーブル、14…OS、15…OSの空
間、16…OSの管理テーブル、17…プロセス取り込
み部、18…プロセス取り込み状況判定部、19…シス
テムサービス部、51,52…プロセス、53…OS、
54,55…メッセージ送信、61,62…プロセス、
63…OS、64,65…メッセージ送信、71,7
2,73…プロセス、74…OS、75,76,77,
78…メッセージ送信、81,82,83…プロセス、
84…OS、85,86,87,88…メッセージ送
信。
11a, 11b, 11c ... process, 12a, 12b,
12c: Process space, 13a, 13b, 13c: Process management table, 14: OS, 15: OS space, 16: OS management table, 17: Process capture unit, 18: Process capture status determination unit, 19 ... System service unit, 51, 52 ... process, 53 ... OS,
54, 55 ... message transmission, 61, 62 ... process,
63: OS, 64, 65: Message transmission, 71, 7
2, 73: process, 74: OS, 75, 76, 77,
78: message transmission, 81, 82, 83 ... process,
84 ... OS, 85, 86, 87, 88 ... Message transmission.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 情報処理学会論文誌 Vol.34 N o.5 1993年5月 P.994〜1009 光澤・他「スロット仮想空間によるオブ ジェクト間通信の高速化」 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 9/44 G06F 9/46 ──────────────────────────────────────────────────続 き Continued on front page (56) References Transactions of Information Processing Society of Japan Vol. 34 No. 5 May 1993 994-1009 Mitsawa, et al., "High-speed communication between objects using slot virtual space" (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/06 G06F 9/44 G06F 9/46

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 マイクロカーネルとして構成されるオペ
レーティングシステムを備えたコンピュータシステムで
あって、前記マイクロカーネル上で動作するプロセス同
士が前記オペレーティングシステムを介在させてメッセ
ージ通信を実行するコンピュータシステムにおいて、 前記オペレーティングシステムは、 前記プロセスをサブルーチンとして動作させるための領
域を自身が割り当てられた空間内に確保する手段と、 前記確保した領域でサブルーチンとして動作するプロセ
スの識別子を管理する手段と、 前記プロセス同士のメッセージ通信を処理する際、受信
側プロセスが前記確保した領域でサブルーチンとして動
作しているときには、その受信側プロセスをサブルーチ
ンコールで呼び出し、受信側プロセスが自身が割り当て
られた空間とは異なる空間内の領域で動作しているとき
には、その受信側プロセスをトラップで呼び出す手段と
を具備し、 前記プロセスそれぞれは、 自身が前記オペレーティングシステムが割り当てられた
空間内に確保された領域で動作しているのか、または、
前記オペレーティングシステムが割り当てられた空間と
は異なる空間内の領域で動作しているのかを管理する手
段と、 他のプロセスにメッセージを送信する際、自身が前記オ
ペレーティングシステムが割り当てられた空間内に確保
された領域で動作しているときには、前記オペレーティ
ングシステムをサブルーチンコールで呼び出し、自身が
前記オペレーティングシステムが割り当てられた空間と
は異なる空間内の領域で動作しているときには、前記オ
ペレーティングシステムをトラップで呼び出す手段とを
具備し、 前記プロセスの動作状況または要求に応じて、前記オペ
レーティングシステムが割り当てられた空間とは異なる
空間内の領域で動作するプロセスを前記オペレーティン
グシステムが割り当てられた空間内に確保された領域に
移動させ、または、前記オペレーティングシステムが割
り当てられた空間内に確保された領域で 動作するプロセ
スを前記オペレーティングシステムが割り当てられた空
間とは異なる空間内の領域に移動させる手段を具備する
ことを特徴とするコンピュータシステム。
(1)Operations configured as microkernel
On a computer system with a rating system
Process that runs on the microkernel
Messengers through the operating system
Computer system that executes page communication, The operating system comprises: Area for operating the process as a subroutine
Means for securing the area within its assigned space; A process that operates as a subroutine in the reserved area
Means for managing the identifier of the When processing message communication between the processes, receive
Side process operates as a subroutine in the reserved area.
When creating a subroutine,
Call, and the receiving process allocates itself
Operating in an area in a different space than the space
Contains a means to call the receiving process with a trap
With Each of the above processes Itself has been assigned the operating system
Is operating in an area reserved in the space, or
Space to which the operating system is allocated;
Is a hand that manages whether it is operating in an area in a different space
Steps and When sending a message to another process,
Reserved in the space where the operating system is allocated
When operating in the specified area, the operating
Calling the operating system with a subroutine call.
Space to which the operating system is allocated;
When operating in an area in a different space,
Means to call the operating system in a trap
Have, The operation according to the operation status or the request of the process.
Rating system is different from the allocated space
A process operating in an area in space
To the area reserved in the space where the
Moved or the operating system
In the area secured in the allocated space Working process
The operating system is empty
It has means for moving to an area in a space different from the space between
A computer system characterized by the above-mentioned.
【請求項2】 マイクロカーネルとして構成されるオペ
レーティングシステムを備えたコンピュータシステムで
あって、前記マイクロカーネル上で動作するプロセス同
士が前記オペレーティングシステムを介在させてメッセ
ージ通信を実行するコンピュータシステムのプロセス管
理方法において、 前記オペレーティングシステムは、前記プロセスをサブ
ルーチンとして動作させるための領域を自身が割り当て
られた空間内に確保し、 前記プロセスの動作状況または要求に応じて、前記オペ
レーティングシステムが割り当てられた空間とは異なる
空間内の領域で動作するプロセスを前記オペレーティン
グシステムが割り当てられた空間内に確保された領域に
移動させ、または、前記オペレーティングシステムが割
り当てられた空間内に確保された領域で動作するプロセ
スを前記オペレーティングシステムが割り当てられた空
間とは異なる空間内の領域に移動させることを特徴とす
るプロセス管理方法。
(2)Operations configured as microkernel
On a computer system with a rating system
Process that runs on the microkernel
Messengers through the operating system
Pipe of computer system that executes page communication
In the processing method, The operating system sub-processes the process.
Allocates an area to operate as a routine
In the space provided, The operation according to the operation status or the request of the process.
Rating system is different from the allocated space
A process operating in an area in space
To the area reserved in the space where the
Moved or the operating system
Process that operates in the area reserved in the allocated space
The operating system is empty
Moving to an area in a space different from the space between
Process management methods.
JP31341193A 1993-12-14 1993-12-14 Computer system and process management method Expired - Fee Related JP3243097B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31341193A JP3243097B2 (en) 1993-12-14 1993-12-14 Computer system and process management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31341193A JP3243097B2 (en) 1993-12-14 1993-12-14 Computer system and process management method

Publications (2)

Publication Number Publication Date
JPH07168703A JPH07168703A (en) 1995-07-04
JP3243097B2 true JP3243097B2 (en) 2002-01-07

Family

ID=18040963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31341193A Expired - Fee Related JP3243097B2 (en) 1993-12-14 1993-12-14 Computer system and process management method

Country Status (1)

Country Link
JP (1) JP3243097B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会論文誌 Vol.34 No.5 1993年5月 P.994〜1009 光澤・他「スロット仮想空間によるオブジェクト間通信の高速化」

Also Published As

Publication number Publication date
JPH07168703A (en) 1995-07-04

Similar Documents

Publication Publication Date Title
US8589920B2 (en) Resource allocation
US6182108B1 (en) Method and system for multi-threaded processing
US4916608A (en) Provision of virtual storage resources to an operating system control program
US5396630A (en) Method and system for object management across process boundries in a data processing system
JP4690437B2 (en) Communication method, communication apparatus and program for network application
JP3730563B2 (en) Session management apparatus, session management method, program, and recording medium
EP0272835B1 (en) Virtual execution of programs on a multiprocessor system
US9378060B2 (en) Runtime co-location of executing logic and frequently-accessed application data
EP0623876A2 (en) Method and apparatus for linking object managers for cooperative processing in an object oriented computing environment
US7536688B2 (en) Segmented virtual machine
US20040083481A1 (en) System and method for transferring data between virtual machines or other computer entities
JP2008501173A (en) System and method for implementing a general application program interface
US20110004687A1 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
JPH04233654A (en) Multiple-process operating system
JP2001522113A (en) Distributed web application server
US20070198243A1 (en) Virtual machine transitioning from emulating mode to enlightened mode
CN106331065A (en) Proxy application for host system with service container and system
JPH10124470A (en) Mechanism for calling processing of multiplexed message with small overhead of low context switching
CN111274019A (en) Data processing method and device and computer readable storage medium
WO2007041777A1 (en) A database communication method
EP0910017A2 (en) Remote object activation in a distributed system
JPH06259387A (en) Procedure execution process and system
WO1994014114A1 (en) Interception system and method including user interface
US7669202B1 (en) Resource management
JP3243097B2 (en) Computer system and process management method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees