JPH10171669A - Computer resource access method - Google Patents

Computer resource access method

Info

Publication number
JPH10171669A
JPH10171669A JP8326499A JP32649996A JPH10171669A JP H10171669 A JPH10171669 A JP H10171669A JP 8326499 A JP8326499 A JP 8326499A JP 32649996 A JP32649996 A JP 32649996A JP H10171669 A JPH10171669 A JP H10171669A
Authority
JP
Japan
Prior art keywords
resource
identifier
identification information
access
management data
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
JP8326499A
Other languages
Japanese (ja)
Inventor
Shihoko Taguchi
しほ子 田口
Masaaki Iwasaki
正明 岩嵜
Masahiko Nakahara
雅彦 中原
Hajime Serizawa
一 芹沢
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8326499A priority Critical patent/JPH10171669A/en
Priority to EP97114394A priority patent/EP0834806B1/en
Priority to CA002213371A priority patent/CA2213371C/en
Priority to DE69738646T priority patent/DE69738646T2/en
Priority to US08/917,477 priority patent/US6253225B1/en
Publication of JPH10171669A publication Critical patent/JPH10171669A/en
Priority to US09/838,767 priority patent/US6848102B2/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the time when the overhead caused by the conversion between an identifier and an address and a resource access occurring at the end of a process are inhibited with an access right control function kept as it is by controlling the access right based on only the comparison result of the generation identification information. SOLUTION: The component elements concerning the access right control include an identifier 600, a resource generation frequency counter 603, the generation identification information 605 and the resources 608. Then head 32 bits of the identifier 600 which are received as the arguments of the system calls issued by a user application are extracted and used as a resource address 601, and latter 32 bits of the identifier 600 are extracted as the generation identification information 602. Then 32 bits are read out of the head of resources based on the address 601 and used as the generation identification information 609 (read mem). The information 601 and 609 are compared with each other. If no coincidence is confirmed between both information, no access is given to the resources and an error is returned. If the coincidence is confirmed between both information, the resources are accessed.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、オペレーティング
・システムにおける、計算機資源のアクセス方法に関す
る。
The present invention relates to a method for accessing computer resources in an operating system.

【0002】[0002]

【従来の技術】多重プロセス機能を提供するオペレーテ
ィング・システムは、あるプロセスに割り当てた資源を
他のプロセスによる不当アクセスから保護する機能(ア
クセス権制御機能)を持っている。ここで述べるアクセ
ス権制御とは、ファイルに対するアクセス権制御と同様
に、各プロセス毎にアクセス権限の設定が可能で、複数
のプロセスからの同時アクセスがあることを前提とした
制御である。システムコールとは、ユーザ・アプリケー
ションからオペレーティング・システムの機能を呼び出
すためのインターフェースであるが、例えばこのシステ
ムコールの引数にポインタを使用すると、アプリケーシ
ョンが不当なアドレスを指定し、オペレーティング・シ
ステム内の重要なデータが破壊される危険性が生じる。
これを避けるため、引数としてポインタの代りに識別子
を用いるのは、アクセス権制御の一例である。
2. Description of the Related Art An operating system which provides a multi-process function has a function of protecting resources allocated to a certain process from unauthorized access by another process (access right control function). The access right control described here is a control on the assumption that access rights can be set for each process and that there is simultaneous access from a plurality of processes, similarly to the access right control for a file. A system call is an interface for calling a function of the operating system from a user application. For example, if a pointer is used as an argument of this system call, an application specifies an invalid address and an important address in the operating system can be specified. There is a risk that important data may be destroyed.
To avoid this, using an identifier instead of a pointer as an argument is an example of access right control.

【0003】ユーザ・アプリケーションが発行するシス
テムコールの引数に識別子を用いるアクセス権制御方法
では、資源にアクセスする際、オペレーティング・シス
テム内部で識別子を資源のアドレスへ変換する必要があ
る。最も単純な変換方法は、ハッシュ関数を用いる方法
である。
In the access right control method using an identifier as an argument of a system call issued by a user application, when accessing a resource, it is necessary to convert the identifier into an address of the resource inside the operating system. The simplest conversion method is a method using a hash function.

【0004】ハッシュ関数を用いる方法とは、識別子を
キーとしてハッシュ関数に代入し、得られたハッシュ値
をアドレスとして使う方法である。
The method using a hash function is a method in which an identifier is assigned to a hash function as a key, and the obtained hash value is used as an address.

【0005】以下にハッシュ関数を用いたアクセス権制
御方法 を示す。
[0005] An access right control method using a hash function will be described below.

【0006】§1.構成 図1に示すように、オペレーティング・システムは、識
別子RIDをキーとしてハッシュ関数F101に代入し、ハ
ッシュ値として、資源管理データテーブル104内のIn
dex102を得る。資源管理データ105は、識別子
と、資源103のポインタ、2番目の資源管理データ1
06の有無を示すフラグ、資源管理データ106へのポ
インタ、プロセス管理データ107のポインタで構成
し、これにより、資源のアドレスを得る。
§1. Configuration As shown in FIG. 1, the operating system assigns the identifier RID to the hash function F101 as a key, and assigns the hash value to the In function in the resource management data table 104 as the hash value.
Obtain dex102. The resource management data 105 includes an identifier, a pointer to the resource 103, and the second resource management data 1
06, a pointer to the resource management data 106, and a pointer to the process management data 107, thereby obtaining the resource address.

【0007】ハッシュ関数は異なった識別子RIDに対し
て同じIndexを返す場合があり、Indexの衝突が起きる。
その場合、2番目以降の資源管理データ106をオーバ
フロー領域に格納し、資源管理データ106のアドレス
を一つ前の資源管理データ105の中に格納する。
[0007] The hash function may return the same Index for different identifiers RID, causing a collision of Index.
In this case, the second and subsequent resource management data 106 are stored in the overflow area, and the address of the resource management data 106 is stored in the immediately preceding resource management data 105.

