JP2000181727A - Process mapping method for thread function on virtual space system - Google Patents

Process mapping method for thread function on virtual space system

Info

Publication number
JP2000181727A
JP2000181727A JP10356662A JP35666298A JP2000181727A JP 2000181727 A JP2000181727 A JP 2000181727A JP 10356662 A JP10356662 A JP 10356662A JP 35666298 A JP35666298 A JP 35666298A JP 2000181727 A JP2000181727 A JP 2000181727A
Authority
JP
Japan
Prior art keywords
thread
space
application
virtual space
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10356662A
Other languages
Japanese (ja)
Inventor
Misuzu Nihei
美鈴 二瓶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10356662A priority Critical patent/JP2000181727A/en
Publication of JP2000181727A publication Critical patent/JP2000181727A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide the process mapping method of a thread function on a virtual space system mapping the thread function agasint a process in the virtual space system of a multiprocess system where the thread function is not mounted. SOLUTION: Initial value presence data 310 of a process, initial value absence data 320 and stacks 3-1' and 3-2' are arranged in a common space 3 on a virtual space system constituted of a common space 3 that can be accessed from respective processes 1 and 2 and plural process individual spaces 1 and 2 that can be accessed for respective processes. A thread management table managing the processes allocated as the thread in an application is generated. When the application disappears, the process allocated as the thread is compulsorily terminated by a system call and therefore the thread is mapped in the process being the execution unit of an operation system.

Description

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

【0001】[0001]

【発明の属する技術分野】仮想空間システム上にスレッ
ド機能が実装されていないオペレーションシステムにお
いて、そのオペレーションシステムの実行単位であるプ
ロセスにスレッドをマッピングするための仮想空間シス
テム上におけるスレッド機能のプロセスマッピング方法
に関する。
BACKGROUND OF THE INVENTION In an operating system in which a thread function is not mounted on a virtual space system, a process mapping method of a thread function on the virtual space system for mapping a thread to a process which is an execution unit of the operation system. About.

【0002】[0002]

【従来の技術】クロスプラットフォームを特徴とするプ
ログラミング言語の一つにJava(ジャバ)がある。
Javaは、仮想マシン・インタープリタとなってお
り、また、言語レベルでマルチスレッドをサポートする
ことを特徴としている。スレッド機能はJava言語自
体に組み込まれており、Java仮想マシンもスレッド
機能を使用している。Javaはクロスプラットフォー
ムな言語ではあるが、Java仮想マシンの実装につい
ては、オペレーションシステムに依存する要素があり、
スレッド機能の扱いも、Java仮想マシンとオペレー
ションシステムに依存する部分がある。したがって、あ
るオペレーションシステムに実装されていたJava仮
想マシンを、他のオペレーションシステムに移植実装す
るには、スレッド機能の実装方法が重要な課題となる。
2. Description of the Related Art One of the programming languages characterized by cross-platform is Java.
Java is a virtual machine interpreter, and is characterized by supporting multithreading at a language level. The thread function is incorporated in the Java language itself, and the Java virtual machine also uses the thread function. Although Java is a cross-platform language, there are elements that depend on the operation system for implementing a Java virtual machine.
The handling of the thread function also depends on the Java virtual machine and the operation system. Therefore, in order to port and implement a Java virtual machine implemented in one operation system to another operation system, an implementation method of a thread function is an important issue.

【0003】ここで、スレッド機能をAPI(アプリケ
ーション・プログラム・インターフェース)レベルでサ
ポートするUNIX(ユニックス)でアプリケーション
として実装されていたJava仮想マシンを、スレッド
機能がAPIレベルで実装されていないオペレーション
システムに移植する場合を考える。このような場合、例
えばオペレーションシステムの最小実行単位であるプロ
セスにスレッド機能をマッピングさせる方法が考えられ
る。
Here, a Java virtual machine implemented as an application in UNIX (Unix) which supports a thread function at an API (Application Program Interface) level is changed to an operation system in which a thread function is not implemented at an API level. Consider the case of transplantation. In such a case, for example, a method of mapping a thread function to a process which is a minimum execution unit of the operation system can be considered.

