JPS63211032A - Shared resource control system - Google Patents

Shared resource control system

Info

Publication number
JPS63211032A
JPS63211032A JP4281087A JP4281087A JPS63211032A JP S63211032 A JPS63211032 A JP S63211032A JP 4281087 A JP4281087 A JP 4281087A JP 4281087 A JP4281087 A JP 4281087A JP S63211032 A JPS63211032 A JP S63211032A
Authority
JP
Japan
Prior art keywords
access
resource
block
descriptor
information
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
JP4281087A
Other languages
Japanese (ja)
Inventor
Michihiro Aoki
道宏 青木
Akira Uemori
上森 明
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4281087A priority Critical patent/JPS63211032A/en
Publication of JPS63211032A publication Critical patent/JPS63211032A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To finely protect shared resources by permitting the access when information included in a descriptor generated by the request of resource reservation is matched to the key and the identification number of the access request. CONSTITUTION:When resource reservation is requested from a process, intra- resource block position discrimination information and related information are taken out from an idle resource chain 2 where shared resources are divided into blocks and the registered, and an identification number is added to generate an access descriptor 16, and this descriptor 16 is registered in the table 17, and it is released by a release request. When the access to a shared resource is requested from the process with intra-resource block position discrimination information and specific related information as the key, the access descriptor 16 is searched in the table 17, and the access is permitted when information included in the descriptor 16 is matched to specific related information and the identification number of the request from the process.

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明は、情報処理技術の分野において、複数のプロセ
スにより共有される共通資源を個々のプロセスからの要
求に応じて確保し、解放し、またはi1保した資源につ
いてアクセスを可能にする共通資源制御方式に関するも
のである。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention is applied in the field of information processing technology to securing and releasing common resources shared by multiple processes in response to requests from individual processes. The present invention also relates to a common resource control method that enables access to reserved resources.

ここでプロセスとはタスクとも呼ばれるジョブのことで
あり、共通資源とは、複数のプロセスから共通的に確保
、解放、参照、更新されるメモリやファイル上のプログ
ラムやデータを指す。
Here, a process is a job also called a task, and a common resource refers to programs and data on memory and files that are commonly secured, released, referenced, and updated by multiple processes.

本発明は、更に言い換えると、複数のプロセスからアク
セスされる共通資源において、アクセス範囲、アクセス
方法に限定を加えると共に、予めアクセス権を与えられ
ているプロセスにのみアクセスを許可するようにして、
プロセス単位での共通資源のきめこまかな保護を図るた
めの技術に関するものであり、実時間性を要求されない
分野から、特に実時間多重処理性の厳しい交換処理、各
種工業プロセス制御等の分野に至るまで、広い技術分野
にいて共通資源の保護を図るのに適した共通資源制御方
式に関するものである。
In other words, in a common resource accessed by multiple processes, the present invention limits the access range and access method, and allows access only to processes that have been given access rights in advance.
It relates to technology for fine-grained protection of common resources on a process-by-process basis, ranging from fields that do not require real-time performance to fields such as exchange processing that requires real-time multiprocessing, and control of various industrial processes. This invention relates to a common resource control method suitable for protecting common resources in a wide range of technical fields.

〔従来の技術〕[Conventional technology]

従来、資源をセグメントと呼ぶ領域に区切り、このセグ
メントの先頭アドレスを示すポインタ、該セグメントへ
の許可されるアクセス方法、セグメントのサイズ等を含
む一連の情報としてのセグメントディスクリプタ(SD
)を作成してテーブル(これをセグメントディスクリプ
タテーブルSDTと云う)に登録しておき、該テーブル
(SDT)上の登録位置を示すセグメント番号(SGN
)と、該セグメント内オフセントと、をキーとすること
による資源へのアクセスに対し、セグメント番号(SG
N)から該当するセグメントディスクリプタ(S D)
を求め、該セグメントディスクリプタ(SD)内のサイ
ズが前記オフセットより大きく、アクセスを要求した実
行命令のアクセス方法が、セグメントディスクリプタ(
SD)内のアクセス方法と一致するときのみアクセスを
許可するようにして、資源の保護を行うセグメント方式
が知られている。
Conventionally, resources are divided into areas called segments, and a segment descriptor (SD
) is created and registered in a table (this is called the segment descriptor table SDT), and a segment number (SGN) indicating the registration position on the table (SDT) is created.
) and the intra-segment offset as keys, the segment number (SG
N) to the corresponding segment descriptor (SD)
, the size in the segment descriptor (SD) is larger than the offset, and the access method of the execution instruction that requested access is the segment descriptor (SD).
A segment method is known in which resources are protected by permitting access only when the access method matches the access method in the SD.