【0008】資源が共有資源の場合には、同じ識別子RI
Dに対して、アクセス権を持つプロセスが複数存在す
る。その場合、2番目以降のプロセス識別子データ10
8のポインタを一つ前のプロセス識別子データ107に
格納する。図2に、資源管理データ200と、プロセス
管理データ206を示す。ユーザ・アプリケーション終
了時には、プロセスが使用していた資源を解放するため
に、アクセス権を有する資源の識別子を知る必要があ
る。そこでオペレーティング・システムはプロセスに対
して、プロセス固有の識別子リスト109を持ち、資源
作成時、及び、共有資源のアクセス権を得た際に、識別
子リスト09に識別子110を登録する。
If the resource is a shared resource, the same identifier RI
There are multiple processes that have access to D. In that case, the second and subsequent process identifier data 10
8 is stored in the previous process identifier data 107. FIG. 2 shows resource management data 200 and process management data 206. At the end of the user application, it is necessary to know the identifier of the resource to which the process has access in order to release the resources used by the process. Therefore, the operating system has a process-specific identifier list 109 for the process, and registers the identifier 110 in the identifier list 09 at the time of resource creation and when the access right to the shared resource is obtained.

【0009】§2.資源生成処理 図3に資源生成処理のフローチャートを示す。§2. Resource Generation Processing FIG. 3 shows a flowchart of the resource generation processing.

【0010】ユーザ・アプリケーションからオペレーテ
ィング・システムに、資源割り当て要求のシステムコー
ルが発行された場合、オペレーティング・システムは、
資源の割り当てを行い(ステップ300)、システム内
で一意の識別子RIDxを取得し(ステップ301)、ハッ
シュ関数に識別子RIDxをキーとして入力し、「資源管理
データx」を格納するアドレスである、資源管理データ
テーブル内のIndexを得る(ステップ302)。Indexで
指定された領域の先頭に既に「資源管理データy」が入
っている、すなわち、Indexの衝突が起って(ステップ
303)、「次の識別子管理データ有無のフラグ」が、
次の「識別子管理データ」があることを示すONになって
いる間(ステップ304)、繰り返しポインタをたどる
(ステップ305)。ポインタをたどり、「次の識別子
管理データ有無のフラグ」がOFFになっている「資源管
理データz」が見つかれば、「次の識別子管理データ有
無のフラグ」をONにして(ステップ306)、新しい
「資源管理データx」のための領域をオーバーフロー領
域に割り当て(ステップ307)、「資源管理データ
y」内の「次の資源管理データのポインタ」に「資源管
理データx」のアドレスを格納する(ステップ30
8)。
When a system call for a resource allocation request is issued from the user application to the operating system, the operating system:
A resource is allocated (step 300), a unique identifier RIDx is acquired in the system (step 301), and the identifier RIDx is input to the hash function as a key, and the resource is an address for storing “resource management data x”. An index in the management data table is obtained (step 302). “Resource management data y” already exists at the beginning of the area specified by Index, that is, when a collision of Index occurs (step 303), “Flag of presence / absence of next identifier management data” becomes
The pointer is repeatedly traced (step 305) while it is ON indicating that the next “identifier management data” is present (step 304). By following the pointer and finding the "resource management data z" in which the "next identifier management data presence / absence flag" is OFF, the "next identifier management data presence / absence flag" is turned ON (step 306) and a new An area for "resource management data x" is allocated to the overflow area (step 307), and the address of "resource management data x" is stored in "pointer of next resource management data" in "resource management data y" (step 307). Step 30
8).

【0011】(ステップ303)で次の「識別子管理デ
ータ」が格納されていなければ、主領域に「資源管理デ
ータx」の領域を割り当てる(ステップ309)。
If the next "identifier management data" is not stored in (step 303), an area of "resource management data x" is allocated to the main area (step 309).

【0012】「プロセス管理データ」をプロセス管理領
域に割り当て、プロセス識別子を格納する(ステップ3
10)。同時に、プロセス固有の識別子リストに識別子
RIDxを登録する(ステップ311)。割り当てた「資源
管理データx」内の、識別子RIDx、「プロセス管理デー
タのポインタ」、「資源のポインタ」にそれぞれの値を
格納して、「次の資源管理データ有無のフラグ」をOFF
にして(ステップ312)、ユーザ・アプリケーション
に、識別子RIDxを返す(ステップ313)。§3.資源
アクセス処理 ユーザ・アプリケーションからオペレーティング・シス
テムに、資源アクセス要求のシステムコールが発行され
た場合、オペレーティング・システムが行う処理を図4
に示す。
"Process management data" is allocated to the process management area, and the process identifier is stored (step 3).
10). At the same time, the identifier is added to the process-specific identifier list.
Register RIDx (step 311). Store the respective values in the identifier RIDx, the "process management data pointer", and the "resource pointer" in the allocated "resource management data x", and turn off the "next resource management data presence / absence flag".
(Step 312), and returns the identifier RIDx to the user application (step 313). §3. Resource Access Processing When the user application issues a resource access request system call to the operating system, the processing performed by the operating system is shown in FIG.
Shown in

【0013】オペレーティング・システムはシステムコ
ールの引数である識別子RIDxをハッシュ関数に代入し
て、「資源管理データ」のIndexを得る(ステップ40
0)。Indexの位置にある「資源管理データ」内の識別
子RIDと引数RIDxを比較して(ステップ401)値が異
なり、「資源管理データ」内の「次の資源管理データ有
無のフラグ」がON、すなわち、次の「資源管理データ」
があれば(ステップ402)、「次の資源管理データの
ポインタ」をたどり(ステップ403)、再び識別子の
比較を行う(ステップ401)。ポインタでたどれる全
ての「資源管理データ」内の識別子RIDと引数RIDxとが
一致しない場合、要求した資源が存在しないものとみな
し、ユーザ・アプリケーションにエラーを返す(ステッ
プ404)。ステップ401において、「資源管理デー
タ」内の識別子RIDと引数RIDxが一致した場合、資源ア
クセスを行っているプロセスのプロセス識別子PIDxと
「プロセス管理データ」内のプロセス識別子PIDを比較
する(ステップ405)。ステップ405において値が
異なる場合、「プロセス管理データ」内の「次のプロセ
ス管理データ有無のフラグ」がON、すなわち、次の「プ
ロセス管理データ」があれば(ステップ406)、「次
のプロセス管理データのポインタ」をたどり(ステップ
407)、再びプロセス識別子の比較を行う(ステップ
405)。ポインタでたどれる全ての「プロセス管理デ
ータ」内のプロセス識別子PIDと引数PIDxとが一致しな
い場合、資源へのアクセス権がないものとみなし、ユー
ザ・アプリケーションにエラーを返す(ステップ40
8)。
The operating system substitutes the identifier RIDx, which is an argument of the system call, for the hash function to obtain the index of "resource management data" (step 40).
0). The identifier RID in the “resource management data” at the position of the index is compared with the argument RIDx (step 401), and the values are different, and the “next resource management data presence / absence flag” in the “resource management data” is ON. , Next "resource management data"
If there is (step 402), the "pointer of the next resource management data" is traced (step 403), and the identifiers are compared again (step 401). If the identifier RID and the argument RIDx in all the "resource management data" traced by the pointer do not match, it is regarded that the requested resource does not exist and an error is returned to the user application (step 404). If the identifier RID in the "resource management data" matches the argument RIDx in step 401, the process identifier PIDx of the process performing the resource access is compared with the process identifier PID in the "process management data" (step 405). . If the values are different in step 405, the "next process management data presence / absence flag" in the "process management data" is ON, that is, if there is the next "process management data" (step 406), the "next process management data" Following the "data pointer" (step 407), the process identifier is compared again (step 405). If the process identifier PID and the argument PIDx in all the “process management data” that can be traced by the pointer do not match, it is assumed that there is no access right to the resource, and an error is returned to the user application (step 40).
8).