【0004】図3は、スレッド機能が実装されていない
従来のマルチプロセスシステムにおいて、アドレス空間
内で各プロセスに独立に割り当てられた領域と各プロセ
スの共有領域からなる仮想空間システムを示す概念図で
ある。図3において、プロセス1に独立に割り当てられ
たプロセス個別空間100は、初期値を予め有する初期
値有りデータ1−1、初期値を有しない初期値無しデー
タ1−2、スタック1−3、及びプログラムコード等に
対して割り当てられた各領域を有している。また、別の
プロセス2に対して割り当てられたプロセス個別空間2
00は、同様に、初期値有りデータ2−1、初期値無し
データ2−2、スタック2−3、及びプログラムコード
等に対して割り当てられた各領域を有している。そし
て、各プロセス1,2が共有する領域である共有空間3
00には、プロセス1が保持するテキスト領域1−4と
プロセス2が保持するテキスト領域2−4が含まれてお
り、共有空間300内のデータを用いてプロセス間の通
信等が行われる。
FIG. 3 is a conceptual diagram showing a virtual space system in a conventional multi-process system in which a thread function is not mounted, which comprises an area independently allocated to each process in an address space and a shared area for each process. is there. In FIG. 3, the process individual space 100 independently allocated to the process 1 includes initial value data 1-1 having an initial value in advance, initial value no data 1-2 having no initial value, a stack 1-3, and a stack 1-3. It has areas allocated to program codes and the like. Also, the process individual space 2 assigned to another process 2
Similarly, 00 has respective areas allocated to data 2-1 with initial value, data 2-2 without initial value, stack 2-3, program code, and the like. Then, a shared space 3 which is an area shared by the processes 1 and 2
00 includes a text area 1-4 held by the process 1 and a text area 2-4 held by the process 2, and communication between the processes is performed using data in the shared space 300.

【0005】UNIXにおいてアプリケーションとして
実装されていたJava仮想マシンを図3に示すような
仮想空間システム上に移植実装する場合、オペレーショ
ンシステムの実行単位であるプロセスに対してスレッド
機能をマッピングさせる方法が考えられる。ただし、図
3のような仮想空間システムにおいて、プロセスに対し
てスレッド機能をマッピングさせる場合、次のような問
題点があった。
When a Java virtual machine implemented as an application in UNIX is ported and implemented on a virtual space system as shown in FIG. 3, a method of mapping a thread function to a process which is an execution unit of an operation system is considered. Can be However, when a thread function is mapped to a process in the virtual space system as shown in FIG. 3, there are the following problems.

【0006】[0006]

【発明が解決しようとする課題】第1の問題点は、プロ
セスの初期値有りデータ、初期値無しデータはプロセス
間では共有できないということである。
A first problem is that data with initial values and data without initial values of a process cannot be shared between processes.

【0007】第2の問題点は、プロセスのスタックは他
のプロセスからアクセスできないということである。
A second problem is that the process stack cannot be accessed from other processes.

【0008】第3の問題点は、プロセス同士は独立して
いるので、アプリケーションの消滅時に同期が取れない
ことである。
A third problem is that since the processes are independent of each other, they cannot be synchronized when the application is deleted.

【0009】本発明は、上記の各問題点を解決し、スレ
ッド機能が実装されていないマルチプロセスシステムの
仮想空間システムにおいて、プロセスに対してスレッド
機能をマッピングさせることができる仮想空間システム
上におけるスレッド機能のプロセスマッピング方法を提
供することを目的とする。
The present invention solves each of the above problems, and in a virtual space system of a multi-process system in which a thread function is not mounted, a thread on a virtual space system capable of mapping a thread function to a process. It is intended to provide a process mapping method for functions.

【0010】[0010]

【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、スレッド機能が実装されて
いないオペレーションシステムにおいて、各プロセスか
らアクセス可能である共有空間と、プロセス毎にアクセ
ス可能な複数のプロセス個別空間とから構成される仮想
空間システム上で、プロセスの初期値有りデータ、初期
値無しデータ、及びスタックを共有空間に配置し、アプ
リケーション内のスレッドとして割り当てられたプロセ
スを管理するスレッド管理テーブルを作成し、アプリケ
ーションの消滅時にシステムコールによりスレッドとし
て割り当てられたプロセスの強制終了を行うことで、オ
ペレーションシステムの実行単位であるプロセスにスレ
ッドをマッピングすることを特徴としている。
According to an aspect of the present invention, there is provided an operation system in which a thread function is not mounted, a shared space accessible from each process, and an access for each process. On a virtual space system consisting of multiple possible process individual spaces, data with initial value of the process, data without initial value, and stack are allocated in the shared space, and the process allocated as a thread in the application is managed. A thread management table is created, and a process assigned as a thread by a system call is forcibly terminated when an application is terminated, thereby mapping a thread to a process that is an execution unit of an operation system.