このセグメント方式では、個別エリアについては、プロ
セス毎にセグメントディスクリプタテーブル(SDT)
を設けることにより、アクセスの許可されていない他の
プロセスからの不法なアクセスを禁止し、共通エリアに
ついては、全プロセスからのアクセスを可能とする共通
なセグメントディスクリプタテーブル(SDT)を1つ
設けている。
In this segment method, for each individual area, a segment descriptor table (SDT) is created for each process.
By providing a Segment Descriptor Table (SDT), illegal access from other processes to which access is not permitted is prohibited, and for common areas, one common Segment Descriptor Table (SDT) is provided that allows access from all processes. There is.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

このため、共通エリアに対するアクセスを、プロセス毎
に制限するためには、管理用のテーブルを別に設け、こ
のテーブルを共通エリアへのアクセスが行われる度に検
査し、そのアクセス権の有無を調べる必要が生じる。ま
た資源を特定プロセス用に確保したり、或いは解放した
りするときにも、管理テーブルの書き換えのための処理
が必要となる。かかる処理をソフトウェアで実現するこ
とが必要であるが、そのため処理速度の低下を招き、実
時間性の厳しい環境に対して従来のセグメント方式を適
用することは困難である。
Therefore, in order to restrict access to the common area for each process, it is necessary to set up a separate management table and check this table every time the common area is accessed to see if there is an access right. occurs. Also, when securing or releasing resources for a specific process, processing for rewriting the management table is required. Although it is necessary to implement such processing using software, this results in a decrease in processing speed, making it difficult to apply the conventional segmentation method to an environment where real-time performance is strict.