【0014】ステップ405において、プロセス識別子
が一致した場合、「資源管理データ」内の「資源のポイ
ンタ」に格納している資源のアドレスを用いて、資源へ
のアクセスを行う(ステップ409)。
In step 405, if the process identifiers match, the resource is accessed using the resource address stored in the "resource pointer" in the "resource management data" (step 409).

【0015】§4.資源解放処理 ユーザ・アプリケーションからオペレーティング・シス
テムに、資源解放要求のシステムコールが発行された場
合、その資源に対して、もしくは、プロセスの異常終了
により、資源の解放が必要となった場合、プロセスの識
別子リストにある全ての識別子に対応する資源に対し
て、図5に示す以下の処理を行う。オペレーティング・
システムは、全ての資源へのアクセスを禁止し(ステッ
プ500)、解放する資源の識別子RIDxをキーとして、
ハッシュ関数に代入し、「資源管理データ」のIndexを
求める(ステップ501)。Indexが示す領域の「資源
管理データ」内の識別子RIDと識別子RIDxを比較して
(ステップ502)値が異なり、「次の資源管理データ
有無のフラグ」がON、すなわち、次の「資源管理デー
タ」があれば(ステップ503)、「次の資源管理デー
タのポインタ」をたどり(ステップ504)、再び識別
子の比較を行う(ステップ502)。ポインタでたどれ
る全ての「資源管理データ」内の識別子RIDと識別子RID
xとが一致しない場合、要求した資源が存在しないもの
とみなし、ユーザ・アプリケーションにエラーを返す
(ステップ505)。
§4. Resource release processing When a user application issues a resource release request system call to the operating system, or when the release of a resource is required due to an abnormal termination of the process, The following processing shown in FIG. 5 is performed on resources corresponding to all identifiers in the identifier list. operating·
The system prohibits access to all resources (step 500), and uses the identifier RIDx of the released resource as a key.
The index of the “resource management data” is obtained by substituting into the hash function (step 501). The identifier RID and the identifier RIDx in the “resource management data” in the area indicated by the Index are compared (step 502), and the values are different, and the “next resource management data presence / absence flag” is ON, ie, the next “resource management data” Is found (step 503), the "pointer of the next resource management data" is traced (step 504), and the identifiers are compared again (step 502). Identifier RID and identifier RID in all "resource management data" traceable by pointer
If x does not match, it is assumed that the requested resource does not exist and an error is returned to the user application (step 505).

【0016】ステップ502において、識別子が一致し
た場合、「プロセス管理データのポインタ」に格納して
いる「プロセス管理データ」のアドレスを取得し(ステ
ップ506)、次の「資源管理データ」があるなら、
「資源管理データのポインタ」の繋がりを変更してから
(ステップ508)、識別子RIDxの「資源管理データ」
の解放を行う(ステップ509)。 次に、ステップ5
06で取得したポインタをたどり、「プロセス管理デー
タ」内の「次のプロセス管理データ有無のフラグ」がON
であれば(ステップ510)、「次のプロセス管理デー
タのポインタ」を取得し(ステップ511)、「プロセ
ス管理データ」の解放、及び、識別子RIDが使えなくな
ったことの通知をユーザ・アプリケーションに対して、
即ち各プロセスに対して行う(ステップ512)。ステ
ップ510において、「次のプロセス管理データ有無の
フラグ」がOFFであれば、最後の「プロセス管理デー
タ」を解放し、識別子RIDが使えなくなったことの通知
をユーザ・アプリケーションに対して行い(ステップ5
13)、全ての資源へのアクセスを再開する。
If the identifiers match in step 502, the address of the "process management data" stored in the "pointer of the process management data" is obtained (step 506), and if there is the next "resource management data", ,
After the connection of the "resource management data pointer" is changed (step 508), the "resource management data" of the identifier RIDx is changed.
Is released (step 509). Next, step 5
Follow the pointer acquired in step 06, and turn on the flag for the presence or absence of the next process management data in the process management data.
If it is (step 510), a "pointer of the next process management data" is obtained (step 511), and a notification that the "process management data" is released and that the identifier RID is no longer usable is sent to the user application. hand,
That is, the process is performed for each process (step 512). In step 510, if the "next process management data presence / absence flag" is OFF, the last "process management data" is released, and a notification that the identifier RID cannot be used is sent to the user application (step 510). 5
13) Restart access to all resources.

【0017】この方法において、資源アクセス時では、
不当な識別子RIDzをキーとしてハッシュ関数に代入し
て、資源管理データテーブル内のIndexを得たとして
も、キーである不当な識別子RIDzはIndexからたどれる
「資源管理データ」内には格納していないので、資源の
アドレスは得られず、アクセスが行えない。不当な識別
子RIDzがIndexでたどれる「資源管理データ」内にたま
たま格納されていたとしても、アクセスを行っているプ
ロセスのプロセス識別子は「プロセス管理データ」内に
格納していないので、やはり資源のアドレスは得られ
ず、不当アクセスを禁止できる。
In this method, at the time of resource access,
Even if an invalid identifier RIDz is substituted into the hash function as a key and an Index in the resource management data table is obtained, the invalid identifier RIDz as a key is not stored in the `` resource management data '' traceable from the Index. Therefore, the address of the resource cannot be obtained and the access cannot be performed. Even if the invalid identifier RIDz is stored in the "resource management data" that can be traced by Index, the process identifier of the accessing process is not stored in the "process management data". Cannot be obtained, and unauthorized access can be prohibited.