【0011】また、請求項2記載の発明は、前記アプリ
ケーションが、仮想マシン・インタプリタによって実装
されるアプリケーションであって、該仮想マシンが、オ
ペレーションシステムの実行単位である1プロセスとし
て構成されることを特徴としている。また、請求項3記
載の発明は、前記スタックを共有空間に配置する際に、
プロセス起動時に、共有空間から動的にスタック領域の
確保することで、各プロセスに割り当てられたプロセス
個別空間にスタック領域から、共有空間に確保したスタ
ック領域への切り替えを行うことを特徴としている。
According to a second aspect of the present invention, the application is an application implemented by a virtual machine interpreter, and the virtual machine is configured as one process which is an execution unit of an operation system. Features. According to a third aspect of the present invention, when arranging the stack in a shared space,
When a process is started, a stack area is dynamically allocated from the shared space, whereby switching from the stack area in the process individual space allocated to each process to the stack area allocated in the shared space is performed.

【0012】[0012]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態について説明する。まず、図3及び図1を参照し
て本発明の実施形態の基本構成について説明し、次に、
図2を参照して具体的構成について説明を行う。
Embodiments of the present invention will be described below with reference to the drawings. First, a basic configuration of an embodiment of the present invention will be described with reference to FIGS.
A specific configuration will be described with reference to FIG.

【0013】図1に示すように、本発明は、図3に示す
システムと同様に、すべてのプロセス単位からアクセス
可能である共有空間領域(共有空間3)とプロセス単位
毎に独立したプロセス個別空間(プロセス個別空間1,
プロセス個別空間2)からなる仮想空間システム上で、
かつスレッド機能が提供されていないオペレーションシ
ステムに適用されるものである。そして、本発明は、実
行単位となるプロセスにスレッド機能をマッピングさせ
ることによりスレッド機能を実現することを特徴とする
ものである。ただし、図1では2個のプロセス個別空間
を生成する例をして示しているが、プロセス数は3以上
であってもよい。
As shown in FIG. 1, according to the present invention, as in the system shown in FIG. 3, a shared space area (shared space 3) accessible from all process units and a process individual space independent for each process unit are provided. (Process individual space 1,
On a virtual space system consisting of process individual spaces 2),
In addition, the present invention is applied to an operation system in which a thread function is not provided. The present invention is characterized in that a thread function is realized by mapping a thread function to a process which is an execution unit. Although FIG. 1 shows an example in which two process individual spaces are generated, the number of processes may be three or more.

【0014】従来のシステムにおいては、図3に示すと
おり、すべてのプロセス単位からアクセス可能である共
有空間領域300とプロセス単位毎に独立したプロセス
個別空間100,200からなる仮想空間システムにお
いて、プロセス1,2はテキスト領域を共有空間(1−
4,2−4)に保持し、初期値有りデータ(1−1,2
−1)と初期値無しデータ(1−2,2−2)とスタッ
ク(1−3,2−3)をプロセス個別空間100,20
0にそれぞれ保持している。一方、UNIXのようなス
レッドを実行単位とするシステムでは、テキスト領域、
初期値有りデータと初期値無しデータは、1プロセス内
に複数存在する全スレッド間で共有され、スタックはス
レッド単位毎に所持されるが、1アプリケーション(プ
ロセス)内に存在する全スレッドから読み出しが可能で
なくてはならない。
In the conventional system, as shown in FIG. 3, in a virtual space system comprising a shared space area 300 accessible from all process units and process individual spaces 100 and 200 independent for each process unit, a process 1 , 2 share the text area with the shared space (1-
4, 2-4) and data with initial values (1-1, 2).
-1), data without initial value (1-2, 2-2) and stack (1-3, 2-3) are stored in process individual spaces 100, 20.
0 is held. On the other hand, in a system such as UNIX which uses a thread as an execution unit, a text area,
The data with the initial value and the data without the initial value are shared by all the threads existing in one process, and the stack is held for each thread unit. However, the data is read out from all the threads existing in one application (process). It must be possible.