本発明の目的は、共通資源のプロセス単位でのきめこま
かな保護を可能とし、しかも処理速度の低下を招(こと
なく、実時間性の厳しい環境に対しても適用可能な共通
資源制御方式を提供することにある。
An object of the present invention is to provide a common resource control method that enables fine-grained protection of common resources on a process-by-process basis, does not cause a decrease in processing speed, and is applicable even to environments with severe real-time performance. It's about doing.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的達成のため、本発明では、複数のプロセスによ
り共有される共通資源を個々のプロセスからの要求に応
じて確保し、解放し、または確保した資源についてアク
セスを可能にする共通資源制御方式において、共通資源
をその確保、解放またはアクセスの際の単位となるブロ
ックに分け、各ブロック毎の資源内ブロック位置識別情
報および関連情報を、ブロック別に分類し所定の取り出
し順位を付して登録しておく登録手段と、アクセスディ
スクリプタテーブルと、該テーブルから探し出したディ
スクリプタ内に含まれる情報とアクセス要求のキーとな
った情報との間の整合の有無を調べる手段と、を具備し
た。
To achieve the above object, the present invention provides a common resource control method that secures and releases common resources shared by multiple processes in response to requests from individual processes, or allows access to the secured resources. , the common resource is divided into blocks that serve as units for securing, releasing, or accessing the common resource, and the block position identification information and related information within the resource for each block are classified and registered with a predetermined order of retrieval. the access descriptor table; and means for checking whether there is a match between the information contained in the descriptor searched from the table and the information serving as the key of the access request.

〔作用〕[Effect]

複数のプロセスにより共有される共通資源を個々のプロ
セスからの要求に応じて確保し、解放し、または確保し
た資源についてアクセスを可能にする共通資源制御方式
において、 前記共通資源をその確保、解放またはアクセスの際の単
位となるブロックに分け、各ブロック毎の資源内ブロッ
ク位置識別情報および関連情報を、ブロック別に分類し
所定の取り出し順位を付して登録手段に登録しておき、 プロセスから資源確保の要求があったとき、前記登録手
段から所定の取り出し順位に従って1つのブロックの資
源内ブロック位置識別情報および関連情報を取り出し、
それに資源確保の要求を行った前記プロセスの識別番号
を付与して一連の情報としてのアクセスディスクリプタ
を作成し、それをテーブルに登録し、プロセスから資源
解放の要求があったときは、当該プロセスの識別番号を
含むアクセスディスクリプタを前記テーブルにおいて探
し出し、該テーブルから削除することにより解放し、 プロセスから特定ブロックの資源内ブロック位置識別情
報と特定関連情報をキーとする共通資源へのアクセス要
求があったときは、前記資源内ブロック位置識別情報を
含むアクセスディスクリプタを前記テーブルから探し出
し、該ディスクリプタに含まれる情報が前記特定関連情
報およびアクセス要求を行った当該プロセスの識別番号
と整合するとき、アクセスを許可するようにする。
In a common resource control method that secures, releases, or allows access to a common resource shared by multiple processes in response to a request from an individual process, the common resource is secured, released, or accessed. Divide into blocks, which serve as units for access, and classify the block position identification information and related information within the resource for each block, assign a predetermined order of retrieval, and register in the registration means, so that resources can be secured from the process. When there is a request, extract block position identification information and related information in the resource of one block from the registration means according to a predetermined order of extraction,
An access descriptor as a series of information is created by assigning the identification number of the process that made the request to secure the resource, and it is registered in a table. The access descriptor containing the identification number is searched for in the table and released by deleting it from the table, and a process requests access to a common resource using the block position identification information within the resource of a specific block and specific related information as keys. In this case, an access descriptor including the resource block position identification information is searched from the table, and when the information included in the descriptor matches the specific related information and the identification number of the process that made the access request, access is granted. I'll do what I do.

〔実施例〕〔Example〕

次に図を参照して本発明の一実施例を説明する。 Next, an embodiment of the present invention will be described with reference to the drawings.

第1図は、本発明の一実施例において、共通資源をプー
ル別、ブロック別に分けた上で、各ブロックを登録して
おいて要求のあったプロセスに対して順に割り当てる割
り当て方法を示す説明図である。
FIG. 1 is an explanatory diagram showing an allocation method in which common resources are divided into pools and blocks, and each block is registered and sequentially allocated to a process that requests it, in an embodiment of the present invention. It is.

第2図は、本発明の一実施例において、プロセスから要
求のあったとき、ブロックにより共通資源を当該プロセ
スに割り当てて確保させるときの、その確保動作の説明
図である。
FIG. 2 is an explanatory diagram of the securing operation when a common resource is allocated and secured to a process using a block when a request is received from a process in an embodiment of the present invention.

第3図は、本発明の一実施例において、ブロックにより
確保した共通資源に対してアクセスを行うときのアクセ
ス方法を示す説明図である。
FIG. 3 is an explanatory diagram showing an access method when accessing a common resource secured by a block in an embodiment of the present invention.

先ず第1図を参照して、共通資源をプール別、ブロック
別に分けた上で、各ブロックを登録しておいて要求のあ
ったプロセスに対して順に割り当てる割り当て方法を説
明する。
First, with reference to FIG. 1, an allocation method will be described in which common resources are divided into pools and blocks, each block is registered, and each block is sequentially allocated to a process that requests it.

第1図において、1は保護の対象となる共通資源であり
、共通資源1はこの場合、資源種別毎にブール15と1
5′に分けられる。ブール15をブール1とすると、ブ
ール1の領域は1000番地から1999番地までであ
り、その領域は更にブロック1〜10から或る複数のブ
ロック14に分けられる。この例では、ブロック1は1
000から1099番地まで、ブロック2は1100か
ら1199番地まで、以下同様にしてブロック10は、
1900から1999番地までを割り当てられている。
In FIG. 1, 1 is a common resource to be protected, and in this case, common resource 1 is Boolean 15 and Boolean 1 for each resource type.
It is divided into 5′. Letting Boolean 15 be Boolean 1, the area of Boolean 1 is from address 1000 to address 1999, and this area is further divided into a certain plurality of blocks 14 from blocks 1 to 10. In this example, block 1 is 1
From address 000 to address 1099, block 2 from address 1100 to address 1199, and so on, block 10:
Addresses 1900 to 1999 are assigned.

つまり各ブロックのブロックサイズは番地100個分収
容可能な大きさと言う意味で100である。このブロッ
クが、共通資源を確保し或いは解放する際の単位となる
。ブール15′をブール2とすると、これも同様な構成
になっている。
In other words, the block size of each block is 100, meaning that it can accommodate 100 addresses. This block becomes a unit when securing or releasing common resources. Letting Boolean 15' be Boolean 2, this also has a similar configuration.

2は、ブール1用の空き資源チェーンと称されるもので
あり、その中身は、空き資源チェーンへラダ3と複数の
ブロックヘッダ4 (4a、4b。
2 is called a free resource chain for Boolean 1, and its contents include a ladder 3 and a plurality of block headers 4 (4a, 4b) to the free resource chain.

・”4c)とから成っている。ブロックへラダ4は、共
通資源1におけるブール15内の各ブロックに対応する
ように複数個設けられている。
"4c). A plurality of block ladders 4 are provided so as to correspond to each block in the Boolean 15 in the common resource 1.

空き資源チェーンヘッダ3には、ブール15内で共通な
情報が、資源管理情報として登録され、各ブロックヘッ
ダ4には各ブロック毎に異なる情報が登録されていて、
同一情報が各ブロックに重複して登録されるのを避けて
いる。空き資源チェーンヘッダ3において、5は先頭ポ
インタで、最初のブロックへラダ4aを指し、ブロック
へラダ4aの次ポインタ11が更に次のブロックへラダ
4bを指す、というように、ブロックヘッダ4aを先頭
とするチェーンが構成されている。
In the free resource chain header 3, common information within the Boolean 15 is registered as resource management information, and in each block header 4, different information for each block is registered,
This avoids duplicate registration of the same information in each block. In the free resource chain header 3, 5 is a head pointer that points to the first block ladder 4a, and the next pointer 11 of the block ladder 4a further points to the next block ladder 4b, and so on. A chain is constructed.

末尾のブロックヘッダ(この場合4c)がどれであるか
認識可能にするために、空き資源チェーンヘッダ3にお
いて6が最終ポインタとして末尾のブロックヘッダ4C
を指している。チェーンを構成するブロックの数は、空
き資源チェーンヘッダ3における登録カウンタ7で管理
している。空き資源チェーンヘッダ3には、これらの他
に、8として各ブロックのブロックサイズを、9として
アクセス方法を、また10としてブール識別名を、それ
ぞれ登録している。
In order to be able to recognize which block header is the last block header (4c in this case), 6 in free resource chain header 3 is used as the final pointer to identify the last block header 4C.
is pointing to. The number of blocks constituting the chain is managed by a registration counter 7 in the free resource chain header 3. In addition to these, the free resource chain header 3 also registers the block size of each block as 8, the access method as 9, and the Boolean identification name as 10.

各ブロックヘッダ4には、ポインタ11の他に、12と
してブロック識別名を、13としてブロックベースポイ
ンタをそれぞれ登録している。
In each block header 4, in addition to the pointer 11, a block identification name 12 and a block base pointer 13 are registered.

以上を総括すると、空き資源チェーンへラダ3では、1
0にブール1であることを示すプール識別名1が、9に
アクセス方法は読み出し、書き込みであることを示すR
/Wが、8にはブロックサイズを表す100が、7には
ブロックの総数10が、それぞれ登録されている。また
各ブロックヘッダ4(例えば4aには)、12としてブ
ロック識別名(ブロック番号)01が、13にはブロッ
クベースポインタ(1000番地)を表す1000が、
それぞれ登録されている。
To summarize the above, in Lada 3 to the free resource chain, 1
Pool identification name 1 indicates that 0 is Boolean 1, and R indicates that the access method is read or write in 9.
/W is registered, 8 is registered with 100 representing the block size, and 7 is registered with the total number of blocks, 10. In addition, each block header 4 (for example, 4a) has a block identification name (block number) 01 as 12, and 1000 representing a block base pointer (address 1000) as 13.
Each is registered.

プロセスから要求があると、ブロックヘッダ4a、4b
、・・・4Cのチェーン順に対応ブロックが、ブロック
l、ブロック2.・・・ブロックlOの如く順に割り当
てられる。
When requested by a process, block headers 4a, 4b
, . . . The corresponding blocks in the chain order of 4C are block l, block 2 . . . . They are allocated in order like block lO.

次に第2図を参照して、或るプロセスから共通資源の確
保を要求されたときのその確保動作を説明する。
Next, with reference to FIG. 2, the securing operation when a certain process requests to secure a common resource will be described.

共通資源は、既に説明したように、プール別、ブロック
別に分けられ空き資源チェーン2に登録されているので
、該チェーン2から確保しようとするブロックに関する
諸情報を取り出してきて、それと確保してやる対象のプ
ロセス識別名とから一連の情報としてのアクセスディス
クリプタを作成してテーブルに登録すれば、それで確保
が行われたことになる。
As already explained, the common resources are divided into pools and blocks and registered in the free resource chain 2, so we extract various information about the block to be secured from the chain 2, and use the information about the block to be secured. By creating an access descriptor as a series of information from the process identification name and registering it in the table, the reservation is completed.

第2図を参照する。ブール1から共通資源を確保する場
合について説明する。f1保プール識別名レジスタ36
を°1°にセントし、実行プロセスレジスタ18に現在
の実行プロセス名(確保を要求するプロセス名)をセン
トした後、図示せざる方法により共通資源確保の要求を
行うと、プール識別名10が“1°の空き資源チェーン
2を探し出し、チェーンの先頭から1つのブロック(こ
の場合48)を取り出し、該ブロックに関連した登録情
報を用いて一連の情報としてのアクセスディスクリプタ
16を作成する。
See Figure 2. The case where common resources are secured from Boolean 1 will be explained. f1 pool identification name register 36
After setting the name of the current execution process (name of the process requesting reservation) to the execution process register 18 and making a request to secure the common resource by a method not shown, the pool identification name 10 will be changed to “Find a 1° free resource chain 2, extract one block (48 in this case) from the beginning of the chain, and create an access descriptor 16 as a series of information using the registration information related to the block.

即ち、このアクセスディスクリプタ16は、現在の実行
プロセス名としてレジスタ18にセントされている°5
′を位置20に、プール識別名として空き資源チェーン
へラダ3の10に登録されている“1°を位置21に、
ブロック識別名としてブロックヘッダ4aの12に登録
されている′01′を位置22に、ブロックベースポイ
ンタとしてブロックヘッダ4aの13に登録されている
i o o o’を位置23に、ブロックサイズとして
空き資源チェーンヘッダ3の8に登録されている“10
0”を位置24に、アクセス方法として空き資源チェー
ンヘッダ3の9に登録されている°R/W’を位置25
に、それぞれ複写することにより作成される。
That is, this access descriptor 16 is the name of the currently executing process stored in the register 18.
' in position 20, and '1° registered in 10 of ladder 3 to the free resource chain as the pool identification name in position 21.
'01' registered in 12 of the block header 4a as the block identifier is placed in position 22, i o o o' registered in 13 of the block header 4a as the block base pointer is placed in position 23, and the free block size is set as the block size. "10" registered in resource chain header 3-8
0" in position 24, and °R/W' registered in free resource chain header 3-9 as the access method in position 25.
It is created by copying each.

作成されたこのアクセスディスクリプタ16は、アクセ
スディスクリプタテーブル17に登録する。
This created access descriptor 16 is registered in the access descriptor table 17.

それと共に、ブロック識別名12に“01′の登録され
ているブロックへ7ダ4(この場合4a)を、既に割り
当て済みということで削除するため、空き資源チェーン
ヘッダ3における先頭ポインタ5の値を、ブロック識別
名12が02°のブロックヘッダ4を次には指すように
変更し、また登録カウンタ7の登録数値°10°を1だ
け減じて9“にする、また同時に、確保したプロセス側
の資源識別名レジスタ19に、プール識別名21とブロ
ック識別名22とから或る資源識別名26の登録数値’
101’を通知してセントする。
At the same time, in order to delete 7da4 (4a in this case) from the block where "01' is registered in the block identifier 12 as it has already been allocated, change the value of the start pointer 5 in the free resource chain header 3. , change the block identifier 12 so that it points to the block header 4 of 02° next, and also decrease the registration value °10° of the registration counter 7 by 1 to 9", and at the same time, change the value of the secured process side. The registered numerical value of a certain resource identification name 26 from the pool identification name 21 and block identification name 22 is stored in the resource identification name register 19.
101' and cents.

以上で確保動作が終了する。This completes the securing operation.

次に第3図を参照して、確保した共通資源に対してアク
セスを行う方法を説明する。
Next, a method for accessing the secured common resource will be explained with reference to FIG.

第3図において、実行プロセスレジスタ18にセントさ
れている現在の実行プロセス名゛5゛と資源識別名レジ
スタ19にセットされている ′101°をキーとして
アクセスディスクリプタテーブル17を検索し、a欄を
見出す、a欄から該当ブロックへのベースポインタ23
の値”1000゛を得、このポインタ値“1000°に
オフセットレジスタ27にセットしておいた値“20”
を加算器29において加算することでアクセスの実ポイ
ンタ “1020′をレジスタ32に得る。
In FIG. 3, the access descriptor table 17 is searched using the current execution process name '5' stored in the execution process register 18 and '101° set in the resource identification name register 19 as keys. Header, base pointer 23 from column a to the corresponding block
Obtain the value "1000" and set this pointer value "1000" to the value "20" set in the offset register 27.
By adding them in the adder 29, the actual access pointer "1020'" is obtained in the register 32.

この検索時に該当ポインタが不在のときはアクセスが不
可能になる。また実ポインタの決定と同時にオフセント
レジスタ27の(直“20゛ とブロックサイズ位置2
4の値“100′によるアクセス範囲の検査、命令レジ
スタ28にセットされている命令”JP”とアクセス方
法の位置25におけるR/W’によるアクセス方法の検
査を行う。
If the corresponding pointer does not exist during this search, access becomes impossible. Also, at the same time as the actual pointer is determined, the offset register 27 (direct ``20'' and block size position 2
The access range is checked using the value ``100'' of 4, and the access method is checked using the instruction ``JP'' set in the instruction register 28 and R/W' at the access method position 25.

アクセス範囲の検査は、オフセントレジスタ27の値°
20°がサイズ位置24の値°100゜より小さいか否
かにより行い、小さい場合、アクセスが許可される。ア
クセス方法の検査は、命令レジスタ28のJP’ から
命令アクセス方法対応テーブル33を検索して得られる
アクセス方法35が“EXEC’ であるとすると、こ
れとアクセス方法の位置25における“R/W’が一致
するか否か比較することにより行うわけであるが、唯今
の場合、不一致であるのでアクセスは禁止される。
The access range is checked using the value of the offset register 27.
This is performed based on whether 20° is smaller than the value 100° of the size position 24, and if it is smaller, access is permitted. To check the access method, if the access method 35 obtained by searching the instruction access method correspondence table 33 from JP' of the instruction register 28 is "EXEC", this and "R/W" at the access method position 25 are checked. This is done by comparing whether or not they match, but in the current case, they do not match, so access is prohibited.

次に或るプロセスの持つアクセス権を他プロセスへ移譲
する場合の動作を、第3図において、プロセス識別名゛
5′のプロセスが実行中に、アクセスディスクリプタテ
ーブル17のa欄のアクセスディスクリプタを、プロセ
ス識別名“3°のプロセスに移譲する場合を例にとり説
明する。
Next, the operation when transferring the access rights held by a certain process to another process is shown in FIG. The case of transferring to a process with process identification name "3°" will be explained as an example.

この場合、該当のアクセスディスクリプタ(テーブル1
7のa欄)のプロセス識別名20を実行中のプロセス識
別名゛5°から、移譲を受けるプロセス識別名゛3゛に
変更した後、同テーブル17のC欄に登録する。これに
よりプロセス識別名“3°のプロセスの実行中に、資源
識別名“101゛がアクセス可能になる。この操作は、
プロセス識別名20が、実行プロセス名18と等しいア
クセスディスクリプタに限り可能である。
In this case, the corresponding access descriptor (Table 1
After changing the process identification name 20 in column a of Table 17 from the process identification name "5°" currently being executed to the process identification name "3" to be transferred, the process identification name 20 is registered in column C of the same table 17. As a result, the resource identifier "101" becomes accessible while the process with the process identifier "3°" is being executed. This operation
This is possible only for access descriptors in which the process identification name 20 is equal to the execution process name 18.

資源識別名19が“101′の資源の解放は、第3図に
おけるアクセスディスクリプタテーブル17における該
当の全アクセスディスクリプタであるaa、Cから当該
“101゛を削除し、該当アクセスディスクリプタのプ
ール識別名21が“1゛であることから、第1図におけ
る空き資源チェーンヘッダ3中のプール識別名1’0が
“1″であるプールを選択し、空きチェーンの末尾に該
当資源のブロックヘッダをアクセスディスクリプタテー
ブル17のブロック識別名22)ブロックベースポイン
タ23から生成し、追加すると共に、以前の最終ブロッ
クヘッダ4中の次のポインタ11をここでブロックヘッ
ダへのポインタに書き換え、空き資源チェーンへラダ3
中の最終ポインタ6も同時に書き換える。またこの時、
登録カウンタ7の値を1だけ増加させる。
To release a resource whose resource identifier 19 is "101',""101" is deleted from all the corresponding access descriptors aa and C in the access descriptor table 17 in FIG. 3, and the pool identifier 21 of the corresponding access descriptor is is "1", select the pool whose pool identification name 1'0 in the free resource chain header 3 in Figure 1 is "1", and insert the block header of the corresponding resource into the access descriptor at the end of the free chain. Block identification name 22 in Table 17) Generate and add from the block base pointer 23, and rewrite the next pointer 11 in the previous final block header 4 to a pointer to the block header, and add the ladder 3 to the free resource chain.
The final pointer 6 inside is also rewritten at the same time. At this time again,
Increase the value of registration counter 7 by 1.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、共通資源へのア
クセス権を持たないプロセスからの不法な共通資源への
アクセス、アクセス権の不法変更、アクセスすべき共通
資源の範囲外へのアクセス、許可されないアクセス方法
によるアクセスを何れも防止でき、共通資源アクセスに
関するきめの細かな制御を実現でき、ソフトウェア実行
時の信頼性の向上を図ることができる。
As explained above, according to the present invention, illegal access to common resources from a process that does not have access rights to common resources, illegal modification of access rights, access outside the range of common resources to be accessed, Access by unauthorized access methods can be prevented, fine-grained control regarding access to common resources can be realized, and reliability during software execution can be improved.

また上記制御はソフトウェアによる手続きを必要とせず
に実現することが可能であり、実行速度をさほど損なう
ことなしに実現できる。特にアクセスディスクリプタテ
ーブルに対して連想メモリを適用することは有効である
Further, the above control can be realized without requiring any software procedure, and can be realized without significantly impairing the execution speed. It is particularly effective to apply associative memory to access descriptor tables.

説明した実施例では、共通資源の管理をプール毎の空き
チェーン方式によって行っているが、他の方式を用いる
ことも可能である。またアクセスディスクリプタテーブ
ルを1個とし、アクセスディスクリプタテーブル内にア
クセス可能プロセス名を登録することとしているが、ア
クセス可能プロセス毎にアクセスディスクリプタテーブ
ルを分離することも可能である。
In the embodiment described, common resources are managed using a free chain method for each pool, but other methods can also be used. Furthermore, although one access descriptor table is used and accessible process names are registered in the access descriptor table, it is also possible to separate access descriptor tables for each accessible process.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明の一実施例において、共通資源をプー
ル別、ブロック別に分けた上で、各ブロックを登録して
おいて要求のあったプロセスに対して順に割り当てる割
り当て方法を示す説明図、第2図は、本発明め一実施例
において、プロセスから要求のあったとき、ブロックに
より共通資源を当8亥プロセスに割り当てて確保させる
ときの、その確保動作の説明図、第3図は、本発明の一
実施例において、ブロックにより確保した共通資源に対
してアクセスを行うときのアクセス方法を示す説明図、
である。 符号の説明
FIG. 1 is an explanatory diagram showing an allocation method in which common resources are divided into pools and blocks, and each block is registered and sequentially allocated to a process that requests it, in an embodiment of the present invention. , FIG. 2 is an explanatory diagram of the securing operation when a common resource is allocated and secured by a block to a process in response to a request from a process in the first embodiment of the present invention, and FIG. , an explanatory diagram showing an access method when accessing a common resource secured by a block in an embodiment of the present invention;
It is. Explanation of symbols

Claims (1)

【特許請求の範囲】 1)複数のプロセスにより共有される共通資源を個々の
プロセスからの要求に応じて確保し、解放し、または確
保した資源についてアクセスを可能にする共通資源制御
方式において、 前記共通資源をその確保、解放またはアクセスの際の単
位となるブロックに分け、各ブロック毎の資源内ブロッ
ク位置識別情報および関連情報を、ブロック別に所定の
取り出し順位を付して登録手段に登録する段階と、 プロセスから資源確保の要求があったとき、前記登録手
段から所定の取り出し順位に従って1つのブロックの資
源内ブロック位置識別情報および関連情報を取り出し、
それに資源確保の要求を行った前記プロセスの識別番号
を付与して一連の情報としてのアクセスディスクリプタ
を作成し、それをテーブルに登録し、プロセスから資源
解放の要求があったときは、当該プロセスの識別番号を
含むアクセスディスクリプタを前記テーブルにおいて探
し出し、該テーブルから削除することにより解放する段
階と、 プロセスから特定ブロックの資源内ブロック位置識別情
報と特定関連情報をキーとする共通資源へのアクセス要
求があったときは、前記資源内ブロック位置識別情報を
含むアクセスディスクリプタを前記テーブルから探し出
し、該ディスクリプタに含まれる情報が前記特定関連情
報およびアクセス要求を行った当該プロセスの識別番号
と整合するとき、アクセスを許可するようにするアクセ
ス許可段階と、 を含むことを特徴とする共通資源制御方式。 2)特許請求の範囲第1項記載の共通資源制御方式にお
いて、或る共通資源に対しアクセス権を有するプロセス
がそのアクセス権を他のプロセスへ移譲するとき(また
はアクセス方法の変更を行うとき)、前記ディスクリプ
タを移譲対象のプロセス用に複写し(またはディスクリ
プタの変更行う)ことを特徴とする共通資源制御方式。
[Scope of Claims] 1) A common resource control method that secures and releases common resources shared by a plurality of processes in response to requests from individual processes, or enables access to the secured resources, comprising: Divide the common resource into blocks that serve as units for securing, releasing, or accessing the common resource, and registering in-resource block position identification information and related information for each block in the registration means with a predetermined order of retrieval for each block. When there is a request to secure a resource from the process, extract block position identification information within the resource and related information of one block according to a predetermined extraction order from the registration means,
An access descriptor as a series of information is created by assigning the identification number of the process that made the request to secure the resource, and it is registered in a table. a step of searching for an access descriptor including an identification number in the table and releasing it by deleting it from the table; and a process requesting access to the common resource using the block position identification information in the resource of the specific block and the specific related information as keys. If there is an access descriptor that includes the block position identification information within the resource, the access descriptor is searched from the table, and when the information included in the descriptor matches the specific related information and the identification number of the process that made the access request, the access descriptor is A common resource control method comprising: an access permission step for permitting; 2) In the common resource control method described in claim 1, when a process that has an access right to a certain common resource transfers that access right to another process (or when the access method is changed) , a common resource control method characterized in that the descriptor is copied (or the descriptor is changed) for a process to be transferred.
JP4281087A 1987-02-27 1987-02-27 Shared resource control system Pending JPS63211032A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4281087A JPS63211032A (en) 1987-02-27 1987-02-27 Shared resource control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4281087A JPS63211032A (en) 1987-02-27 1987-02-27 Shared resource control system