【0018】また、資源解放時では、資源へのユーザ・
アプリケーションのアクセスを全て禁止することで、資
源解放処理中の資源保護を行い、識別子の無効化、Inde
xからたどれる「資源管理データ」、「プロセス管理デ
ータ」の解放、及び、プロセスへ資源解放の通知を行う
ことで、資源解放後の不当アクセス禁止を実現する。
At the time of resource release, the user
By prohibiting all application access, protect resources during resource release processing, invalidate identifiers,
By releasing "resource management data" and "process management data" traceable from x and notifying the process of resource release, illegal access prohibition after resource release is realized.

【0019】[0019]

【発明が解決しようとする課題】識別子をキーとしてハ
ッシュ関数に代入し、資源のアドレスを格納する資源管
理データのIndexを求めて、資源へアクセスを行う上記
の方法では、アクセス権制御は可能であるが、マルチメ
ディアデータ処理の様に、リアルタイム処理を行い、一
定周期毎にCPU時間を割り当てたり、大容量データの
高速処理を必要とする処理においては、次のような欠点
がある。
In the above-described method of accessing a resource by substituting an identifier into a hash function as a key and obtaining an index of resource management data storing an address of the resource, access right control is possible. However, there are the following drawbacks in processing that performs real-time processing, allocates CPU time at regular intervals, or requires high-speed processing of large amounts of data, such as multimedia data processing.

【0020】(1) 一つのデータに同時に複数のプロ
セスがアクセスを行った場合、ハッシュ関数を用いるア
クセス方法ではハッシュ値の衝突が起こり、オーバーフ
ロー領域を、求める資源の識別子が見つかるまでポイン
タをたどる必要がある。
(1) When a plurality of processes simultaneously access one data, a hash value collision occurs in the access method using the hash function, and it is necessary to follow the pointer in the overflow area until the identifier of the desired resource is found. There is.

【0021】また、識別子が見つかったら、アクセスを
試みているプロセスがアクセス権を持っているか調べる
ために、プロセス管理データをプロセス識別子がみつか
るまでポインタをたどる必要がある。このため、処理オ
ーバヘッドが大きくメモリアクセス時間がかかり過ぎて
データの再生に間に合わない場合がある。
When the identifier is found, it is necessary to follow the pointer in the process management data until the process identifier is found in order to check whether the process trying to access has the access right. For this reason, there are cases where the processing overhead is large and the memory access time is too long, so that the data cannot be reproduced.

【0022】(2) ユーザ・アプリケーションが資源
の解放を行う場合、オペレーティング・システムは、資
源を使用しているプロセスのプロセス識別子を得るため
には、全てのプロセス管理データのポインタをたどらな
ければならない。そして、見つかった全てのプロセス管
理データを解放し、資源が使えないことを各プロセスに
通知する必要がある。この検索と、次に続く処理を行う
間、ユーザ・アプリケーションからの全ての資源へのア
クセスを禁止するため、リアルタイム処理を必要とする
複数のプロセスがあるときに資解放処理が発生した場
合、解放処理を行う資源を共有していたプロセスの検索
と、次に続く解放処理のオーバヘッド時間が、リアルタ
イム処理を必要とするプロセスの、CPU割り当て時間
に影響してリアルタイム処理が実現できない。
(2) When a user application releases a resource, the operating system must follow all process management data pointers in order to obtain the process identifier of the process using the resource. . Then, it is necessary to release all the found process management data and notify each process that the resources cannot be used. During this search and the following processing, access to all resources from the user application is prohibited. Real-time processing cannot be realized because the overhead time of the search for the process sharing the processing resource and the subsequent release processing affects the CPU allocation time of the process requiring the real-time processing.

【0023】本発明の目的は、従来方法の持つアクセス
権制御機能を有したまま、識別子とアドレスの変換にか
かるオーバヘッドと、プロセスの終了処理時に発生する
資源アクセスの禁止状態時間を低減するアクセス方法を
提案することにある。
An object of the present invention is to provide an access method for reducing the overhead associated with the conversion of an identifier and an address and the resource access prohibition state time generated at the time of process termination processing while maintaining the access right control function of the conventional method. It is to propose.

【0024】[0024]

【課題を解決するための手段】上記の課題を解決するた
めに、資源生成時に、資源のアドレス情報と世代識別情
報とから構成される識別子を当該資源に付与し、同時
に、当該資源の先頭に前記の世代識別情報を格納し、資
源アクセス時に、ユーザアプリケーションが発行するシ
ステムコールの引数として渡された識別子から世代識別
情報を取り出し、これと資源の先頭に格納されている世
代識別情報とを比較し、両方の世代識別情報が一致した
場合には資源へのアクセスを許可し、両方の世代識別情
報が不一致の場合にはアクセスを禁止する、世代識別情
報の比較のみでアクセス権を制御する。
In order to solve the above-mentioned problems, at the time of resource generation, an identifier composed of resource address information and generation identification information is assigned to the resource. The above-mentioned generation identification information is stored, and at the time of resource access, the generation identification information is extracted from the identifier passed as an argument of the system call issued by the user application, and this is compared with the generation identification information stored at the head of the resource. Then, when both generation identification information match, access to the resource is permitted, and when both generation identification information do not match, access is prohibited. The access right is controlled only by comparing the generation identification information.

【0025】[0025]

【発明の実施の形態】以下、§1.から§2.に図6〜
図12を用いて本発明の第1の実施例を、§3.に第
2、第3の実施例を説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, §1. To §2. Figure 6 ~
The first embodiment of the present invention will be described with reference to FIG. Next, the second and third embodiments will be described.

【0026】§1.構成 図1を用いてアクセス権制御に関わる主な構成要素を説
明する。図6は識別子600、資源生成回数カウンタ6
03、世代識別情報605、資源608について示す。
§1. Configuration Main components relating to access right control will be described with reference to FIG. FIG. 6 shows an identifier 600 and a resource generation counter 6.
03, generation identification information 605, and resources 608.