【0015】そこで本発明では、スレッド機能を実装し
ていないオペレーションシステムによって管理される仮
想空間システムにおいて、スレッド機能をプロセスで実
現するため、第1に、図1に示すとおり、プロセスの初
期値有りデータ、初期値無しデータ、スタックを共有空
間3内の領域310,320にそれぞれ配置し、全プロ
セスからアクセス可能にする。特にスタックに関して
は、プロセスの起動時にプロセス1,2に割り当てられ
たプロセス個別空間1,2にスタックが実装されるため
(3−1,3−2)、プロセス起動時に共有空間3から
動的にスタック領域の確保(3−1’、3−2’)を行
い、プロセス自身でスタックの切り替えを行う。
Therefore, in the present invention, in a virtual space system managed by an operation system without a thread function, the thread function is realized by a process. First, as shown in FIG. The data, the data without the initial value, and the stack are arranged in the areas 310 and 320 in the shared space 3, respectively, and can be accessed from all processes. In particular, regarding the stack, since the stack is mounted in the process individual spaces 1 and 2 allocated to the processes 1 and 2 when the processes are started (3-1, 3-2), the stack is dynamically moved from the shared space 3 when the processes are started. The stack area is secured (3-1 ', 3-2'), and the process itself switches the stack.

【0016】第2に、同じアプリケーション内に存在す
るスレッド管理を行うために共有空間3内にスレッド管
理テーブルを作成し、アプリケーション消滅時にはプロ
セス内の任意スレッドが上記スレッド管理テーブルを参
照し、プロセス内に存在する全スレッドに対してオペレ
ーションシステムに対するシステムコールによるプロセ
ス間通信によって全スレッドの強制終了を行う。これら
により、図3及び図1に示すようなスレッド機能が実装
されていないオペレーションシステムの仮想空間システ
ムにおいて、スレッド機能をプロセスにマッピングする
ことが可能となる。
Second, a thread management table is created in the shared space 3 in order to manage threads existing in the same application. When the application disappears, an arbitrary thread in the process refers to the thread management table, and Forcibly terminates all threads in the system by inter-process communication using a system call to the operation system. As a result, in the virtual space system of the operation system in which the thread function is not mounted as shown in FIGS. 3 and 1, the thread function can be mapped to the process.

【0017】次に本発明の実施形態の具体的な一構成例
について図2を参照して説明する。図2を参照すると、
本実施形態は、Javaコンパイラによって作成される
Javaアプリケーション部10、その中のスレッド
1,2による実行部分20−1,20−2、Java仮
想マシン30、仮想空間システムをサポートするオペレ
ーションシステム40、オペレーションシステム上の実
行単位プロセス50−1,50−2から構成されてい
る。
Next, a specific configuration example of the embodiment of the present invention will be described with reference to FIG. Referring to FIG.
In the present embodiment, a Java application unit 10 created by a Java compiler, execution parts 20-1 and 20-2 by threads 1 and 2 therein, a Java virtual machine 30, an operation system 40 supporting a virtual space system, an operation It comprises execution unit processes 50-1 and 50-2 on the system.

【0018】Javaアプリケーション部10は、オペ
レーションシステム40上ではファイル形式で参照され
る。Java仮想マシン30は、オペレーションシステ
ム40上の一プロセス(プロセス0)として構成され、
Java仮想マシン30は、Javaアプリケーション
10を読み込み、インタプリタし、実行する。
The Java application unit 10 is referred to on the operation system 40 in a file format. The Java virtual machine 30 is configured as one process (process 0) on the operation system 40,
The Java virtual machine 30 reads, interprets, and executes the Java application 10.

【0019】インタプリタ時にスレッド20−1による
記述が存在すると、新たなプロセス実行単位(プロセス
1)50−1を作成する。それ以降はプロセス1(50
−1)がJavaアプリケーションを読み込み、インタ
プリタ、実行を行う。また、さらに新たなスレッド20
−2による記述が存在すると、別のプロセス実行単位
(プロセス2)50−2を作成して、それ以降はプロセ
ス2(50−2)がJavaアプリケーションを読み込
み、インタプリタ、実行を行う。すなわち、Java仮
想マシン30は、Javaアプリケーションで記述され
たスレッド20−1、20−2を、オペレーティングシ
ステム40上のプロセス50−1,50−2に1対1に
対応させる。
If a description by the thread 20-1 exists at the time of interpreting, a new process execution unit (process 1) 50-1 is created. Thereafter, process 1 (50
-1) reads the Java application, and interprets and executes it. Also, a new thread 20
If the description by -2 exists, another process execution unit (process 2) 50-2 is created, and thereafter, the process 2 (50-2) reads the Java application, and executes the interpreter and the execution. That is, the Java virtual machine 30 associates the threads 20-1 and 20-2 described in the Java application with the processes 50-1 and 50-2 on the operating system 40 on a one-to-one basis.

