JP2008186383A - User-level process controller having process management function, method for it, and program for it - Google Patents
User-level process controller having process management function, method for it, and program for it Download PDFInfo
- Publication number
- JP2008186383A JP2008186383A JP2007021403A JP2007021403A JP2008186383A JP 2008186383 A JP2008186383 A JP 2008186383A JP 2007021403 A JP2007021403 A JP 2007021403A JP 2007021403 A JP2007021403 A JP 2007021403A JP 2008186383 A JP2008186383 A JP 2008186383A
- Authority
- JP
- Japan
- Prior art keywords
- user level
- control
- process control
- controlled
- user
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、OS(オペレーティングシステム)がプロセスを管理する計算機における、プロセス管理機能をもつユーザレベルプロセス制御装置、方法及びそのプログラムに関し、特にオペレーティングシステムを修正することなく、ユーザレベルの制御プロセスが、ユーザレベルの被制御プロセスを制御するユーザレベルのプロセス管理機能をもつユーザレベルプロセス制御装置、その方法及びそのプログラムに関する。 The present invention relates to a user level process control apparatus, method, and program therefor having a process management function in a computer in which an OS (operating system) manages a process, and in particular, a user level control process without modifying an operating system. The present invention relates to a user level process control apparatus having a user level process management function for controlling a user level controlled process, a method thereof, and a program thereof.
従来、複数のプログラムが動作する計算システムでは、プログラムはプロセスまたはスレッド(以下、単プロセスと記載した場合は、プロセスまたはスレッドを指すものとする)と呼ばれる実行単位で表される。当該複数のプログラムが動作する計算システムでは、適切にプロセスの動作を制御することが求められている。 Conventionally, in a computing system in which a plurality of programs operate, the program is represented by an execution unit called a process or a thread (hereinafter referred to as a process or a thread when described as a single process). In a computing system in which the plurality of programs operate, it is required to appropriately control the operation of the process.
例えば、リアルタイム処理を行っているプロセスがある場合、当該プロセスが優先的にCPUを利用するように制御することで、リアルタイムに処理を行うべきとの制約を満たすことができるようになる。また、他にもプロセス制御の方法としては各プロセスに対してのメモリ使用量の制御や利用可能なネットワーク帯域の制御などを行うことが挙げられる。 For example, when there is a process performing real-time processing, the restriction that the process should be performed in real time can be satisfied by controlling the process so as to use the CPU preferentially. Other process control methods include control of memory usage for each process and control of available network bandwidth.
一般に、上記のような複数のプロセスが動く計算システムでは、OS(オペレーティングシステム)がプロセスを制御する。そのため、利用しているOSが持っているプロセス制御機能が、計算システム上で動作させるプロセス集合に対して必要なプロセス制御を行うことができない場合は充分に必要な性能を得ることができない。 Generally, in a computing system in which a plurality of processes as described above operate, an OS (operating system) controls the processes. For this reason, if the process control function of the OS being used cannot perform the necessary process control for the process set operated on the computing system, sufficient performance cannot be obtained.
例えば、OSのプロセス制御機能のひとつである、プロセスのCPUへの割り当てを決定するスケジューラが、特別なプロセス管理を行わず、全てのプロセスを均等にCPUへ割り当てるという制御を行う場合は、リアルタイム処理を行っているプロセスに十分なCPU利用時間を与えることができないという問題が生じる。 For example, if the scheduler that determines the allocation of processes to CPUs, which is one of the OS process control functions, performs control to allocate all processes equally to CPUs without performing special process management, real-time processing There arises a problem that sufficient CPU utilization time cannot be given to the process performing the process.
そのような場合の解決手段として、まずOSそのものを変更する方法が考えられる。そして具体的には、(1)要求性能を満たすようなプロセス制御が可能な、別のOSを用いる方法と、(2)現在利用しているOSを修正して機能拡張する方法、が考えられる。 As a solution for such a case, a method of changing the OS itself can be considered. Specifically, there are (1) a method using another OS capable of controlling the process to satisfy the required performance, and (2) a method of expanding the function by modifying the currently used OS. .
ここで、上記(1)の例の実現のためにはリアルタイム処理に適したリアルタイムOSを導入することが挙げられる。しかし、一般にOSが異なる場合は、プログラムの互換性はないため、OSを変更して使用を継続するためにはプログラムを変更後のOSに対応できるように修正しなければならないという問題がある。 Here, in order to realize the above example (1), a real-time OS suitable for real-time processing can be introduced. However, in general, when the OS is different, there is no compatibility of the program. Therefore, in order to continue using the program after changing the OS, there is a problem that the program must be modified so as to correspond to the changed OS.
一方、(2)の方法については、OSの修正には専用の知識が必要であるという問題がある。更にそれに加えて、商用OSなどはソースコードの入手が不可能である場合が多い。 On the other hand, the method (2) has a problem that dedicated knowledge is required to modify the OS. In addition to that, it is often impossible to obtain source codes for commercial OSs and the like.
また、たとえソースコードの入手が可能であってもOSの修正を行った場合は、メーカサポートの対象外になるなどのサポート体制の問題などで、やはり変更を行うこと自体が困難である。 Even if the source code can be obtained, if the OS is modified, it is still difficult to make a change due to a problem in the support system such as being out of the scope of manufacturer support.
このようにOSの変更が困難な場合の解決手段として、ユーザレベルプロセス制御がある。ユーザレベルプロセス制御では、OS上で動作するユーザレベルのプロセスが制御プロセスとなり、その他のプロセスに対して制御を行う。この場合にはOSの変更は必要ない。 There is a user level process control as a solution when it is difficult to change the OS. In the user level process control, a user level process operating on the OS becomes a control process, and controls other processes. In this case, it is not necessary to change the OS.
この場合、一般にOSはプロセス毎に属性を設定し、その属性に従ってプロセス制御を行う。また、OSはプロセスの属性をユーザレベルから変更するためのAPIを提供している。したがって、ユーザレベルの制御プロセスは、そのAPIを用いて被制御プロセスの属性を変更することによって、プロセス制御を行う。 In this case, the OS generally sets an attribute for each process, and performs process control according to the attribute. The OS also provides an API for changing process attributes from the user level. Therefore, the user level control process performs process control by changing the attribute of the controlled process using the API.
特許文献1では、上述のようなプロセスの属性情報を用いてプロセス制御を行う技術について開示されている。 Patent Document 1 discloses a technique for performing process control using process attribute information as described above.
一方、特許文献2では、ユーザレベルのプロセス制御に関する技術が開示されている。同文献では、なかでもユーザレベルの制御プロセスによって、被制御プロセスのCPUへのスケジューリングを制御するユーザレベルプロセススケジューラについて述べられている。 On the other hand, Patent Document 2 discloses a technique related to user-level process control. This document describes a user level process scheduler that controls scheduling of a controlled process to a CPU by a user level control process.
特許文献2では、制御プロセスであるユーザレベルプロセススケジューラが、制御対象として登録されている複数の被制御プロセスに対して、そのプロセスの属性である優先度や実行可能/停止状態を変更する。ここで、例として当該OSのプロセススケジューラが、CPUを最高優先度のプロセスに対し優先的に割り当てるという動作をする場合を考える。 In Patent Document 2, a user-level process scheduler that is a control process changes the priority and executable / stopped state attributes of a plurality of controlled processes registered as control targets. Here, as an example, consider a case where the process scheduler of the OS performs an operation of preferentially assigning a CPU to a process with the highest priority.
このようなCPUを特定の被制御プロセスに対し優先的に割り当てたいときは、そのプロセスの優先度を最高にし、それ以外の被制御プロセスの優先度を下げることによって、OSのプロセススケジューラが、当該最高優先度のプロセスをCPUに割り当てるように制御する。
上記のような、従来のユーザレベルプロセス制御の第一の問題点は、被制御プロセスが新たに子プロセスを生成した場合に、制御プロセスが当該生成された子プロセスを制御できないことである。 The first problem of the conventional user level process control as described above is that when the controlled process newly generates a child process, the control process cannot control the generated child process.
その理由は、制御プロセスは被制御プロセスが子プロセスを生成したことを知る機能を有していないためである。すなわち、プロセスの生成はOSが行い、生成されたプロセスのIDは親プロセスに直接通知される。つまり、OSや親プロセス以外のプロセスとは無関係に子プロセスの生成が行われる。 The reason is that the control process does not have a function of knowing that the controlled process has created a child process. That is, the process is generated by the OS, and the ID of the generated process is directly notified to the parent process. That is, the child process is generated regardless of the processes other than the OS and the parent process.
よって、制御プロセスは、被制御プロセスと親子関係がない以上、子プロセスが生成されたことを知る機能を持つような特別な場合をのぞき、子プロセスが生成されたことを知ることができない。そのため、制御プロセスは当該新たに生成された子プロセスに対してプロセス制御を行うための属性変更ができない。 Therefore, since the control process has no parent-child relationship with the controlled process, the control process cannot know that the child process has been created except in a special case having a function of knowing that the child process has been created. Therefore, the control process cannot change the attribute for performing process control on the newly generated child process.
そのため、プログラムが親プロセスとその子孫のプロセスからなる複数のプロセスから構成される場合であっても、制御プロセスは親プロセスしか制御できないことになる。したがって、制御プロセスは、プログラムの一部しか制御をすることができず、そのプログラムが全体として十分な性能で動くように制御できないという問題がある。 Therefore, even when the program is composed of a plurality of processes including a parent process and its descendant processes, the control process can control only the parent process. Therefore, the control process can control only a part of the program, and there is a problem that the control process cannot be controlled so as to operate with sufficient performance as a whole.
この点、特許文献2で述べられている上記問題点の従来の解決例では、生成された子プロセスを制御対象に加えるためには、子プロセス自身が制御プロセスに対し被制御プロセスとしての加入要求を行うという解決手段がとられている。よって、当該方式を採用するためには、子プロセスとなるプログラムが制御プロセスに対し被制御プロセスとしての加入要求を行うように、予めプログラムを変更する必要がある。 In this regard, in the conventional solution of the above-described problem described in Patent Document 2, in order to add the generated child process to the control target, the child process itself requests the control process to join as a controlled process. The solution to do is taken. Therefore, in order to employ this method, it is necessary to change the program in advance so that the program serving as the child process makes a join request as a controlled process to the control process.
もっとも、当該プログラム変更に際しては、制御プロセスのソースコードが必ずしも入手可能でないことや、たとえ、ソースコードが入手できたとしても、変更には相応のコストを要する。よって、当該従来例のように被制御プロセスを変更することなく、子プロセスの生成を知ることが課題であるといえる。 Of course, when the program is changed, the source code of the control process is not necessarily available, and even if the source code is available, the change requires a corresponding cost. Therefore, it can be said that it is a problem to know generation of a child process without changing the controlled process as in the conventional example.
次に、第二の問題点は制御プロセスが、被制御プロセスの消滅を知ることができないために、制御対象から当該消滅した被制御プロセスを除外できないことである。その理由は上記のように、制御プロセスが、被制御プロセスの消滅を知る機能を持たないためである。 The second problem is that the controlled process cannot be excluded from the control target because the control process cannot know the disappearance of the controlled process. This is because the control process does not have a function of knowing the disappearance of the controlled process as described above.
このため、被制御プロセスがすでに消滅した場合であっても、制御プロセスは存在しない被制御プロセスに対しても制御を行い続けることとなり、システム全体の性能が劣化するという問題がある。 For this reason, even if the controlled process has already disappeared, the control process continues to be controlled even for the controlled process that does not exist, and there is a problem that the performance of the entire system deteriorates.
以上より、本発明は、被制御プロセスによる子プロセスの生成及び被制御プロセスの消滅を、制御プロセスが知ることを第一の目的とする。更に、プロセス制御の対象とする必要がある全てのプロセスに対して、制御プロセスが属性変更を行うことができるユーザレベルプロセス制御機構を提供することを第二の目的とする。 As described above, the first object of the present invention is for the control process to know the generation of the child process by the controlled process and the disappearance of the controlled process. It is a second object of the present invention to provide a user level process control mechanism that allows the control process to change the attribute for all processes that need to be subject to process control.
本発明によれば、ユーザレベルの制御プロセスがプロセス制御を行うユーザレベルプロセス制御装置であって、子プロセスの生成を行う手段と、プロセス制御の対象である被制御プロセスを消滅させる手段と、プロセスの状態変更を検出する手段と、当該状態変更を把握するプロセス状態把握手段とを備えることを特徴とするユーザレベルプロセス制御装置、方法及びプログラムが提供される。 According to the present invention, a user level process control apparatus in which a user level control process performs process control, a means for generating a child process, a means for extinguishing a controlled process to be controlled, and a process There is provided a user level process control apparatus, method, and program characterized by comprising means for detecting the state change and process state grasping means for grasping the state change.
上記の場合において、前記プロセス状態把握手段により把握したプロセス情報及びプロセス状態に基づきプロセスの実行を管理する手段を更に備えることを特徴とするようにしてもよい。 In the above case, the information processing apparatus may further include means for managing process execution based on the process information grasped by the process state grasping means and the process state.
本発明によれば、ユーザレベルプロセス制御システムにおいて、制御プロセスが制御対象とする必要のあるプロセスを正確に把握することにより、プロセスが子プロセスを生成したり、プロセスが消滅したりする場合にも、プロセスを適切に制御することが可能になる。 According to the present invention, in a user level process control system, even when a process generates a child process or a process disappears by accurately grasping a process that needs to be controlled by the control process. It becomes possible to control the process appropriately.
発明を実施するための最良の形態について図面を参照して詳細に説明する。
まず、本発明の概略を、図1を用いて説明する。制御プロセス110はプロセス管理機能部111を備え、制御プロセスのプロセス管理機能は、被制御プロセス120による子プロセス生成時と被制御プロセスの消滅時に通知を受け取ることを特徴とする。
The best mode for carrying out the invention will be described in detail with reference to the drawings.
First, the outline of the present invention will be described with reference to FIG. The
制御プロセスのプロセス管理機能部111は、子プロセス生成の通知210を受けると、子プロセスを被制御プロセス表112に追加し、被制御プロセス表を正確な状態に更新する。
Upon receiving the child
また、プロセス管理機能部111は、被制御プロセスの消滅の通知220を受けると、被制御プロセス表112から当該プロセスを削除する。これにより不要なプロセスを被制御プロセス表から除外し、被制御プロセス表を正確な状態に更新する。
When the process
上記より、被制御プロセスが生成または消滅する場合も、被制御プロセス表が正確な状態に保たれているため、制御プロセスの属性変更機能112は、必要な全てのプロセスに対して、OS130のプロセステーブル131に記録されている属性を変更することができる。
From the above, even when a controlled process is generated or disappears, the controlled process table is maintained in an accurate state, so that the
OS130のプロセス制御機能部132は、プロセステーブル中の属性を参照してプロセス制御を行う。
The process
図2は本発明の実施形態の基本的構成を示す図面である。当該実施の形態は、制御プロセス110、被制御プロセス120、OS130、プロセス生成検出部310、プロセス消滅検出部320を備える。制御プロセス110は、プロセスの属性変更機能部112と被制御プロセス表113及びプロセス管理機能部111を備える。
FIG. 2 is a diagram showing a basic configuration of the embodiment of the present invention. The embodiment includes a
本実施の形態は、制御プロセス110のプロセス管理機能部111が、ユーザレベルのプロセス生成検出部310とプロセス消滅検出部320を利用することを特徴とする。
The present embodiment is characterized in that the process
まず、OS130は、プロセスの情報を保持するプロセステーブル131と、プロセス制御機能部132を有する。OS130のプロセス制御機能部132はプロセステーブル131に記録されているプロセスの属性にしたがって、プロセス制御を行う。
First, the
次に、制御プロセス110の属性変更機能部112は、OS130の提供するAPIを用いてプロセステーブル131に記録されている被制御プロセス120の属性を変更する。制御プロセス110の被制御プロセス表113は、制御プロセスが制御対象としているプロセスを記録する。
Next, the attribute
また、新たに子プロセス生成があった場合には、検出制御プロセス110のプロセス管理機能部111は、プロセス生成検出部310を利用して、被制御プロセス120の子プロセス生成を検出し、検出された子プロセスを被制御プロセス表113に追加する。更に、被制御プロセスの消滅があった場合には、制御プロセス110のプロセス管理機能部111は、プロセス消滅検出部320を利用し、被制御プロセス120の消滅を検出し、被制御プロセス表113から削除する。
In addition, when a new child process is generated, the process
プロセス生成検出部310は、ユーザレベルにあり、プロセスの子プロセス生成を検出し、生成を監視している制御プロセス110に通知する機能を有する。プロセス消滅検出部320はユーザレベルにあり、上記生成の場合と同様に、プロセスの消滅を検出し、消滅を監視している制御プロセス110に通知する機能を有する。
The process
次に、本実施の形態の動作に付いて図3乃至図5を用いて詳細に説明する。なお、説明では便宜のために簡略化し、被制御プロセスとしてひとつのプロセスのみを表示している。 Next, the operation of this embodiment will be described in detail with reference to FIGS. In the description, for simplification, only one process is displayed as a controlled process.
図3は、制御プロセス110が被制御プロセスA120に対して制御を行う動作を示している。
FIG. 3 shows an operation in which the
ここで、動作としては以下の通りである。まず、制御プロセスが、プロセスA120に対して制御を行うためにプロセステーブル131中のプロセスA120の属性の変更を示している(S10)。次にOS130のプロセス制御機能部132がプロセステーブル131に記録されているプロセスA120の属性を読み出すことを表している(S11)。更に、OS130のプロセス制御機能部132が、属性にしたがって、プロセスA120を制御することを表している(S12)。
Here, the operation is as follows. First, the control process indicates a change in the attribute of the process A120 in the process table 131 in order to control the process A120 (S10). Next, the process
図4は、制御プロセスがユーザレベルのプロセス生成検出部310を利用して、被制御プロセスA120による子プロセスB122の生成を検出する場合の動作を示している。まず、プロセスA120が子プロセスB122を作成する(S20)。それにつきプロセス生成検出部310がプロセスB122の生成の検出する(S21)。
FIG. 4 shows an operation when the control process detects the generation of the child process B122 by the controlled process A120 using the process
そして、プロセス生成検出部310は制御プロセス110へ子プロセスの生成を通知する(S22)。次に、通知を受けた制御プロセス110のプロセス管理機能部111は、今回新たに生成されたプロセスB122を被制御プロセス表113に登録する(S23)。
Then, the process
この際、制御プロセス110の属性変更機能部112は、プロセスB122が制御対象であることを把握し、OS130のプロセステーブル131の属性を変更する(S24)。
At this time, the attribute
図5は、制御プロセス110がユーザレベルのプロセス消滅検出部320を利用して、被制御プロセスB122の消滅を検出する動作を示している。まず、プロセス消滅検出部320がプロセスB122の消滅を検出する(S30)。次に、プロセス消滅検出部320が制御プロセス110にプロセスB122の消滅を通知する(S31)。制御プロセス110のプロセス管理機能部111は、被制御プロセス表113からプロセスB122を削除する(S32)。
[実施形態]
次に、具体的な実施形態を用いて、本発明を実施するための最良の形態の動作について説明する。本発明の第1の実施形態の構成を図6に示す。なお、ここで以下に述べる実施形態は、本発明の第1の実施形態に対応するものであるが、図6では制御プロセスの属性変更機能は省略してある。
FIG. 5 shows an operation in which the
[Embodiment]
Next, the operation of the best mode for carrying out the present invention will be described using specific embodiments. The configuration of the first embodiment of the present invention is shown in FIG. Note that the embodiment described below corresponds to the first embodiment of the present invention, but the attribute changing function of the control process is omitted in FIG.
本実施形態は、被制御プロセス120による子プロセスの生成の際や被制御プロセスの終了の際に呼び出されるライブラリ関数がダイナミックリンクされている場合に用いられるものである。
This embodiment is used when a library function that is called when a controlled
また、本実施形態は、ユーザレベルのプロセス生成検出部及びプロセス消滅検出部として、ダイナミックリンカ及び当該ダイナミックリンカに備えられるダイナミックリンクライブラリを利用することを特徴とするものである。 In addition, this embodiment is characterized in that a dynamic linker and a dynamic link library provided in the dynamic linker are used as a user level process generation detection unit and a process disappearance detection unit.
プロセスが子プロセスを生成する場合やプロセスの終了を行う場合は、OSにそれらの処理を依頼するためのシステムコールを行う。この点、一般的にはプロセスが直接システムコールを行うのではなく、システムライブラリ中の専用の関数を呼び出して、当該ライブラリ関数内でシステムコールが実行される。 When a process generates a child process or terminates a process, a system call for requesting the OS to perform the process is performed. In this respect, in general, a process does not directly perform a system call, but calls a dedicated function in the system library, and the system call is executed in the library function.
したがって、子プロセス生成やプロセス終了時に呼び出されるライブラリ関数が、制御プロセスへの通知機能を持つ場合であれば、子プロセスの生成やプロセスの終了を検出して、更にそれを制御プロセスへ通知をするということまでもが可能となる。 Therefore, if the library function that is called at the time of child process creation or process termination has a function to notify the control process, the child process creation or process termination is detected and further notified to the control process. Even that is possible.
ライブラリ関数がダイナミックリンクされている場合は、ダイナミックリンカがプロセスの実行時にリンクを解決する。図6のシステムライブラリ420は、システムにもともと備わっているライブラリを示している。ここで、当該システムライブラリ420中の関数は、制御プロセスへの通知機能を持っていない。
If the library function is dynamically linked, the dynamic linker resolves the link at process run time. A
一方、図6のカスタムライブラリ430は、システムライブラリ420の関数と同じ関数名ではあるが、プロセス生成や消滅といった本来の機能に加えて、制御プロセスへの通知機能を持つ関数をも含むライブラリである。
On the other hand, the
ダイナミックリンカ410によって、被制御プロセス120から呼び出されるライブラリ関数として、システムライブラリ420中の関数ではなく、カスタムライブラリ430中の関数がリンクされる。つまり、システムライブラリ420中の関数ではなく、カスタムライブラリ430中の関数が呼ばれることとなる。
The
これにより、カスタムライブラリ430中の関数が子プロセス生成や被制御プロセスの消滅の検出を行い、さらに、当該生成や消滅の事実を、制御プロセス110へ通知することとなる。
As a result, the function in the
ここで、ダイナミックリンカ410によってリンクされる関数を、システムライブラリ420中の関数でなく、カスタムライブラリ430中の関数とする当該置き換え作業は、ダイナミックリンカ410が、ライブラリ関数を検索する順番の上位として、カスタムライブラリ430を指定することによって行うことができる。
Here, the replacement operation in which the function linked by the
また、Linuxで広く利用されているGnu(Gnu is Not Unix(登録商標))のダイナミックリンカの場合では、当該置き換え作業は、環境変数を用いて被制御プロセスのみに置き換えを適用することが可能である。 Also, in the case of Gnu (Gnu is Not Unix (registered trademark)) dynamic linker widely used in Linux, the replacement can be applied only to the controlled process using environment variables. is there.
さらに、ダイナミックリンカの設定ファイルを変更することで、ダイナミックリンクされている全プロセスに対して置き換えをすることも可能である。 Furthermore, it is possible to replace all the dynamically linked processes by changing the dynamic linker setting file.
なお、前記子プロセス生成や被制御プロセスの消滅の検出を行った際の、カスタムライブラリ430中の関数から制御プロセス110への通知には、OSが提供するプロセス間通信機能が利用できる。
Note that an inter-process communication function provided by the OS can be used for notification from the function in the
次に、図7を用いて被制御プロセス120が子プロセスを生成する場合の動作について説明する。まず、被制御プロセス120が子プロセス生成関数forkを呼び出す(S40)。次に、ダイナミックリンカ410がカスタムライブラリ430中のfork関数を呼び出す(S41)。
Next, an operation when the controlled
カスタムライブラリ430中のfork関数は、システムライブラリ420中のfork関数を呼び出す(S42)。
The fork function in the
システムライブラリ420中のfork関数がシステムコールを発行することで、OS130が子プロセスの生成を行う(S43)
カスタムライブラリ430中のfork関数は、生成された子プロセスのプロセスIDを取得し、プロセス間通信を用いて制御プロセス110のプロセス管理機能部111に通知する(S44)。そして、制御プロセス110は、子プロセスを被制御プロセス表113に追加する(S45)。
When the fork function in the
The fork function in the
上記(S40)〜(S45)の手順により制御プロセス110は、新たにプロセスの生成があったことを把握することができ、以後は当該新たに生成されたプロセスを制御の対象として被制御プロセス表に追加することが可能となる。
The
次に、被制御プロセス120が消滅する場合の動作を説明する。
まず、被制御プロセスがプロセス終了関数exitを呼び出す(S40)。
Next, an operation when the controlled
First, the controlled process calls the process end function exit (S40).
次に、ダイナミックリンカ41がカスタムライブラリ430中のexit関数を呼び出す(S41)。続いて、カスタムライブラリ430中のexit関数は、システムライブラリ420中のexit関数を呼び出す(S42)。
Next, the
システムライブラリ420中のexit関数がシステムコールを発行することで、OS130が被制御プロセスの消滅処理を行うことにより当該被制御プロセスが消滅する(S43)。
When the exit function in the
カスタムライブラリ430中のexit関数は、プロセス間通信を用いて制御プロセス110のプロセス管理機能部111に、前記被制御プロセスの消滅があったことを通知する(S44)。
The exit function in the
制御プロセス110は、通知された前記消滅したプロセスを被制御プロセス表113から削除する(S45)。
The
以上の手順により制御プロセス110は、新たにプロセスの消滅があったことを把握することができる。
With the above procedure, the
なお、実施形態1の別形態として、カスタムライブラリが直接システムコールを行うことによりOS130を呼び出して、プロセスの生成や、プロセスの消滅をOSに実行させる構成をとるのも良い。また、実施形態1のさらなる別形態として、カスタムライブラリ430を使わず、システムライブラリ420中の関数に制御プロセスへの通知機能を持たせても良い。
As another form of the first embodiment, a configuration may be adopted in which the OS calls the
上記第1の実施形態は、カスタムライブラリ430の作成を行うことと、環境変数の設定やダイナミックリンカの設定ファイルの変更を行うのみで実現できるため、被制御プロセスの自体の修正やOSに特別な機能の追加をするなどといった作業が不要であるという効果がある。
The first embodiment can be realized simply by creating the
また、ダイナミックリンクされている如何なる関数にも適用できるため、forkやexit以外の関数や呼び出しであっても検出をして、制御プロセスに通知を行うことができるという効果もある。 Further, since it can be applied to any function that is dynamically linked, there is an effect that even a function or call other than fork and exit can be detected and notified to the control process.
次に、本発明の実施形態の変形例に付いて図8を参照して説明する。本実施の形態は、OS130がプロセス生成検出部310とプロセス消滅検出部320を有し、制御プロセス110がそれらを利用することを特徴とする。なお、本実施の形態の動作は、上記に示した実施の形態と同様である。
Next, a modification of the embodiment of the present invention will be described with reference to FIG. The present embodiment is characterized in that the
次に、本発明のさらなる変形例を実施するための形態に付いて図9を参照して説明する。図9に示す実施の形態では、制御プロセス110自身がプロセス生成検出部310とプロセス消滅検出部320を有することを特徴とする。本実施の形態の動作も、上記に示した実施の形態と同様である。
Next, a mode for carrying out a further modification of the present invention will be described with reference to FIG. The embodiment shown in FIG. 9 is characterized in that the
なお、図2、図8及び図9に示す実施の形態は、それぞれユーザレベル、OS内、制御プロセス内の何れかの部分の、同じ部分にプロセス生成検出部310とプロセス消滅検出部320が存在している。
2, 8, and 9, the process
この点、本発明の更に異なる実施の形態として、プロセス生成検出部310とプロセス消滅検出部320のそれぞれが異なる場所に存在しても良い。
In this regard, as a further different embodiment of the present invention, each of the process
以上に加え、本発明の異なる実施の形態として、被制御プロセス110のプロセス管理機能部111が、プロセス生成通知またはプロセス消滅通知のいずれかのみを利用する構成をとっても良い。
In addition to the above, as a different embodiment of the present invention, the process
また、本発明の他の実施の形態として、制御プロセス110のプロセス管理機能部111が、複数のプロセス生成検出部310を利用する構成をとっても良い。さらに、本発明の異なる実施の形態として、制御プロセス110のプロセス管理機能部111が、複数のプロセス消滅検出部320を利用する構成をとっても良い。
As another embodiment of the present invention, the process
加えて、本発明の異なる実施の形態として、複数の制御プロセス110が存在する構成をとっても良い。また、本発明の実施の形態として、制御プロセスのプロセス管理機能が、プロセスの生成と消滅以外のプロセスの状態変化(例えばスリープ)を検出し、ユーザレベルプロセス制御に利用する構成をとっても良い。
In addition, as a different embodiment of the present invention, a configuration in which a plurality of
次に、本発明の第2の実施形態を図10を用いて示す。第2の実施形態は、上述した本発明の第1の実施の形態に対応するものである。 Next, the 2nd Embodiment of this invention is shown using FIG. The second embodiment corresponds to the above-described first embodiment of the present invention.
本実施形態は、ユーザレベルのプロセス生成検出部及び消滅検出部として、スタティックリンクライブラリを用いることを特徴とする。基本構成として、第1の実施形態と同様に、システムライブラリ420中のプロセス生成や消滅の関数と同名の関数を持つカスタムライブラリ430を用いる点は同様である。
The present embodiment is characterized in that a static link library is used as the process generation detection unit and the disappearance detection unit at the user level. Similar to the first embodiment, the basic configuration is the same in that a
第1の実施形態との相違点は、被制御プロセスが子プロセスを生成する際や被制御プロセスが消滅する際に、システムライブラリ420の関数ではなく、カスタムライブラリ430中の関数を呼び出すことを、カスタムライブラリ430を被制御プロセス120にスタティックリンクすることによって実現している点である。
The difference from the first embodiment is that, when the controlled process generates a child process or when the controlled process disappears, the function in the
なお、図10では、カスタムライブラリ430、システムライブラリ420の両方がスタティックリンクされる構成が図示されているが、本実施形態の別形態としてカスタムライブラリ430のみをスタティックリンクする構成をとっても良い。本実施形態の動作も実施形態1の動作と同様である。当該第2の実施形態の利点は、被制御プロセスがスタティックリンクを用いている構成の場合にも本発明を利用できるという点である。
In FIG. 10, a configuration in which both the
次に、本発明の第3の実施形態の構成を図11に示す。第3の実施形態も、本発明の第1の実施の形態に対応するものである。本実施形態は、プロセス生成の検出または、プロセス消滅の検出を行うにあたって、OS130のプロセストレース機能134を用いることを特徴とする。
Next, FIG. 11 shows the configuration of the third embodiment of the present invention. The third embodiment also corresponds to the first embodiment of the present invention. The present embodiment is characterized in that the
ここで、OS130のプロセストレース機能134は、トレース対象のプロセスがシステムコールを行った際に、トレース対象プロセスをいったん停止させ、監視しているプロセスに通知を行う機能を提供する。例えば、Linuxはこのようなプロセストレース機能を備えている。
Here, the
本実施形態では、まず制御プロセス110のプロセス管理機能部111が、プロセスのトレースを行うことを指示するシステムコール(例えばLinuxのptrACeシステムコール)を呼び出して、制御プロセス110が被制御プロセス120をトレースすることができるように、OS130に指示を出す。
In this embodiment, first, the process
このときに、プロセス生成に関わるシステムコール(例えばforkやClone)や消滅に関わるシステムコール(例えばexit)をトレースするように設定する。 At this time, it is set to trace a system call related to process generation (for example, fork or Clone) and a system call related to disappearance (for example, exit).
その後、制御プロセス110はwaitシステムコールを実行して、OS130のプロセストレース機能134から通知がくるのを待つ。
Thereafter, the
続いて、図12を用いて被制御プロセスが子プロセスを作成する場合の動作手順を示す。手順としては、以下の手順となる。被制御プロセス120が子プロセスの生成のためのシステムコールを発行する(S50)。
Next, an operation procedure when the controlled process creates a child process will be described with reference to FIG. The procedure is as follows. The controlled
予めなされていた設定にしたがって、OS130のプロセストレース機能が呼ばれる(S51)。
The process trace function of the
次にOS130のプロセストレース機能134は、被制御プロセス120を停止する(S52)。さらに、OS130のプロセストレース機能134は、制御プロセス110に被制御プロセス120から前記子プロセスの生成のためのシステムコールの発行があった旨の通知を行う(S53)。制御プロセス110は、前記通知を受け取るとwaitシステムコールから復帰し、被制御プロセス表113に当該新たに生成された子プロセスを追加する(S54)。
Next, the
制御プロセス110は、被制御プロセス120の再開ためのシステムコールを実行する(S55)。
The
その後、OS130が被制御プロセス120を再開させる(S56)。
Thereafter, the
また、上記構成のもとで被制御プロセス120が消滅する場合の動作は、以下の手順となる。
The operation when the controlled
被制御プロセス120が子プロセスの消滅のためのシステムコールを発行する(S50)。予めなされていた設定にしたがって、OS130のプロセストレース機能が呼ばれる(S51)。
The controlled
OS130のプロセストレース機能134は、被制御プロセス120を停止する(S52)。OS130のプロセストレース機能134は、制御プロセス110に被制御プロセス120が前記子プロセスの消滅のためのシステムコールの発行があった旨の通知を行う(S53)。制御プロセス110は、前記通知を受け取るとwaitシステムコールから復帰し、被制御プロセス表113より、当該消滅される子プロセスを削除する(S54)。
The
制御プロセス110は、被制御プロセス120の再開ためのシステムコールを実行する(S55)。
The
その後、OS130が被制御プロセス120を再開させる(S56)、との手順となる。
Thereafter, the
第3の実施形態は、前記した実施形態1または2と異なり、被制御プロセスのリンクの方式によらずに用いることができるという効果がある。更に、通知のためのカスタムライブラリを作成する必要がないという効果もある。また、OSのトレース機能は、被制御プロセスを一度停止してから制御プロセスに通知を行うため、制御プロセスへの通知が行われる前に被制御プロセスが動作を開始してしまうということがないという効果もある。 Unlike the first or second embodiment, the third embodiment has an effect that it can be used regardless of the link method of the controlled process. Furthermore, there is an effect that it is not necessary to create a custom library for notification. In addition, since the OS trace function stops the controlled process once and notifies the control process, the controlled process does not start operating before the control process is notified. There is also an effect.
次に、本発明の第4の実施形態の構成を図13に示す。第4の実施形態は、本発明の第3の実施の形態に対応するものである。本実施形態では、制御プロセスが、OS130のプロセステーブルを検索するプロセステーブル検索機能114を持つことで、制御プロセス110自身が、プロセス生成検出機能及びプロセス消滅検出機能を備えていることを特徴とする。
Next, FIG. 13 shows the configuration of the fourth embodiment of the present invention. The fourth embodiment corresponds to the third embodiment of the present invention. In the present embodiment, the control process has a process
プロセステーブル検索機能114は、OS130の提供するAPIを用いて、OS130のプロセステーブル131にアクセスして、存在するプロセスに関する情報を調べる機能を持つ。プロセステーブル131にアクセスするためのAPIとしては、例としてLinuxの持つproCファイルシステムが挙げられる。
The process
次に、図14を用いて、被制御プロセスが子プロセスの生成を行った際の、第4の実施形態の動作について説明する。 Next, the operation of the fourth embodiment when the controlled process generates a child process will be described with reference to FIG.
まず、被制御プロセス120が子プロセス生成のためのシステムコールをOS130に対して実行する(S60)。OS130は当該システムコールを受けて、子プロセスを生成し、プロセステーブル131に、新しいプロセスのID及びそのプロセスの親プロセスのIDを追加する(S61)。
First, the controlled
制御プロセス110のプロセス管理機能部111が、プロセステーブル検索機能114を呼び出し、現在の被制御プロセス120を親プロセスとする新しいプロセスが存在するかを検索する(S62)。
The process
次に、制御プロセス110のプロセステーブル検索機能114は、プロセステーブル131にアクセスして、現在の被制御プロセス120を親プロセスとする前記新しい子プロセスを検索して発見する(S63)。
Next, the process
その後、制御プロセス110のプロセス管理機能部111は、プロセステーブル検索機能114の検索結果を受け取り、子プロセスが生成されたことを検出する(S64)。
Thereafter, the process
そして、プロセス管理機能部111は、前記新しい子プロセスを新たな制御対象として、被制御プロセス表113に登録する(S65)。
Then, the process
上記の手順に従うことにより、被制御プロセスが子プロセスの生成を行ったことを制御プロセス110は、把握できる。
By following the above procedure, the
また、同様の手順をとることにより子プロセスの生成があった場合のみならず、プロセスの消滅があった場合も、被制御プロセスが当該プロセス消滅の事実を把握できる。 Further, by taking the same procedure, not only when a child process is generated, but also when the process disappears, the controlled process can grasp the fact that the process disappears.
以上説明した、当該第4の実施形態は、上記のようにプロセステーブルを利用することにより、ダイナミックリンカに通知機能を付加することが困難な場合や、プログラムのスタティックリンク時にカスタムライブラリをリンクすることが不可能な場合、OSがプロセストレース機能を備えていない場合といった、実施形態1乃至3のいずれも実施できない場合であっても本発明を利用できるという効果がある。 The fourth embodiment described above uses the process table as described above to link a custom library when it is difficult to add a notification function to the dynamic linker or when a program is statically linked. Even if it is impossible to implement any of the first to third embodiments, such as when the OS is not equipped with a process trace function, the present invention can be used.
次に、本発明を実行した場合の実行結果の具体例ついて図15を用いて説明する。なお、本発明は、制御プロセスが、被制御プロセスを親プロセスとする子プロセスの管理機能を持つことを特徴とし、制御プロセスが行うプロセス制御の具体的な内容には無関係であるが、本発明の効果をわかり易く示すために、本実施形態ではプロセスのCPUへ割り当て制御(ユーザレベルプロセススケジュリング)に用いて説明する。 Next, a specific example of the execution result when the present invention is executed will be described with reference to FIG. The present invention is characterized in that the control process has a management function of a child process whose controlled process is a parent process, and is irrelevant to the specific contents of process control performed by the control process. In this embodiment, in order to show the effect of the above in an easy-to-understand manner, the description will be made using the allocation control (user level process scheduling) to the CPU of the process.
本具体例では、ユーザレベルプロセススケジューリングのための属性変更手段として、シグナルによるプロセスの実行/停止状態属性の変更が利用される。本具体例では、被制御プロセスとして三つのプロセスがあるものとする。 In this specific example, a change in process execution / stop state attribute by a signal is used as an attribute changing means for user level process scheduling. In this specific example, it is assumed that there are three processes as controlled processes.
プロセスA510は音楽再生を行うリアルタイム処理プロセスで、周期的な動作している。この周期動作が乱れると音飛びが発生しユーザに不快感を与えてしまう。つまり、リアルタイムに処理することが要求されるプロセスである。
次に、プロセスB520は電子メール表示プロセスで、音楽再生中に電子メールを受信し電子メール表示プログラムを起動した場合を想定している。電子メール表示プロセスは多少動作が遅れてもユーザに影響を与えない非リアルタイム処理プロセスである。 Next, the process B520 is an e-mail display process, and it is assumed that an e-mail is received during music playback and an e-mail display program is started. The e-mail display process is a non-real-time processing process that does not affect the user even if the operation is somewhat delayed.
一方、プロセスC530はプロセスB520が生成した子プロセスで、メールに添付された画像を表示するプロセスである。これも非リアルタイム処理プロセスである。 On the other hand, the process C530 is a child process generated by the process B520 and is a process for displaying an image attached to the mail. This is also a non-real-time processing process.
ここで、当該図15は、図の凸部分がCPUを利用していることを示しており、図の左から右に向かって時間が進むことを表している。なお、この図は、それぞれのプロセスが理想的な動作をした場合についての、それぞれのプロセスのCPU利用を示している。また、制御プロセスの実行時間は短いため図では省略している。 Here, FIG. 15 shows that the convex portion of the figure uses the CPU, and that time advances from the left to the right in the figure. This figure shows the CPU usage of each process when each process performs an ideal operation. Further, the execution time of the control process is short, so it is omitted in the figure.
図15(a)は個々のプロセスが単独で動いた場合のCPU利用を示している、また、図15(b)はユーザレベルプロセス制御を行わないで三つのプロセスを同時に動かした場合である。OSのプロセススケジューラは、上記のようなプロセス毎の特徴を知らないため、必ずしも望ましいスケジューリングが行われるとは限らない。 FIG. 15A shows the use of the CPU when individual processes move independently, and FIG. 15B shows the case where three processes are moved simultaneously without performing user level process control. Since the OS process scheduler does not know the characteristics of each process as described above, desirable scheduling is not always performed.
この例ではOSのプロセススケジューリングによりプロセスB520、C530が優先してCPUを利用している場合を示している。この場合、前記の様にリアルタイム処理プロセスであるか否かなどのプロセス毎の特徴は考慮されていないため、プロセスA51の周期動作が乱れ、音飛びが発生している状態となる。 In this example, the processes B520 and C530 preferentially use the CPU by OS process scheduling. In this case, as described above, characteristics of each process such as whether or not it is a real-time processing process is not taken into consideration, so that the periodic operation of the process A51 is disturbed and sound skipping occurs.
このような不適切な状態を避けるためには、各プロセスが適切にCPUを利用するように制御する必要がある。 In order to avoid such an inappropriate state, it is necessary to control each process to use the CPU appropriately.
図15(c)はプロセス管理機能を持たないユーザレベルプロセス制御を用いた場合である。したがって、親プロセスであるプロセスBのみに対してCPU利用時間制御が行われている。 FIG. 15C shows a case where user level process control having no process management function is used. Therefore, CPU usage time control is performed only for the process B which is the parent process.
本実施形態では、プロセスA510の実行タイミングに合わせて、制御プロセスからプロセスB520にシグナルを送り実行停止状態に変えることにより、プロセスA510の実行を妨げないように制御し、音飛びを防ぐことができる。しかし、子プロセスであるプロセスC530はユーザレベルプロセス制御機構の管理下にないため、プロセスC53に対してはCPU利用時間制御が行われず、プロセスA510の動作を妨げることとなる。よって、完全にはプロセスA510の実行タイミングに合わせたプロセス制御を行うことはできないため、結果として完全に音飛びを防止することはできない。
In the present embodiment, in accordance with the execution timing of the
さらに、図15(d)はプロセス管理機能をも備えたユーザレベルプロセス制御機構の場合のCPU利用を示している。(d)ではプロセスC530もCPU利用時間を制御されている。このためリアルタイム処理プロセスであるプロセスA510は優先的にCPUが割り当てられ、正常に周期動作している。これにより、上記の音飛びの問題は防止されている。
Further, FIG. 15D shows the use of the CPU in the case of a user level process control mechanism having a process management function. In (d), the CPU usage time is also controlled in the process C530. For this reason, the CPU A is preferentially assigned to the
このように、プロセス管理機能を備えたユーザレベルプロセス制御を用いることによって、OSや個々のプロセスを改造することなく、被制御プロセスが子プロセスを生成した場合も、リアルタイム性を維持するようにプロセス制御が行われることが可能となる。 In this way, by using user-level process control with a process management function, even if the controlled process generates a child process without modifying the OS or individual processes, the process is maintained so that real-time processing is maintained. Control can be performed.
なお、上記では、ユーザレベルプロセス制御の実現手段を属性及び属性変更として述べているが、これは、あくまでユーザレベルプロセス制御の実現手段の一例である。よって、当然のことながら前記実現手段にとらわれず、OSがプロセス制御に利用し、ユーザレベルから変更可能な他の手段を用いても良い。よって上記で言う属性及び属性変更はその他のユーザレベルプロセス制御の実現手段をも総称しているものとする。 In the above description, the means for realizing user level process control is described as an attribute and attribute change, but this is merely an example of means for realizing user level process control. Therefore, as a matter of course, other means that the OS uses for process control and can be changed from the user level may be used without being limited to the realizing means. Therefore, it is assumed that the attribute and attribute change mentioned above collectively refer to other means for realizing user level process control.
本発明は、複数のアプリケションプログラムがOSの管理下で動くコンピュータシステムで、各アプリケションプログラムを適切に動作させる用途に利用できる。 The present invention is a computer system in which a plurality of application programs run under the control of an OS, and can be used for the purpose of appropriately operating each application program.
110 制御プロセス
111 プロセス管理機能部
112 属性変更機能部
113 被制御プロセス表
114 プロセステーブル検索機能
120 被制御プロセス
121 被制御プロセスA
122 被制御プロセスB
130 オペレーティングシステム
131 プロセステーブル
132 プロセス制御機能
133 プロセス生成/消滅機能
134 プロセストレース機能
210 プロセス生成通知
220 プロセス消滅通知
310 プロセス生成検出部
320 プロセス終了検出部
410 ダイナミックリンカ
420 システムライブラリ
430 カスタムライブラリ
510 プロセスA
520 プロセスB
530 プロセスC
110
122 Controlled process B
130
520 Process B
530 Process C
Claims (25)
子プロセスの生成を行う手段と、
プロセス制御の対象である被制御プロセスを消滅させる手段と、
プロセスの状態変更を検出する手段と、
当該状態変更を把握するプロセス状態把握手段と、
を備えることを特徴とするユーザレベルプロセス制御装置。 A user level process control apparatus in which a user level control process performs process control,
Means for generating a child process;
Means for extinguishing the controlled process that is subject to process control;
Means for detecting process state changes;
A process status grasping means for grasping the status change;
A user level process control apparatus comprising:
前記プロセス状態把握手段において検出する状態変更は、子プロセスの生成または前記プロセス制御の対象である被制御プロセスの消滅を指すことを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to claim 1,
The state change detected by the process state grasping means indicates generation of a child process or disappearance of a controlled process which is a target of the process control.
前記プロセスの状態変更を検出した場合は、当該変更のあったプロセスの属性を設定する手段を更に備えることを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to claim 1 or 2,
A user-level process control apparatus, further comprising means for setting an attribute of a process having undergone a change when the process state change is detected.
前記生成を検出した子プロセスを新たに被制御プロセスとする手段を更に備えることを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 3,
A user level process control apparatus, further comprising means for newly setting a child process that has detected the generation as a controlled process.
前記プロセスの状態変更を検出する手段は、OSの備えるプロセストレース機能に基づいて行われることを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 4,
The means for detecting a change in the state of the process is performed based on a process trace function provided in the OS.
前記プロセスの状態変更を検出する手段は、OSの備えるプロセステーブルに保持されている情報に基づいて行われることを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 4,
The user level process control apparatus according to claim 1, wherein the means for detecting a change in the state of the process is performed based on information held in a process table provided in the OS.
前記プロセスの状態変更を検出する手段は、リンカに基づいて行われることを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 4,
The means for detecting a change in the state of the process is performed based on a linker.
前記制御プロセスの検出した消滅した被制御プロセスは、以後のユーザレベルの制御プロセスによる制御対象から除外することを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 7,
The user-level process control apparatus, wherein the controlled process detected by the control process is excluded from a control target by a subsequent user-level control process.
前記プロセス状態把握手段は、ユーザレベルのプロセス生成または消滅検出部が行うことを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 8,
The process level grasping means is performed by a user level process generation or disappearance detection unit.
前記プロセス状態把握手段は、OSが備えるプロセス生成または消滅検出部が行うことを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 8,
The process level grasping means is performed by a process generation or disappearance detection unit provided in the OS.
前記プロセス状態把握手段は、制御プロセスのもつプロセス生成または消滅検出部プロセス生成検出部が行うことを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 8,
The process level grasping means is performed by a process generation or disappearance detection unit process generation detection unit possessed by a control process.
前記プロセス状態把握手段により把握したプロセス情報及びプロセス状態に基づきプロセスの実行を管理する手段を更に備えたことを特徴とするユーザレベルプロセス制御装置。 The user level process control device according to any one of claims 1 to 11,
A user level process control apparatus, further comprising means for managing process execution based on the process information and process state grasped by the process state grasping means.
子プロセスの生成を行うステップと、
前記プロセス制御の対象である被制御プロセスを消滅させるステップと、
プロセスの状態変更を検出するステップと、
当該状態変更を把握するプロセス状態把握ステップと、
を備えることを特徴とするユーザレベルプロセス制御方法。 A user level process control method in which a user level control process performs process control,
Creating a child process,
Extinguishing the controlled process that is the subject of the process control;
Detecting process state changes; and
A process state grasping step for grasping the state change;
A user-level process control method comprising:
前記プロセス状態把握ステップにおいて検出する状態変更は、子プロセスの生成または前記プロセス制御の対象である被制御プロセスの消滅を指すことを特徴とするユーザレベルプロセス制御方法。 14. A user level process control method according to claim 13, comprising:
The user level process control method characterized in that the state change detected in the process state grasping step indicates generation of a child process or disappearance of a controlled process which is a target of the process control.
前記プロセスの状態変更を検出した場合は、当該変更のあったプロセスの属性を設定するステップを更に備えることを特徴とするユーザレベルプロセス制御方法。 15. A user level process control method according to claim 13 or 14,
A user-level process control method, further comprising a step of setting an attribute of a process having the change when a change in the state of the process is detected.
前記生成を検出した子プロセスを新たに被制御プロセスとするステップを更に備えることを特徴とするユーザレベルプロセス制御方法。 The user level process control method according to any one of claims 13 to 15,
A user-level process control method, further comprising the step of newly setting a child process whose generation has been detected as a controlled process.
前記プロセスの状態変更を検出する手段は、OSの備えるプロセストレース機能に基づいて行われることを特徴とするユーザレベルプロセス制御方法。 The user level process control method according to any one of claims 13 to 16, comprising:
The means for detecting a change in the state of the process is performed based on a process trace function provided in the OS.
前記プロセスの状態変更を検出する手段は、OSの備えるプロセステーブルに保持されている情報に基づいて行われることを特徴とするユーザレベルプロセス制御方法。 The user level process control method according to any one of claims 13 to 16, comprising:
The user level process control method according to claim 1, wherein the means for detecting a change in the state of the process is performed based on information held in a process table provided in the OS.
前記プロセスの状態変更を検出する手段は、リンカに基づいて行われることを特徴とするユーザレベルプロセス制御方法。 The user level process control method according to any one of claims 13 to 16, comprising:
The user level process control method according to claim 1, wherein the means for detecting a change in the state of the process is performed based on a linker.
前記制御プロセスの検出した消滅被制御プロセスは、以後のユーザレベルの制御プロセスによる制御対象から除外することを特徴とするユーザレベルプロセス制御方法。 A user level process control method according to any one of claims 13 to 19, comprising:
The user level process control method characterized in that the extinguished controlled process detected by the control process is excluded from a control target by a subsequent user level control process.
前記プロセス状態把握ステップは、ユーザレベルのプロセス生成または消滅検出部が行うことを特徴とするユーザレベルプロセス制御方法。 21. A user level process control method according to any one of claims 13 to 20, comprising:
The user level process control method, wherein the process state grasping step is performed by a user level process generation or disappearance detection unit.
前記プロセス状態把握ステップは、OSが備えるプロセス生成または消滅検出部が行うことを特徴とするユーザレベルプロセス制御方法。 21. A user level process control method according to any one of claims 13 to 20, comprising:
The process level grasping step is performed by a process generation or disappearance detection unit provided in the OS.
前記プロセス状態把握ステップは、制御プロセスのもつプロセス生成または消滅検出部プロセス生成検出部が行うことを特徴とするユーザレベルプロセス制御方法。 21. A user level process control method according to any one of claims 13 to 20, comprising:
The process state grasping step is performed by a process generation or disappearance detection unit process generation detection unit possessed by a control process.
前記プロセス状態把握ステップにより把握したプロセス情報及びプロセス状態に基づきプロセスの実行を管理するステップを更に備えたことを特徴とするユーザレベルプロセス制御方法。 A user level process control method according to any one of claims 13 to 23,
A user level process control method, further comprising a step of managing execution of a process based on process information and process state grasped by the process state grasping step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007021403A JP4962026B2 (en) | 2007-01-31 | 2007-01-31 | User level process control device having process management function, method and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007021403A JP4962026B2 (en) | 2007-01-31 | 2007-01-31 | User level process control device having process management function, method and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008186383A true JP2008186383A (en) | 2008-08-14 |
JP4962026B2 JP4962026B2 (en) | 2012-06-27 |
Family
ID=39729356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007021403A Active JP4962026B2 (en) | 2007-01-31 | 2007-01-31 | User level process control device having process management function, method and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4962026B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012133682A (en) * | 2010-12-22 | 2012-07-12 | Nec Corp | Computer, core allocation method and program |
JP2017010219A (en) * | 2015-06-19 | 2017-01-12 | 富士通株式会社 | Control program, control method, and information processor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954699A (en) * | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | Process scheduler of computer |
JPH1115677A (en) * | 1997-06-25 | 1999-01-22 | Nec Software Ltd | Process controller |
JP2005250711A (en) * | 2004-03-03 | 2005-09-15 | Nec Corp | Stall monitoring system, data processor and stall monitoring method to be used for the same |
JP2006268775A (en) * | 2005-03-25 | 2006-10-05 | Ntt Docomo Inc | Software operation modeling device and software operation monitoring device |
-
2007
- 2007-01-31 JP JP2007021403A patent/JP4962026B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954699A (en) * | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | Process scheduler of computer |
JPH1115677A (en) * | 1997-06-25 | 1999-01-22 | Nec Software Ltd | Process controller |
JP2005250711A (en) * | 2004-03-03 | 2005-09-15 | Nec Corp | Stall monitoring system, data processor and stall monitoring method to be used for the same |
JP2006268775A (en) * | 2005-03-25 | 2006-10-05 | Ntt Docomo Inc | Software operation modeling device and software operation monitoring device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012133682A (en) * | 2010-12-22 | 2012-07-12 | Nec Corp | Computer, core allocation method and program |
JP2017010219A (en) * | 2015-06-19 | 2017-01-12 | 富士通株式会社 | Control program, control method, and information processor |
Also Published As
Publication number | Publication date |
---|---|
JP4962026B2 (en) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5285353B2 (en) | Computer system, method and computer program for managing execution of actions corresponding to a plurality of service components | |
JP5093259B2 (en) | Communication path strengthening method between BIOS and BMC, apparatus and program thereof | |
JP6447217B2 (en) | Execution information notification program, information processing apparatus, and information processing system | |
JP5182801B2 (en) | Memory management method, memory management system and computer program in computing environment | |
JP2001175499A (en) | Distributed debugging device and debugging method and recording medium with control program | |
US8615755B2 (en) | System and method for managing resources of a portable computing device | |
CN105700939A (en) | Method and system for multi-thread synchronization in distributed system | |
JP2015049550A (en) | Control program, control method, and control device | |
US9098521B2 (en) | System and method for managing resources and threshsold events of a multicore portable computing device | |
CN106897077B (en) | Application program control method | |
JP2006277115A (en) | Abnormality detection program and abnormality detection method | |
US8332069B2 (en) | Fault tolerance method and apparatus for robot software component | |
JP5519458B2 (en) | Plant monitoring control system and display screen management method | |
JP4962026B2 (en) | User level process control device having process management function, method and program thereof | |
US20190227621A1 (en) | System management device | |
JP2009176146A (en) | Multi-processor system, failure detecting method and failure detecting program | |
JP2017045144A (en) | Information processor and control method thereof | |
JP2005234658A (en) | Task management program and task management device | |
JP2015121963A (en) | Information processing system, monitoring method, and program | |
JP2006059340A (en) | Real-time processing software controller and method | |
JP6751231B2 (en) | Job scheduler test program, job scheduler test method, and parallel processing device | |
JP2010224812A (en) | Job management system and method | |
JP2013097328A (en) | Image display device, image display method, and program | |
JP2007193744A (en) | Information processing device, program and scheduling method | |
JP2010003153A (en) | Information processor and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080618 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091214 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100908 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110404 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110830 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120312 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4962026 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150406 Year of fee payment: 3 |