【0027】識別子600は、資源へのアクセスに使用
するための、ユーザアプリケーションが発行するシステ
ムコールの64bitの引数である。先頭32bitは
資源608の先頭アドレス601で、後半32bitは
605の世代識別情報602で構成する。識別子600
は資源生成時に作成し、資源を解放するまで資源へのア
クセスに使用する。
The identifier 600 is a 64-bit argument of a system call issued by a user application for use in accessing resources. The first 32 bits are the first address 601 of the resource 608, and the second 32 bits are the generation identification information 602 of 605. Identifier 600
Are created when a resource is created, and are used to access the resource until the resource is released.

【0028】資源生成回数カウンタ603は、プロセス
生成時にプロセス毎に1つ作成し、資源生成回数を記録
するためのカウンタである。資源生成回数カウンタのカ
ウンタ値604は初期値に0を入力し、資源生成毎に1
増加する。
The resource generation number counter 603 is a counter for creating one for each process at the time of process generation and recording the resource generation number. As the counter value 604 of the resource generation counter, 0 is input as an initial value, and 1
To increase.

【0029】世代識別情報605は先頭16bitを資
源生成回数カウンタのカウンタ値606で、後半16b
itをプロセス識別子607で構成する。
In the generation identification information 605, the top 16 bits are the counter value 606 of the resource generation counter, and the latter 16 bits
It is composed of a process identifier 607.

【0030】以下、資源の先頭に世代識別情報609を
格納した資源を資源608とする。
Hereinafter, a resource in which the generation identification information 609 is stored at the head of the resource is referred to as a resource 608.

【0031】§2.ユーザ・アプリケーションの資源ア
クセス処理概要 図7に本方法の資源アクセス処理のプログラムの流れの
フローチャートを示す。
§2. Outline of User Application Resource Access Processing FIG. 7 shows a flowchart of a program flow of the resource access processing of the present method.

【0032】(1)ユーザアプリケーションが、プロセ
スの生成処理のシステムコールをオペレーティング・シ
ステムに発行し、オペレーティング・システムが、生成
したプロセスに対して、資源生成回数カウンタ603を
作成する(ステップ700)。
(1) The user application issues a system call for process creation processing to the operating system, and the operating system creates a resource creation counter 603 for the created process (step 700).

【0033】(2)ユーザアプリケーションが、資源生
成処理のシステムコールをオペレーティング・システム
に発行する(ステップ701)。
(2) The user application issues a system call for resource generation processing to the operating system (step 701).

【0034】(3)ユーザアプリケーションが、(2)
で割り当てた資源へのアクセス処理のシステムコールを
オペレーティング・システムに発行する(ステップ70
2)。
(3) If the user application is (2)
Issues a system call for access processing to the resources allocated in step (70) to the operating system.
2).

【0035】(4) ユーザアプリケーションが、
(2)で割り当てた資源の解放処理のシステムコールを
オペレーティング・システムに発行する(ステップ70
3)。
(4) The user application
A system call for releasing resources allocated in (2) is issued to the operating system (step 70).
3).

【0036】以下にそれぞれのシステムコールの処理を
詳細に示す。
The processing of each system call will be described in detail below.

【0037】§2.1.資源生成処理 資源生成処理(ステップ701)のフローチャートを図
8に示す。資源生成回数カウンタを1つカウント・アッ
プ(ステップ800)し、世代識別情報作成(make
−idinf)(ステップ801)、資源領域の確保
(alloc_mem)(ステップ802)、識別子作
成(make−id)(ステップ803)を行い、返さ
れた資源領域の先頭32bitに世代識別情報を格納
(ステップ804)する。
§2.1. Resource Generation Processing FIG. 8 shows a flowchart of the resource generation processing (step 701). The resource generation counter is incremented by one (step 800), and generation identification information is created (make)
-Idinf) (step 801), resource area allocation (alloc_mem) (step 802), identifier creation (make-id) (step 803), and generation identification information stored in the first 32 bits of the returned resource area (step 801) 804).

【0038】§2.1.1.資源領域の確保(make
−idinf)処理 make_idinf処理(ステップ801)のフロー
チャートを図9に示す。世代識別情報は資源生成回数カ
ウンタ値と資源生成を行うプロセスのプロセスIDの対
により作成する。プロセスIDを取得し(ステップ90
0)、先頭16bitに資源生成回数カウンタ値を、後
半16bitに発生した乱数値を入れた32bitの世
代識別情報を作成する(ステップ901)。作成した世
代識別情報を返す(ステップ902)。
§2.1.1. Resource area reservation (make
-Idinf) Process FIG. 9 shows a flowchart of the make_idinf process (step 801). The generation identification information is created based on a pair of a resource generation counter value and a process ID of a process that performs resource generation. Acquire the process ID (step 90
0), 32-bit generation identification information including the resource generation count counter value in the first 16 bits and the random number generated in the second 16 bits is created (step 901). The created generation identification information is returned (step 902).

【0039】§2.1.2.資源領域の確保(allo
c_mem)処理 alloc_mem処理(ステップ802)のフローチ
ャートを図10に示す。資源領域は世代識別情報領域と
資源領域とからなるため、世代識別情報データサイズ3
2bitを加えた資源領域サイズを求める(ステップ1
000)。求めたサイズで領域を確保し(ステップ10
01)、領域の先頭アドレスを返す(ステップ100
2)。
§2.1.2. Allocate resource area (all
c_mem) Process FIG. 10 shows a flowchart of the alloc_mem process (step 802). Since the resource area is composed of the generation identification information area and the resource area, the generation identification information data size 3
The resource area size obtained by adding 2 bits is obtained (Step 1)
000). Secure an area with the obtained size (step 10
01), and returns the start address of the area (step 100)
2).

【0040】§2.1.3.識別子作成(make_i
d)処理 make_id処理(ステップ803)のフローチャー
トを図11に示す。識別子は資源のアドレスと世代識別
情報の対により作成する。先頭32bitにalloc
_mem処理(ステップ802)で確保した資源のアド
レスを、後半32bitにmake_idinf処理
(ステップ801)で作成した世代識別情報を入れた、
64bitの識別子を作成する(ステップ1100)。
当該資源をアクセスするための引数として、作成した識
別子を返す(ステップ1101)。
§2.1.3. Identifier creation (make_i
d) Process FIG. 11 shows a flowchart of the make_id process (step 803). An identifier is created by a pair of a resource address and generation identification information. Alloc in the first 32 bits
The address of the resource secured in the _mem process (step 802) and the generation identification information created in the make_idinf process (step 801) are entered in the latter 32 bits.
A 64-bit identifier is created (step 1100).
The created identifier is returned as an argument for accessing the resource (step 1101).