【0020】次に、図3、図1及び図2を参照して、本
発明の実施形態におけるスレッド機能のプロセスマッピ
ング方法の各手順の詳細をまとめて説明する。図3に示
した従来のシステムにおいては、プロセス全体からアク
セス可能な共有空間300と、プロセス単位毎に独立し
たプロセス個別空間100,200からなる仮想空間シ
ステム上で、プロセスのテキスト領域は共有空間1−
4、2−4に割り当てられ、その他の初期値有りデー
タ、初期値無しデータ、スタックはプロセス個別空間毎
に領域1−1,1−2,1−3及び、領域2−1,2−
2,2−3のように割り当てられる。
Next, with reference to FIG. 3, FIG. 1, and FIG. 2, details of each procedure of the process mapping method of the thread function according to the embodiment of the present invention will be described. In the conventional system shown in FIG. 3, on a virtual space system including a shared space 300 accessible from the whole process and process individual spaces 100 and 200 independent for each process unit, the text area of the process is the shared space 1. −
4, 2-4, and other data with an initial value, data without an initial value, and a stack are stored in the areas 1-1, 1-2, 1-3 and the areas 2-1 and 2-1-2 for each process individual space.
2, 2-3.

【0021】これに対して、本発明においては、Jav
aアプリケーションのスレッドをプロセスにマッピング
するため、割り当てられたプロセスのテキストの共有だ
けではなく、初期値有りデータ、初期値無しデータも共
有されなければならない。これを実現するためにプロセ
スのテキストだけでなく、初期値有りデータ、初期値無
しデータは共有空間に実装される(図1の領域310,
領域320)。さらに、スタックはスレッド単位に所持
されるが、参照は他のスレッドからも可能でなければな
らない。これは、各プロセスのスタック領域を、プロセ
スの起動時にオペレーションシステムによってプロセス
個別空間に割り当てられたスタック領域から、プロセス
が独自に確保した共有空間上のスタック用領域へとプロ
セス自身が切り替えることで実現される(図1のスタッ
ク3−1’,3−2’)。
On the other hand, in the present invention, Java
a. In order to map the thread of the application to the process, not only the text of the assigned process but also the data with initial value and the data without initial value must be shared. In order to realize this, not only the text of the process but also the data with initial values and the data without initial values are implemented in the shared space (the areas 310 and 310 in FIG. 1).
Region 320). In addition, the stack is owned by each thread, but reference must be possible from other threads. This is achieved by switching the stack area of each process from the stack area allocated to the individual process space by the operating system at the time of process startup to the stack area on the shared space that the process has independently secured. (Stacks 3-1 'and 3-2' in FIG. 1).

【0022】それから、同一プロセス(Javaアプリ
ケーションにおけるプロセス)内スレッドの管理を行う
ためにスレッド管理テーブルを作成する。スレッドが起
動される毎にスレッドの識別子をテーブルに記憶してお
き、スレッドが消滅する時にはスレッド管理テーブルか
ら識別子を削除する。これによりJavaアプリケーシ
ョンの終了時には、Javaアプリケーション内の在中
スレッドに割り当てられたプロセスをスレッド管理テー
ブルから参照し、システムコールによるプロセス間通信
によりアプリケーション内の全ての在中スレッドを強制
終了させることが可能になる。
Then, a thread management table is created to manage threads in the same process (process in the Java application). Each time a thread is started, the identifier of the thread is stored in a table, and when the thread disappears, the identifier is deleted from the thread management table. Thus, when the Java application terminates, the process assigned to the resident thread in the Java application can be referred to from the thread management table, and all the resident threads in the application can be forcibly terminated by inter-process communication using a system call. become.