Publications (1)

Publication Number Publication Date
JPS63211032A true JPS63211032A (en) 1988-09-01

Family

ID=12646309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4281087A Pending JPS63211032A (en) 1987-02-27 1987-02-27 Shared resource control system

Country Status (1)

Country Link
JP (1) JPS63211032A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552249B2 (en) 2004-12-24 2009-06-23 Fujitsu Limited Direct memory access circuit and disk array device using same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552249B2 (en) 2004-12-24 2009-06-23 Fujitsu Limited Direct memory access circuit and disk array device using same

Similar Documents

Publication Publication Date Title
US4979098A (en) Multiple address space token designation, protection controls, designation translation and lookaside
US5220669A (en) Linkage mechanism for program isolation
US4945480A (en) Data domain switching on program address space switching and return
US5802590A (en) Method and system for providing secure access to computer resources
US5023773A (en) Authorization for selective program access to data in multiple address spaces
US5469556A (en) Resource access security system for controlling access to resources of a data processing system
US10650138B2 (en) System call policies for containers
US5892944A (en) Program execution and operation right management system suitable for single virtual memory scheme
JPH11505653A (en) Operating system for use with protection domains in a single address space
CN110442379A (en) Conditional presumptive instruction is protected to execute
KR20080104591A (en) Memory protection method and apparatus
JPH0133857B2 (en)
CN116302598A (en) Shared memory processing method and device, computer equipment and storage medium
JP5063131B2 (en) Method, apparatus, computer program, and computer-implemented method for accessing process local storage of another process
JPS63211032A (en) Shared resource control system
EP0327839B1 (en) Information handling system
US6874059B1 (en) System and method for using anonymous tokens for efficient memory management
JPS61105656A (en) Information processing device
US7191307B1 (en) Memory management unit technique to detect cross-region pointer stores
JPH0736713A (en) Program execution management device
RU2534488C1 (en) System for controlling access to computer system resources with "initial user, effective user, process" subject
KR20230096292A (en) Method and apparatus for managing dynamic memory, computer-readable storage medium
JP2581145B2 (en) Security processing method
JPH0821023B2 (en) Eligibility determination processor
JPH10171669A (en) Computer resource access method