【0041】§2.2.資源アクセス処理 資源へのアクセス処理(ステップ702)のフローチャ
ートを図12に示す。ユーザアプリケーションが発行す
るシステムコールの引数として渡された識別子の先頭3
2bitを取り出し、資源アドレスとし、後半32bi
tを取り出して世代識別情報S1とする(ステップ12
00)。次に、資源アドレスを元に、資源先頭から32
bitを読み出してS2とし(read_mem)(ス
テップ1201)、取り出した世代識別情報S1とS2
を比較し(ステップ702)、一致しなければ資源への
アクセスを行わず、エラーを返す(ステップ120
3)。比較結果が一致すれば資源へのアクセス処理(ス
テップ1204)を行う。
§2.2. Resource Access Process FIG. 12 shows a flowchart of the resource access process (step 702). First 3 of the identifier passed as an argument of the system call issued by the user application
Take out 2 bits and use it as resource address
t is taken out as generation identification information S1 (step 12
00). Next, based on the resource address, 32
The bit is read and set as S2 (read_mem) (step 1201), and the extracted generation identification information S1 and S2
Are compared (step 702), and if they do not match, the resource is not accessed and an error is returned (step 120).
3). If the comparison results match, a resource access process (step 1204) is performed.

【0042】§2.3.資源解放処理 資源の解放処理(ステップ703)は、資源へのアクセ
ス処理(ステップ702)と同様に、ユーザアプリケー
ションが発行するシステムコールの引数として渡された
識別子の先頭32bitを取り出して資源アドレスと
し、後半32bitを取り出して世代識別情報S1とす
る(ステップ700)。次に、資源先頭から32bit
を読み出してS2とし(read_mem)(ステップ
1201)、取り出した世代識別情報S1とS2を比較
し(ステップ1202)、一致しなければ資源の解放を
行わずエラーを返す。比較結果が一致すれば資源の解放
を行う。
§2.3. Resource Release Processing In the resource release processing (step 703), as in the resource access processing (step 702), the first 32 bits of the identifier passed as an argument of the system call issued by the user application are taken out as a resource address. The latter 32 bits are extracted and used as generation identification information S1 (step 700). Next, 32 bits from the top of the resource
Is read and set as S2 (read_mem) (step 1201), and the extracted generation identification information S1 and S2 are compared (step 1202). If they do not match, an error is returned without releasing the resources. If the comparison result matches, the resource is released.

【0043】以上の方法により、次のことが実現でき
る。
With the above method, the following can be realized.

【0044】(1) §2.2.資源アクセス処理に示
すように、ユーザ・アプリケーションからオペレーティ
ング・システムに発行するシステムコールの引数である
識別子の中に資源へのアドレスが含まれているため、識
別子とアドレスの変換用のハッシュ関数の代わりに、識
別子内のアドレスを用いて資源へのアクセスを行うこと
で、ハッシュ関数を使用した場合のオーバヘッドを低減
することができる。
(1) § 2.2. As shown in the resource access processing, since the address to the resource is included in the identifier which is the argument of the system call issued from the user application to the operating system, the hash function for converting the identifier and the address is used instead. In addition, by accessing the resource using the address in the identifier, it is possible to reduce the overhead when the hash function is used.

【0045】(2) プロセスAとプロセスBが資源X
を共有し、プロセスAが資源Xを解放するシステムコー
ルを発行した場合を考えると、従来方式では、オペレー
ティング・システムがハッシュ関数を用いて得たIndex
からポインタをたどり、資源管理データ内の識別子の検
索を行い、資源のアドレスを得て資源を解放する。さら
に、資源Xを共有している他のプロセスを検索して、見
つかった全てのプロセス管理データの解放、及び、資源
Xが無効であることの通知を行う。その間、オペレーテ
ィング・システムは、ユーザ・アプリケーションからの
資源へのアクセスを全て禁止している。本方法では、解
放する資源Xの識別子内アドレスが含まれるため、資源
のアドレスを得るためにポインタをたどることなく資源
のアドレスを得て、解放を行うことができる。また、§
2.3.に示す様に、オペレーティング・システムは資
源Xに付与される識別子内の、世代識別情報S1と資源
X先頭に格納している世代識別情報S2との比較結果の
みによりアクセス権制御を行うので、オペレーティング
・システムが行うのは、資源Xの解放のみである。
(2) Process A and process B are resources X
Considering the case where the process A issues a system call that releases the resource X, in the conventional method, the operating system obtains the Index obtained by using the hash function.
And retrieves an identifier in the resource management data, obtains the address of the resource, and releases the resource. Further, another process sharing the resource X is searched to release all found process management data and to notify that the resource X is invalid. During that time, the operating system has barred all access to resources from user applications. In this method, since the address in the identifier of the resource X to be released is included, the resource address can be obtained and released without following the pointer to obtain the resource address. Also,§
2.3. As shown in (1), the operating system performs access right control only by comparing the generation identification information S1 in the identifier assigned to the resource X with the generation identification information S2 stored at the top of the resource X. The system only releases resource X.

【0046】結果、プロセス終了処理の間の、資源アク
セス禁止状態は、資源Xの解放処理時間だけに低減する
ことができる。
As a result, the resource access prohibition state during the process termination processing can be reduced to only the release processing time of the resource X.

【0047】(3) 上記(2)資源Xを解放した状態
で、プロセスCが資源Yを生成し、資源Xを割り当てて
いたアドレスに資源Yを割り当てた場合、オペレーテイ
ング・システムは資源Xを解放したことの通知をプロセ
スBに対して行わないため、プロセスBの持つ識別子内
のアドレス情報により、プロセスBが資源Yへアクセス
を試みる場合がある。しかし、識別子がアドレス情報の
みでなく世代識別情報を含み、資源Xに付与した識別子
と、資源Yに付与した識別子との世代識別情報が異なる
ため、プロセスBが持つ識別子を用いて資源へのアクセ
スを試みても、資源Yにはアクセスできない。これによ
り従来方式と同様に、不当アクセス禁止を実現できる。
(3) When the process C generates the resource Y and allocates the resource Y to the address to which the resource X has been allocated in the state where the resource X is released, the operating system allocates the resource X. Since the process B is not notified of the release, the process B may try to access the resource Y based on the address information in the identifier of the process B. However, since the identifier includes not only the address information but also the generation identification information, and the generation identification information of the identifier assigned to the resource X is different from that of the identifier assigned to the resource Y, access to the resource using the identifier of the process B is performed. Can not access the resource Y. As a result, as in the conventional method, unauthorized access prohibition can be realized.