【0023】以上説明したように、本発明によれば、ス
レッド機能を使用したアプリケーションを、スレッド機
能が提供されないオペレーションシステムによる図3に
示すような仮想空間システム上に実装することが可能と
なる。これは、上述したような図1に示すシステム構成
によって、図3に示すような仮想空間システムの実行単
位であるプロセスに、スレッド実行単位がマッピングで
きるからである。
As described above, according to the present invention, an application using a thread function can be mounted on a virtual space system as shown in FIG. 3 using an operation system that does not provide a thread function. This is because a thread execution unit can be mapped to a process which is an execution unit of the virtual space system as shown in FIG. 3 by the system configuration shown in FIG. 1 as described above.

【0024】[0024]

【発明の効果】各プロセスからアクセス可能である共有
空間と、プロセス毎にアクセス可能な複数のプロセス個
別空間とから構成される仮想空間システム上で、プロセ
スの初期値有りデータ、初期値無しデータ、及びスタッ
クを共有空間に配置し、アプリケーション内のスレッド
として割り当てられたプロセスを管理するスレッド管理
テーブルを作成し、アプリケーションの消滅時にシステ
ムコールによりスレッドとして割り当てられたプロセス
の強制終了を行うことで、オペレーションシステムの実
行単位であるプロセスにスレッドをマッピングするよう
にしたので、プロセスの初期値有りデータ、初期値無し
データをプロセス間では共有でき、プロセスのスタック
が他のプロセスからアクセスでき、かつ、アプリケーシ
ョンの消滅時にプロセス間の同期が取れるようになるの
である。以上のような発明によって、スレッド機能が実
装されていないマルチプロセスシステムの仮想空間シス
テムにおいて、プロセスに対してスレッド機能をマッピ
ングさせることが可能となる。
According to the present invention, on a virtual space system composed of a shared space accessible from each process and a plurality of process individual spaces accessible for each process, data with initial value of the process, data without initial value, By allocating the stack in the shared space, creating a thread management table for managing the processes allocated as threads in the application, and forcibly terminating the processes allocated as threads by system calls when the application disappears, the operation Since threads are mapped to processes that are the execution units of the system, data with initial values and data without initial values can be shared between processes, the process stack can be accessed from other processes, and the application When extinguished It is become as take synchronization between processes. According to the invention as described above, it is possible to map a thread function to a process in a virtual space system of a multi-process system in which the thread function is not mounted.

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

【図1】 本発明による仮想空間システムを示す概念図
である。
FIG. 1 is a conceptual diagram showing a virtual space system according to the present invention.

【図2】 図1に示す本発明による仮想空間システムに
おけるJava仮想マシンの実装方法の具体例を示す概
念図である。
FIG. 2 is a conceptual diagram showing a specific example of a method of mounting a Java virtual machine in the virtual space system according to the present invention shown in FIG.

【図3】 従来の仮想空間システムを示す概念図であ
る。
FIG. 3 is a conceptual diagram showing a conventional virtual space system.

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

1,2 プロセス個別空間 3 共有空間 3−1,3−1’,3−2,3−2’ スタック 1, 2 individual process space 3 shared space 3-1, 3-1 ', 3-2, 3-2' stack

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 スレッド機能が実装されていないオペレ
ーションシステムにおいて、 各プロセスからアクセス可能である共有空間と、プロセ
ス毎にアクセス可能な複数のプロセス個別空間とから構
成される仮想空間システム上で、 プロセスの初期値有りデータ、初期値無しデータ、及び
スタックを共有空間に配置し、 アプリケーション内のスレッドとして割り当てられたプ
ロセスを管理するスレッド管理テーブルを作成し、 アプリケーションの消滅時にシステムコールによりスレ
ッドとして割り当てられたプロセスの強制終了を行うこ
とで、 オペレーションシステムの実行単位であるプロセスにス
レッドをマッピングすることを特徴とする仮想空間シス
テム上におけるスレッド機能のプロセスマッピング方
法。
1. An operation system in which a thread function is not implemented, wherein a process is executed on a virtual space system including a shared space accessible from each process and a plurality of process individual spaces accessible for each process. Creates a thread management table that manages processes assigned as threads in the application by allocating data with initial values, data without initial values, and the stack in the shared space, and assigning them as threads by system calls when the application disappears. A method for mapping a thread function on a virtual space system, wherein a thread is mapped to a process which is an execution unit of an operation system by forcibly terminating a process.
【請求項2】 前記アプリケーションが、仮想マシン・
インタプリタによって実装されるアプリケーションであ
って、 該仮想マシンが、オペレーションシステムの実行単位で
ある1プロセスとして構成されることを特徴とする請求
項1記載の仮想空間システム上におけるスレッド機能の
プロセスマッピング方法。
2. The method according to claim 1, wherein the application is a virtual machine
The method according to claim 1, wherein the application is implemented by an interpreter, and the virtual machine is configured as one process that is an execution unit of an operation system.
【請求項3】 前記スタックを共有空間に配置する際
に、プロセス起動時に、共有空間から動的にスタック領
域の確保することで、各プロセスに割り当てられたプロ
セス個別空間にスタック領域から、共有空間に確保した
スタック領域への切り替えを行うことを特徴とする請求
項1記載の仮想空間システム上におけるスレッド機能の
プロセスマッピング方法。
3. When arranging the stack in the shared space, the process dynamically secures a stack area from the shared space at the time of starting a process, so that the process individual space allocated to each process is transferred from the stack area to the shared space. 2. The process mapping method according to claim 1, wherein the switching to the stack area secured in the virtual space system is performed.
JP10356662A 1998-12-15 1998-12-15 Process mapping method for thread function on virtual space system Pending JP2000181727A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10356662A JP2000181727A (en) 1998-12-15 1998-12-15 Process mapping method for thread function on virtual space system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10356662A JP2000181727A (en) 1998-12-15 1998-12-15 Process mapping method for thread function on virtual space system