【0048】§3. 本発明第2と第3の方法での実施
例 資源生成回数を世代識別情報とする上記本発明第1の方
法以外の実施例を以下に示す §3.1. 本発明の第2の方法の実施例 システム起動時に、起動からの時間を10マイクロ秒単
位で保持する32bitのシステムクロックを作成す
る。
§3. Embodiments of the Second and Third Methods of the Present Invention Embodiments other than the first method of the present invention using the number of resource generations as generation identification information are described below. §3.1. Embodiment of the second method of the present invention At the time of system startup, a 32-bit system clock that holds the time from startup in units of 10 microseconds is created.

【0049】資源生成時に、システムクロックの値を取
り出して世代識別情報とし、資源の先頭に世代識別情報
を格納する。資源のアドレスを上位32bitに、世代
識別情報を下位32bitとする64bitの識別子を
作成する。
At the time of resource generation, the value of the system clock is taken out as generation identification information, and the generation identification information is stored at the head of the resource. A 64-bit identifier is created with the resource address in the upper 32 bits and the generation identification information in the lower 32 bits.

【0050】資源アクセス時に、ユーザ・アプリケーシ
ョンからオペレーティング・システムへのシステムコー
ルの引数として渡された識別子から世代識別情報を取り
出し、資源の先頭に格納されている世代識別情報と比較
し、一致した場合には資源へのアクセスを行う。一致し
ない場合には資源へのアクセスを行わず、エラーを返
す。
At the time of resource access, the generation identification information is extracted from the identifier passed as an argument of the system call from the user application to the operating system, and is compared with the generation identification information stored at the head of the resource. Gives access to resources. If they do not match, the resource is not accessed and an error is returned.

【0051】§3.2. 本発明の第3の方法の実施例 システム起動時に、システム内に唯一の資源生成回数を
記録する32bitのカウンタを作成し、カウンタの初
期値に0を入力して、そのカウンタ値を世代識別情報と
する。
§3.2. Embodiment of the third method of the present invention At the time of system startup, a 32-bit counter for recording only the number of resource generations in the system is created, 0 is input as an initial value of the counter, and the counter value is used as generation identification information. And

【0052】資源生成時に、世代識別情報を1増加し、
資源の先頭に世代識別情報を格納する。資源のアドレス
を上位32bitに、世代識別情報を下位32bitと
する64bitの識別子を作成する。
At the time of resource generation, the generation identification information is incremented by one,
The generation identification information is stored at the head of the resource. A 64-bit identifier is created with the resource address in the upper 32 bits and the generation identification information in the lower 32 bits.

【0053】資源アクセス時に、識別子を用いて上記§
3.1.と同様な資源アクセス時の処理を行う。
At the time of resource access, the above-described §
3.1. The same process is performed at the time of resource access.

【0054】[0054]

【発明の効果】以上説明したように本発明により、アド
レスと識別子の変換、及び、アクセス権の有無を調べる
検索にかかっていたオーバヘッドと、アクセス性能を向
上し、プロセス終了時に発生する、資源へのアクセス禁
止時間とを低減し、資源へのアクセス権を持たないプロ
セスからの資源への不当アクセスによる資源破壊から資
源を保護する効果がある。
As described above, according to the present invention, the overhead involved in the conversion of addresses and identifiers and the search for checking the presence or absence of an access right, the access performance is improved, and the resources generated at the end of the process are reduced. This has the effect of protecting resources from resource destruction due to unauthorized access to resources from a process that does not have access to the resources.

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

【図1】 従来方法のアクセス権制御に関わる主な構成
を示す図。
FIG. 1 is a diagram showing a main configuration related to access right control in a conventional method.

【図2】 資源管理データとプロセス管理データを示す
図。
FIG. 2 is a diagram showing resource management data and process management data.

【図3】 従来方法の資源割り当て処理概要を示すフロ
ーチャート。
FIG. 3 is a flowchart showing an outline of a resource allocation process according to a conventional method.

【図4】 従来方法の資源アクセス処理概要を示すフロ
ーチャート。
FIG. 4 is a flowchart showing an outline of a resource access process according to a conventional method.

【図5】 従来方法の資源解放処理概要を示すフローチ
ャート。
FIG. 5 is a flowchart showing an outline of a resource release process according to a conventional method.

【図6】 アクセス権制御に関わる主な構成要素を示す
図。
FIG. 6 is a diagram showing main components related to access right control.

【図7】 資源アクセス処理概要を示すフローチャー
ト。
FIG. 7 is a flowchart showing an outline of a resource access process.

【図8】 資源割り当て処理を示すフローチャート。FIG. 8 is a flowchart showing a resource allocation process.

【図9】 世代識別情報作成(make_idinf)
処理を示すフローチャート。
FIG. 9: Generation identification information creation (make_idinf)
5 is a flowchart showing processing.

【図10】 資源領域の確保(alloc_mem)処
理を示すフローチャート。
FIG. 10 is a flowchart showing a resource area securing (alloc_mem) process.

【図11】 識別子作成(make_id)処理を示す
フローチャート。
FIG. 11 is a flowchart showing an identifier creation (make_id) process;

【図12】 資源アクセス処理を示すフローチャート。FIG. 12 is a flowchart showing a resource access process.

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

100…資源識別子、101…ハッシュ関数、102…資源管理
データIndex、103…資源、104…資源管理データテーブ
ル、105…資源管理データ、106…2番目の資源管理デー
タ、107…プロセス管理データ、108…2番目のプロセス
管理データ、109…資源リスト、110、111…識別子、200
…資源管理データ、201…識別子、202…次の識別胃有無
のフラグ、203…次の識別子のポインタ、204…プロセス
管理データのポインタ、205…資源のポインタ、206…プ
ロセス管理データ、207…プロセス識別子、208…次のプ
ロセス識別子有無のフラグ、209…次のプロセス識別子
のポインタ、600…識別子、601…資源アドレス、602…
世代識別情報、603…資源生成回数カウンタ、604…カウ
ンタ値、605…世代識別情報、606…カウンタ値、607…
プロセス識別子、608…資源、609…世代識別情報
100 resource identifier, 101 hash function, 102 resource management data Index, 103 resource, 104 resource management data table, 105 resource management data, 106 second resource management data, 107 process management data, 108 ... second process management data, 109 ... resource list, 110, 111 ... identifier, 200
... Resource management data, 201 ... Identifier, 202 ... Next identification stomach presence / absence flag, 203 ... Next identifier pointer, 204 ... Process management data pointer, 205 ... Resource pointer, 206 ... Process management data, 207 ... Process Identifier, 208: next process identifier presence / absence flag, 209: next process identifier pointer, 600 ... identifier, 601 ... resource address, 602 ...
Generation identification information, 603: Resource generation counter, 604: Counter value, 605: Generation identification information, 606: Counter value, 607:
Process identifier, 608 ... resource, 609 ... generation identification information

───────────────────────────────────────────────────── フロントページの続き (72)発明者 芹沢 一 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Kazuto Serizawa 1099 Ozenji Temple, Aso-ku, Kawasaki-shi, Kanagawa Prefecture, Hitachi, Ltd.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】オペレーティング・システムにおいて、 資源生成時に、資源のアドレス情報と世代識別情報とか
ら構成される識別子を当該資源に付与し、同時に、当該
資源の先頭に前記の世代識別情報を格納し、資源アクセ
ス時に、ユーザアプリケーションが発行するシステムコ
ールの引数として渡された識別子から世代識別情報を取
り出し、これと資源の先頭に格納されている世代識別情
報とを比較し、両方の世代識別情報が一致した場合には
資源へのアクセスを許可し、両方の世代識別情報が不一
致の場合にはアクセスを禁止する、世代識別情報の比較
結果のみでアクセス権を制御することを特徴とする資源
アクセス方法。
In an operating system, when a resource is generated, an identifier composed of address information and generation identification information of the resource is assigned to the resource, and at the same time, the generation identification information is stored at the head of the resource. At the time of resource access, the generation identification information is extracted from the identifier passed as an argument of the system call issued by the user application, and this is compared with the generation identification information stored at the head of the resource. A resource access method characterized by permitting access to a resource when they match with each other and prohibiting access when both generation identification information do not match with each other, and controlling the access right only by a comparison result of the generation identification information. .
【請求項2】請求項1記載の資源アクセス方法におい
て、世代識別情報として、資源を生成した時刻の値の一
部を世代識別情報とする資源アクセス方法。
2. A resource access method according to claim 1, wherein a part of the time at which the resource was generated is used as generation identification information as generation identification information.
【請求項3】請求項1記載の資源アクセス方法におい
て、世代識別情報として、システム内に唯一のカウンタ
を設け、資源生成時にこのカウンタ値を1増加し、この
カウンタ値を世代識別情報とする資源アクセス方法。
3. The resource access method according to claim 1, wherein a unique counter is provided in the system as generation identification information, and when the resource is generated, this counter value is incremented by one, and the counter value is used as generation identification information. how to access.
JP8326499A 1996-08-28 1996-12-06 Computer resource access method Pending JPH10171669A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP8326499A JPH10171669A (en) 1996-12-06 1996-12-06 Computer resource access method
EP97114394A EP0834806B1 (en) 1996-08-28 1997-08-20 Process executing method and resource accessing method in computer system
CA002213371A CA2213371C (en) 1996-08-28 1997-08-20 Process executing method and resource accessing method in computer system
DE69738646T DE69738646T2 (en) 1996-08-28 1997-08-20 Method for carrying out a process and resource access method in a computer system
US08/917,477 US6253225B1 (en) 1996-08-28 1997-08-26 Process executing method and resource accessing method in computer system
US09/838,767 US6848102B2 (en) 1996-08-28 2001-04-20 Process executing method and resource accessing method in computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8326499A JPH10171669A (en) 1996-12-06 1996-12-06 Computer resource access method

Publications (1)

Publication Number Publication Date
JPH10171669A true JPH10171669A (en) 1998-06-26

Family

ID=18188518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8326499A Pending JPH10171669A (en) 1996-08-28 1996-12-06 Computer resource access method

Country Status (1)

Country Link
JP (1) JPH10171669A (en)

Similar Documents

Publication Publication Date Title
US5297283A (en) Object transferring system and method in an object based computer operating system
US5802590A (en) Method and system for providing secure access to computer resources
US5187790A (en) Server impersonation of client processes in an object based computer operating system
US5136712A (en) Temporary object handling system and method in an object based computer operating system
US5129083A (en) Conditional object creating system having different object pointers for accessing a set of data structure objects
US5057996A (en) Waitable object creation system and method in an object based computer operating system
US5579505A (en) Memory access system and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions
US5893157A (en) Blocking symbol control in a computer system to serialize accessing a data resource by simultaneous processor requests
US8677457B2 (en) Security for codes running in non-trusted domains in a processor core
JP4054572B2 (en) Application execution system
JP2003186746A (en) Hardware execution control method of access to memory in computer using hardware execution semaphore and other similar hardware execution serializing and prioritizing mechanisms
US20020199045A1 (en) Apparatus, method and computer program product for converting simple locks in a multiprocessor system
JP3454854B2 (en) Memory management device and method
US5495614A (en) Interface control process between using programs and shared hardware facilities
WO2008008147A2 (en) Address masking between users
US7836170B2 (en) Suspension and reinstatement of reference handles
JP5063131B2 (en) Method, apparatus, computer program, and computer-implemented method for accessing process local storage of another process
KR100470555B1 (en) Locking of computer resources
JPH10171669A (en) Computer resource access method
JPH09190380A (en) Virtual storage management method
JPH0736713A (en) Program execution management device
JPH07302227A (en) Memory protection method and device therefor
JP2002049531A (en) Memory area border detecting method and computer system
JP3036468B2 (en) Exclusive control processing device, exclusive control processing method, and storage medium storing exclusive control processing program
CN118332556A (en) Trusted execution environment memory isolation system and method based on virtual memory technology