Publications (1)

Publication Number Publication Date
JP2000181727A true JP2000181727A (en) 2000-06-30

Family

ID=18450161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10356662A Pending JP2000181727A (en) 1998-12-15 1998-12-15 Process mapping method for thread function on virtual space system

Country Status (1)

Country Link
JP (1) JP2000181727A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231642B2 (en) 2001-03-19 2007-06-12 Mitsubishi Denki Kasbushiki Kaisha Vehicle-mounted multimedia device
KR100771728B1 (en) * 2000-12-09 2007-10-30 엘지엔시스(주) Method for inter-thread communication in automatic teller machine
KR100772867B1 (en) 2006-02-23 2007-11-02 삼성전자주식회사 Method for offering partially isolated execution environment for applications and digital devices using the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771728B1 (en) * 2000-12-09 2007-10-30 엘지엔시스(주) Method for inter-thread communication in automatic teller machine
US7231642B2 (en) 2001-03-19 2007-06-12 Mitsubishi Denki Kasbushiki Kaisha Vehicle-mounted multimedia device
KR100772867B1 (en) 2006-02-23 2007-11-02 삼성전자주식회사 Method for offering partially isolated execution environment for applications and digital devices using the same
US8776051B2 (en) 2006-02-23 2014-07-08 Samsung Electronics Co., Ltd. Method of providing partially isolated execution environment for multiple applications and digital information apparatus using the same

Similar Documents

Publication Publication Date Title
US5060150A (en) Process creation and termination monitors for use in a distributed message-based operating system
CA2358010C (en) Data processing system and operating system
US6948172B1 (en) Preemptive multi-tasking with cooperative groups of tasks
US4835685A (en) Virtual single machine with message-like hardware interrupts and processor exceptions
KR100488846B1 (en) High performance non-blocking parallel storage manager for parallel software executing on coordinates
KR20010014944A (en) Computer system
US6847975B2 (en) Proxy processing method
KR100488836B1 (en) Parallel software processing system
IL116804A (en) Application user interface redirector
KR20020000487A (en) Method of using a distinct flow of computational control as a reusable abstract data object
US7007004B2 (en) Concurrent operation of a state machine family
JP2000181727A (en) Process mapping method for thread function on virtual space system
JPH11224203A (en) Remote object call method, computer readable storage medium, remote object call processing method and distributed computer network system
JP2543307B2 (en) Data processing system
US6115734A (en) Method of dynamically allocating tasks to events arriving on a set of queues
EP0274413B1 (en) Process traps in a distributed message-based system
Mills Multiprogramming in a small-systems environment
AU2007200660A1 (en) Computer Multi-Tasking via Virtual Threading
Rappaport Implementing multi-process primitives in a multiplexed computer system
JPH0398128A (en) Serial number control system
JPH02270032A (en) Loading system
JP2633382B2 (en) Multi-register file system
JPH06332724A (en) Mounting system and execution muliplicity control system and execution priority control system for logical unit for object directing type system
Nitsche Thread communication over MPI
JPH08314791A (en) Memory assignment processing method for application

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010515

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050725