JPH04284555A - Processor and processing method for executing outside ring transition - Google Patents
Processor and processing method for executing outside ring transitionInfo
- Publication number
- JPH04284555A JPH04284555A JP4931791A JP4931791A JPH04284555A JP H04284555 A JPH04284555 A JP H04284555A JP 4931791 A JP4931791 A JP 4931791A JP 4931791 A JP4931791 A JP 4931791A JP H04284555 A JPH04284555 A JP H04284555A
- Authority
- JP
- Japan
- Prior art keywords
- calling
- program
- ring
- unit
- level
- 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
Links
- 230000007704 transition Effects 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title claims abstract 4
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims 1
- 238000011084 recovery Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 238000012805 post-processing Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は,リング保護機構を持つ
計算機システムにおいて,プログラムが現在のリングレ
ベルより低位のリングレベルで動作するプログラムを呼
び出す外部リング遷移を行う処理装置および方法に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processing device and method for performing external ring transition in which a program calls a program operating at a lower ring level than the current ring level in a computer system having a ring protection mechanism.
【0002】近年のオペレーティング・システムでは,
空間(プロセス)内における処理の高速化のために,一
般モードから特権モード(カーネルモード)への実行モ
ードの変更を伴わないで,システムサービスを行う機能
が提供されている。これらのシステムサービスを行うシ
ステムプログラムは,ユーザプログラムと同一の空間固
有域内で動作するため,ユーザプログラムからシステム
作業域を保護する必要がある。このため,システムプロ
グラムは,リング保護機構により,動作リングレベルが
ユーザプログラムより高位に設定されている。[0002] In recent operating systems,
In order to speed up processing within a space (process), a function is provided to perform system services without changing the execution mode from general mode to privileged mode (kernel mode). Since the system programs that perform these system services operate within the same space specific area as the user program, it is necessary to protect the system work area from the user program. For this reason, the operating ring level of the system program is set higher than that of the user program by the ring protection mechanism.
【0003】ところが,ユーザプログラムへのサービス
のため,システムプログラムがユーザプログラム実行の
前後に行う前処理・後処理や,他空間からの要求メッセ
ージに対し,その内容によって起動するユーザプログラ
ムを振り分けるルーティング処理や,非同期事象の発生
を契機としてユーザプログラムを起動する非同期スケジ
ュール処理等では,現在のリングレベルより低位のリン
グレベルで動作するユーザプログラムを起動する必要が
ある。However, in order to provide services to user programs, there is pre-processing and post-processing that the system program performs before and after execution of the user program, and routing processing that distributes user programs to be started depending on the content of request messages from other spaces. , or asynchronous schedule processing in which a user program is started in response to the occurrence of an asynchronous event, it is necessary to start a user program that operates at a lower ring level than the current ring level.
【0004】0004
【従来の技術】図4は本発明に関係するリング保護機構
説明図,図5は従来技術の問題点説明図である。リング
保護機構は,低位のリングレベルにあるプログラムが,
高位のリングレベルにあるプログラムの作業領域を破壊
したり,高位のリングレベルにあるプログラムを通常の
許された方法によらずに呼び出したりしないようにする
ための保護機構である。例えば,リングレベルは0から
3まであり,最も高位のリングレベル0は特権モードの
カーネルプログラム,最も低位のリングレベル3は通常
のユーザプログラム等に割り当てられる。2. Description of the Related Art FIG. 4 is an explanatory diagram of a ring protection mechanism related to the present invention, and FIG. 5 is an explanatory diagram of problems in the prior art. The ring protection mechanism allows programs at the lower ring level to
This is a protection mechanism that prevents the work area of a program at a higher ring level from being destroyed or from calling a program at a higher ring level in a way that is not normally allowed. For example, the ring levels range from 0 to 3, with the highest ring level 0 being assigned to a privileged mode kernel program, and the lowest ring level 3 being assigned to a normal user program.
【0005】図4の(イ)および(ロ)に示すように,
低位リングレベルのプログラムP1が高位リングレベル
のプログラムP2を呼び出す場合には,リング間遷移命
令(JRNG命令という)を使用する。また,呼び出さ
れた高位リングレベルのプログラムP2から元のプログ
ラムP1に復帰する場合には,リング間復帰命令(RR
NG命令という)を使用する。[0005] As shown in FIGS. 4(a) and 4(b),
When a lower ring level program P1 calls a higher ring level program P2, an inter-ring transition instruction (referred to as a JRNG instruction) is used. In addition, when returning to the original program P1 from the called higher ring level program P2, an inter-ring return instruction (RR
(referred to as NG command).
【0006】リング間遷移命令は,前もって図4の(ハ
)に示すようなリング遷移ベクタテーブルに登録された
プログラムを,リング間遷移を伴って呼び出す命令であ
る。プログラムの呼び出しに伴って,呼出し元プログラ
ムのリングレベルを呼出し先プログラムのスタック内に
退避する。The inter-ring transition instruction is an instruction that calls a program previously registered in the ring transition vector table as shown in FIG. 4(c) with inter-ring transition. When a program is called, the ring level of the calling program is saved in the called program's stack.
【0007】リング間復帰命令は,リング間遷移命令で
呼び出されたプログラムが,呼出し元プログラムに旧リ
ングレベルを復元して復帰する命令である。リング間遷
移時にスタック内に退避されたリングレベルに従ってリ
ング間復帰を行う。リング遷移ベクタテーブルは,リン
グ遷移命令で呼び出されるプログラムに対応する1エン
トリが,図4の(ハ)に示すような構造になっており,
リング間遷移命令で呼び出されるプログラムの動作リン
グレベルおよびエントリアドレス等が登録されるように
なっている。システムによって提供され,特権モードで
動作するプログラム以外からの変更は不可能である。The inter-ring return instruction is an instruction in which a program called by an inter-ring transition instruction restores the old ring level to the calling program and returns. Return between rings is performed according to the ring level saved in the stack at the time of inter-ring transition. The ring transition vector table has a structure in which one entry corresponding to a program called by a ring transition instruction is shown in (c) of Figure 4.
The operating ring level and entry address of the program called by the inter-ring transition instruction are registered. It cannot be modified except by programs provided by the system and running in privileged mode.
【0008】従来のプログラム呼出し方法では,低位リ
ングレベルで動作するプログラムを呼び出すために,特
権モードで動作するカーネルプログラムが,PSWを更
新する特権命令等を使用することにより,直接ユーザプ
ログラムをディスパッチしていた。[0008] In the conventional program calling method, in order to call a program running at a lower ring level, a kernel program running in a privileged mode dispatches a user program directly by using a privileged instruction that updates the PSW. was.
【0009】ところが,この方法によると,空間固有域
内のプログラムは,不当なアクセスレベルでユーザプロ
グラムが実行されるのを防ぐため,常にユーザプログラ
ムのアクセスレベルで実行が開始されなければならない
。ユーザプログラム実行の前後に行う前処理・後処理や
,ルーティング処理,非同期事象スケジュールといった
システムプログラム機構(以下,ルーティング処理部等
と略す)を持つ場合,高位のリングレベルで動作するプ
ログラムが,低位のリングレベルで動作するプログラム
を呼び出し,復帰後に処理を継続させる機構がないため
,保護リングレベルをユーザプログラムと区分する必要
があるルーティング処理部等は,カーネルプログラムの
ディスパッチャ部に組み込んで処理を行わなければなら
なかった。However, according to this method, execution of programs within the space-specific area must always be started at the access level of the user program in order to prevent the user program from being executed at an inappropriate access level. When a system program mechanism (hereinafter referred to as a routing processing section) such as pre-processing/post-processing before and after user program execution, routing processing, and asynchronous event scheduling is provided, a program that operates at a higher ring level may operate at a lower ring level. Since there is no mechanism to call a program that operates at the ring level and continue processing after returning, routing processing units that need to separate the protection ring level from the user program must be incorporated into the dispatcher unit of the kernel program to perform processing. I had to.
【0010】例えば図5において,ディスパッチャ部5
0は特権モードのカーネルプログラム12上で動作して
おり,ユーザプログラム19をディスパッチする。低位
リングレベルで動作するユーザプログラム19から,高
位リングレベルで動作するシステムプログラム13を呼
び出す処理は,リング間遷移命令とリング間復帰命令と
が使用できるため,通常のシステムコールによって実行
が許可されている。For example, in FIG. 5, the dispatcher section 5
0 runs on the kernel program 12 in privileged mode and dispatches the user program 19. The process of calling the system program 13 that operates at a higher ring level from the user program 19 that operates at a lower ring level can be executed by a normal system call because an inter-ring transition instruction and an inter-ring return instruction can be used. There is.
【0011】しかし,これとは逆に高位リングレベルの
システムプログラム13’から低位リングレベルのユー
ザプログラム19を呼び出して復帰する処理は,低位リ
ングレベルへの遷移命令がなく実行できない。このため
,ルーティング処理部51’などをユーザプログラム1
9の空間11内で,ユーザプログラム19より高位のリ
ングレベルで動作させることはできず,カーネルプログ
ラム12でのみ動作させなければならなかった。However, on the contrary, the process of calling and returning from the system program 13' of the higher ring level to the user program 19 of the lower ring level cannot be executed because there is no transition instruction to the lower ring level. For this reason, the routing processing unit 51' etc. are configured in the user program 1.
In the space 11 of 9, it was not possible to operate at a higher ring level than the user program 19, and only the kernel program 12 had to operate.
【0012】0012
【発明が解決しようとする課題】以上のように,従来技
術によれば,空間固有域内で動作するプログラムは,常
にユーザプログラム19のアクセスレベルで開始されな
ければならず,システムプログラム13’による前処理
・後処理,ルーティング処理,非同期事象スケジュール
処理等といったサービスは,カーネルプログラム12が
行わなければならなかった。As described above, according to the prior art, a program operating within a spatially specific area must always be started at the access level of the user program 19, and cannot be preempted by the system program 13'. Services such as processing/post-processing, routing processing, asynchronous event scheduling processing, etc. had to be performed by the kernel program 12.
【0013】しかし,ルーティング処理部等の種類の増
加に伴い,ディスパッチ処理機能が肥大化・複雑化する
傾向にある。そのため,それらをすべてカーネルプログ
ラム12上で動作させるには,カーネルプログラム12
の負担が大きくなり,また柔軟性,融通性に欠けるとい
う問題がある。However, as the number of types of routing processing units increases, the dispatch processing function tends to become larger and more complex. Therefore, in order to run all of them on the kernel program 12, the kernel program 12
There are problems in that the burden on staff becomes heavy and flexibility and flexibility are lacking.
【0014】本発明は上記問題点の解決を図り,空間固
有域内で動作するプログラムに対し,一般命令として提
供されているリング遷移命令とリング間復帰命令のみを
用いて,より低位のリングレベルで動作するプログラム
を呼び出し,さらに呼び出したプログラムが復帰した後
も,後続の処理を元のリングレベルで行うことができる
外部リング呼出し機構を提供することを目的とする。[0014] The present invention aims to solve the above-mentioned problems, and allows a program operating within a space-specific area to operate at a lower ring level by using only ring transition instructions and inter-ring return instructions, which are provided as general instructions. The purpose of the present invention is to provide an external ring calling mechanism that can call a running program and perform subsequent processing at the original ring level even after the called program returns.
【0015】[0015]
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において,10はCPUおよびメモリな
どからなる処理装置,11は各プロセス用仮想記憶の空
間,12はリングレベル0の特権モードで動作するカー
ネルプログラム,13はシステムのサービス機能を提供
するシステムプログラム,14は呼出し元情報退避部,
15は呼出し元情報復元部,16は外部リング呼出し部
,17は呼出し元リング復帰部,18はユーザプログラ
ム呼出し部,19は低位リングレベルで動作するユーザ
プログラムを表す。[Means for Solving the Problems] FIG. 1 is a diagram illustrating the principle of the present invention. In FIG. 1, 10 is a processing unit consisting of a CPU and memory, 11 is a virtual memory space for each process, 12 is a kernel program that operates in a privileged mode at ring level 0, and 13 is a system program that provides system service functions. , 14 is a caller information saving section,
Reference numeral 15 represents a caller information restoration unit, 16 an external ring caller, 17 a caller ring return unit, 18 a user program caller, and 19 a user program operating at a lower ring level.
【0016】高位のリングレベルで動作するシステムプ
ログラム13は,低位のリングレベルで動作するユーザ
プログラム19を呼び出すときには,呼出し元情報退避
部14を呼び出す。呼出し元情報退避部14は,システ
ムプログラム13が呼び出したユーザプログラム19か
ら復帰した後に必要となるシステムプログラム13の処
理を再開するための情報を退避する処理を行うものであ
る。情報を退避した後,外部リング呼出し部16を呼び
出す。When the system program 13 operating at a higher ring level calls the user program 19 operating at a lower ring level, it calls the caller information saving unit 14. The call source information saving unit 14 performs a process of saving information necessary for restarting the processing of the system program 13 after the system program 13 returns from the called user program 19. After saving the information, the external ring calling unit 16 is called.
【0017】外部リング呼出し部16は,呼出し元情報
退避部14によって呼び出されることにより,高位のリ
ングレベルから低位のリングレベルに遷移するようにユ
ーザプログラム呼出し部18を起動する。ユーザプログ
ラム呼出し部18は,外部リング呼出し部16によって
起動されると,通常のサブルーチン呼出し命令などによ
り,ユーザプログラム19を呼び出す。ユーザプログラ
ム19から復帰すると,呼出し元リング復帰部17を呼
び出す。The external ring calling section 16 is called by the calling source information saving section 14 to start the user program calling section 18 so as to make a transition from a higher ring level to a lower ring level. When activated by the external ring calling unit 16, the user program calling unit 18 calls the user program 19 using a normal subroutine calling command or the like. When the user program 19 returns, the calling ring return unit 17 is called.
【0018】呼出し元リング復帰部17は,低位のリン
グレベルから高位のリングレベルに遷移して呼出し元情
報復元部15を呼び出す処理を行うものである。これに
より,呼出し元情報復元部15が呼び出されると,呼出
し元情報復元部15は,システムプログラム13の処理
を再開するための情報を復元し,システムプログラム1
3の処理を再開させる。The calling source ring restoration section 17 performs a process of transitioning from a lower ring level to a higher ring level and calling the calling source information restoring section 15. As a result, when the caller information restoration unit 15 is called, the caller information restoration unit 15 restores information for restarting the processing of the system program 13, and
Resume the process in step 3.
【0019】これらにより,システムプログラム13か
らユーザプログラム19への外部リング遷移を実現する
。[0019] Through these, external ring transition from the system program 13 to the user program 19 is realized.
【0020】[0020]
【作用】本発明は,従来のリング間遷移命令が低位から
高位のリングレベルへの遷移命令であり,リング間復帰
命令が低位から高位のリングレベルに復帰する命令であ
ることに着目し,例えば外部リング呼出し部16では,
リング間復帰命令を使用する環境を整えて,リング間遷
移命令が使用されていない状態で,リング間復帰命令を
使用し,ユーザプログラム19からの復帰時には,呼出
し元リング復帰部17において,逆にリング間遷移命令
を用いて,高位のリングレベルに復帰するようにしたも
のである。動作は以下のとおりである。[Operation] The present invention focuses on the fact that the conventional inter-ring transition instruction is a transition instruction from a lower level to a higher ring level, and the inter-ring return instruction is an instruction for returning from a lower level to a higher ring level. In the external ring calling unit 16,
Prepare an environment for using the inter-ring return instruction, use the inter-ring return instruction in a state where the inter-ring transition instruction is not used, and when returning from the user program 19, the calling ring return unit 17 An inter-ring transition instruction is used to return to a higher ring level. The operation is as follows.
【0021】呼出し元プログラムであるシステムプログ
ラム13の再開情報を,呼出し元情報退避部14によっ
てシステム域に退避し,外部リング呼出し部16を用い
て,ユーザプログラム呼出し部18を呼び出し,これに
より,ユーザプログラム19を起動する。ユーザプログ
ラム19からの復帰後,ユーザプログラム呼出し部18
から呼出し元リング復帰部17を呼び出し,一意に呼出
し元情報復元部15に制御を渡すようにする。The restart information of the system program 13, which is the calling program, is saved in the system area by the calling source information saving section 14, and the user program calling section 18 is called using the external ring calling section 16. Start program 19. After returning from the user program 19, the user program calling unit 18
The caller ring recovery unit 17 is called from the caller ring recovery unit 17, and control is uniquely passed to the caller information restoration unit 15.
【0022】したがって,低位のリングレベルで動作す
るユーザプログラム19を,これらの外部リング呼出し
機構で起動した場合に,一意に呼出し元であるシステム
プログラム13に制御が渡ることになり,悪意を持つプ
ログラムが存在しても,不当なアクセスレベルをユーザ
プログラムに割り当てることを防止して,外部リング呼
出し,すなわち高位のリングレベルから低位のリングレ
ベルのプログラムを動作させ,かつ復帰時のリングレベ
ルを保証することが可能になる。[0022] Therefore, when the user program 19 that operates at a lower ring level is started using these external ring call mechanisms, control is uniquely passed to the system program 13 that is the caller, and a malicious program prevents assigning an unreasonable access level to a user program even if a becomes possible.
【0023】[0023]
【実施例】図2は本発明の実施例による低位リングへの
遷移例を示す図,図3は本発明の実施例による低位リン
グからの復帰例を示す図である。以下,図2および図3
に示す■〜■に従って,本発明の実施例を説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 2 is a diagram showing an example of transition to a lower ring according to an embodiment of the present invention, and FIG. 3 is a diagram showing an example of returning from a lower ring according to an embodiment of the present invention. Below, Figures 2 and 3
Embodiments of the present invention will be described according to items ① to ② shown in .
【0024】■ システムプログラム13は,低位リ
ングレベルで動作するユーザプログラム19を呼び出す
場合,呼出し元情報退避部14を呼び出す。呼出し元情
報退避部14は,以下の処理を行う。(a) 外部リン
グ呼出しが行われることを所定のシステム領域21に記
録する。すなわち,退避情報有効表示を“有効”に設定
する。このシステム領域21は,低位リングレベルのプ
ログラムからは更新できない領域である。(2) When the system program 13 calls the user program 19 operating at the lower ring level, the system program 13 calls the caller information saving unit 14. The calling source information saving unit 14 performs the following processing. (a) Record in a predetermined system area 21 that an external ring call will be made. That is, the save information valid display is set to "valid". This system area 21 is an area that cannot be updated from a lower ring level program.
【0025】(b) 次に,呼出し元プログラムである
システムプログラム13の復帰アドレスと,CPUレジ
スタ群をシステム領域21に退避する。
(c) その後,外部リング呼出し部16を起動する。(b) Next, the return address of the system program 13, which is the calling program, and the CPU register group are saved in the system area 21. (c) After that, start the external ring calling section 16.
【0026】■ 外部リング呼出し部16は,呼出し
元情報退避部14によって呼び出されたならば,以下の
処理を行う。(a) スタック(図示省略)にリング間
遷移命令で形成される形式に従い,呼出し先リングレベ
ル情報とユーザプログラム呼出し部18の実行アドレス
情報とを設定する。この設定により,実際にはリング間
遷移命令を使用していないが,リング間遷移命令を使用
して,まだ復帰命令を使用していないような状態になる
。[0026] When the external ring calling unit 16 is called by the calling source information saving unit 14, it performs the following processing. (a) Set the call destination ring level information and the execution address information of the user program calling unit 18 in the stack (not shown) according to the format formed by the inter-ring transition instructions. With this setting, although the inter-ring transition instruction is not actually used, the inter-ring transition instruction is used and it becomes as if the return instruction has not yet been used.
【0027】(b) リング間復帰命令を用いることに
より,呼出し先プログラムのユーザプログラム呼出し部
18に制御を渡す。ここで,高位のリングレベルから低
位のリングレベルへの遷移が行われる。(b) Transfer control to the user program calling unit 18 of the called program by using an inter-ring return instruction. Here, a transition is made from a higher ring level to a lower ring level.
【0028】■ ユーザプログラム呼出し部18は,
通常のサブルーチン呼出し命令を用いて,目的とするユ
ーザプログラム19を起動する。これにより,ユーザプ
ログラム19が,低位のリングレベルで動作することに
なる。■ The user program calling unit 18:
The target user program 19 is started using a normal subroutine call instruction. This causes the user program 19 to operate at a lower ring level.
【0029】■ ユーザプログラム19が発行するサ
ブルーチン復帰命令により,ユーザプログラム呼出し部
18に制御が渡ったならば,ユーザプログラム呼出し部
18は,呼出し元リング復帰部17を呼び出す。■ When control is passed to the user program calling unit 18 by a subroutine return command issued by the user program 19, the user program calling unit 18 calls the calling ring return unit 17.
【0030】■ リング遷移ベクタテーブル22には
,あらかじめシステムプログラム13のリングレベルと
呼出し元情報復元部15とを登録しておく。呼出し元リ
ング復帰部17は,このリング遷移ベクタテーブル22
のエントリを指定して,これに登録された呼出し元情報
復元部15をリング間遷移命令で呼び出す。これにより
,低位のリングレベルから高位のリングレベルへの遷移
がなされることになる。■ In the ring transition vector table 22, the ring level of the system program 13 and the caller information restoration section 15 are registered in advance. The calling ring return unit 17 uses this ring transition vector table 22.
The caller information restoring unit 15 registered in this entry is called with an inter-ring transition command. This results in a transition from a lower ring level to a higher ring level.
【0031】■ 呼出し元情報復元部15は,呼出し
元リング復帰部17から起動されると,以下の処理を行
う。(a) システム領域21を参照し,退避情報が有
効であるかどうかを検査する。“有効”でない場合,す
なわち以前に外部リング呼出しが行われていなければ,
呼出しを不当とし,リング間復帰命令によりエラー復帰
する。またはシステムプログラム13への遷移要求を無
視する。[0031] When the caller information restoration unit 15 is activated by the caller ring recovery unit 17, it performs the following processing. (a) Refer to the system area 21 and check whether the save information is valid. If not “valid”, i.e. no external ring call was made previously, then
The call is considered invalid and an error is returned using the inter-ring return instruction. Alternatively, the transition request to the system program 13 is ignored.
【0032】(b) 退避情報が“有効”であれば,呼
出し元プログラムの退避情報を復元して,呼出し元であ
るシステムプログラム13に制御を渡す。以上のように
,リング間復帰命令,リング間遷移命令というように,
これらの命令を逆の順番で用いることにより,高位から
低位のリングレベルに遷移させ,そこから復帰させるこ
とが可能になる。したがって,ルーティング処理等をカ
ーネルプログラム12ではなく,ユーザプログラム19
と同じ空間11で動作させ,これらの機能を高位のリン
グレベルによるシステムプログラム13によって実現す
ることが可能になる。(b) If the saved information is "valid", the saved information of the calling program is restored and control is passed to the system program 13 that is the calling source. As mentioned above, inter-ring return instructions, inter-ring transition instructions, etc.
By using these instructions in the reverse order, it is possible to transition from a higher ring level to a lower ring level and back from there. Therefore, routing processing etc. are not performed by the kernel program 12 but by the user program 19.
These functions can be realized by a system program 13 at a higher ring level.
【0033】[0033]
【発明の効果】以上説明したように,本発明によれば,
空間固有域内のシステムプログラムが,より低位のリン
グレベルで動作するユーザプログラムを呼び出すことが
できるため,空間内でのシステムサービス機能に柔軟性
を持たせ,豊富な機能を提供することが可能になり,機
能向上に寄与するところが大きい。[Effect of the invention] As explained above, according to the present invention,
System programs within a space-specific area can call user programs that operate at a lower ring level, making it possible to provide flexibility in system service functions within a space and provide a wealth of functionality. , it greatly contributes to improved functionality.
【図1】本発明の原理説明図である。FIG. 1 is a diagram explaining the principle of the present invention.
【図2】本発明の実施例による低位リングへの遷移例を
示す図である。FIG. 2 is a diagram illustrating an example of transition to a lower ring according to an embodiment of the present invention.
【図3】本発明の実施例による低位リングからの復帰例
を示す図である。FIG. 3 is a diagram illustrating an example of return from a lower ring according to an embodiment of the present invention.
【図4】本発明に関係するリング保護機構説明図である
。FIG. 4 is an explanatory diagram of a ring protection mechanism related to the present invention.
【図5】従来技術の問題点説明図である。FIG. 5 is a diagram illustrating problems in the prior art.
10 処理装置
11 空間
12 カーネルプログラム
13 システムプログラム
14 呼出し元情報退避部
15 呼出し元情報復元部
16 外部リング呼出し部
17 呼出し元リング復帰部
18 ユーザプログラム呼出し部19 ユ
ーザプログラム10 Processing device 11 Space 12 Kernel program 13 System program 14 Calling source information saving section 15 Calling source information restoring section 16 External ring calling section 17 Calling source ring recovery section 18 User program calling section 19 User program
Claims (2)
行制限・記憶保護機能を持つ計算機システムにおけるリ
ングレベル制御を行う処理装置において,呼出し元プロ
グラムが呼び出した低位のリングレベルのプログラムか
ら復帰した後に必要となる呼出し元プログラムの処理を
再開するための情報を退避する呼出し元情報退避部(1
4)と,呼出し元プログラムの処理を再開するための情
報を復元し,呼出し元プログラムの処理を再開させる呼
出し元情報復元部(15)と,前記呼出し元情報退避部
(14)によって呼び出されることにより,高位のリン
グレベルから低位のリングレベルに遷移するようにプロ
グラムを起動する外部リング呼出し部(16)と,低位
のリングレベルから高位のリングレベルに遷移して前記
呼出し元情報復元部(15)を呼び出す呼出し元リング
復帰部(17)と,前記外部リング呼出し部(16)か
らの起動により,通常の呼出し命令によってユーザプロ
グラム(19)を呼び出すと共に,ユーザプログラム(
19)からの復帰後に,前記呼出し元リング復帰部(1
7)を呼び出すユーザプログラム呼出し部(18)とを
備え,高位のリングレベルにある呼出し元プログラムか
ら,前記呼出し元情報復元部(15)を呼び出すことに
より,低位のリングレベルにあるユーザプログラム(1
9)に遷移するようにしたことを特徴とする外部リング
遷移を行う処理装置。[Claim 1] In a processing device that performs ring level control in a computer system that has a program execution restriction and memory protection function using a ring protection mechanism, it is necessary after a calling program returns from a lower ring level program that it called. A caller information save unit (1) that saves information for restarting the process of the caller program.
4), a caller information restoring unit (15) that restores information for restarting the process of the caller program and restarting the process of the caller program, and being called by the caller information saving unit (14). The external ring calling unit (16) starts the program to transition from a higher ring level to a lower ring level, and the caller information restoration unit (15) transitions from a lower ring level to a higher ring level. ) and the external ring calling unit (16), the user program (19) is called by a normal call command, and the user program (
19), the calling ring return unit (19) returns from
A user program calling unit (18) that calls a user program (18) located at a lower ring level by calling the calling source information restoration unit (15) from a calling program located at a higher ring level.
9) A processing device for performing external ring transition, characterized in that the transition is made to:
行制限・記憶保護機能を持つ計算機システムにおけるリ
ング遷移処理方法において,高位のリングレベルで動作
するプログラムから呼出し元情報を退避する呼出し元情
報退避部(14)を呼び出す過程と,呼出し元情報退避
部(14)により呼出し元プログラムの処理を再開する
ための情報を退避する過程と,呼出し元情報退避部(1
4)から外部リング呼出し部(16)を起動する過程と
,外部リング呼出し部(16)により高位のリングレベ
ルから低位のリングレベルに遷移してユーザプログラム
呼出し部(18)を呼び出す過程と,ユーザプログラム
呼出し部(18)によりユーザプログラム(19)を呼
び出し,ユーザプログラム(19)からの復帰時に呼出
し元リング復帰部(17)を呼び出す過程と,呼出し元
リング復帰部(17)により低位のリングレベルから高
位のリングレベルに遷移して呼出し元情報復元部(15
)を呼び出す過程と,呼出し元情報復元部(15)によ
り呼出し元プログラムの処理を再開するための情報を復
元し,呼出し元プログラムの処理を再開させる過程とを
有し,高位のリングレベルにある呼出し元プログラムか
ら,低位のリングレベルにあるユーザプログラム(19
)を呼び出すことを特徴とする外部リング遷移を行う処
理方法。Claim 2: In a ring transition processing method in a computer system having a program execution restriction/memory protection function using a ring protection mechanism, a caller information saving unit (14) that saves caller information from a program operating at a higher ring level is provided. ), a process of saving information for restarting the processing of the calling program by the calling source information saving section (14), and a process of calling the calling source information saving section (14).
4), the process of activating the external ring calling unit (16), the process of transitioning from a higher ring level to a lower ring level by the external ring calling unit (16) and calling the user program calling unit (18), and The process of calling the user program (19) by the program calling unit (18) and calling the calling ring return unit (17) when returning from the user program (19), and the process of calling the calling ring return unit (17) at a lower ring level. to a higher ring level, and the caller information restoration unit (15
), and a process of restoring information for restarting the processing of the calling program by the calling source information restoration unit (15), and restarting the processing of the calling program, and is located at a higher ring level. From the calling program to the user program at the lower ring level (19
) is a processing method for performing an external ring transition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4931791A JPH04284555A (en) | 1991-03-14 | 1991-03-14 | Processor and processing method for executing outside ring transition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4931791A JPH04284555A (en) | 1991-03-14 | 1991-03-14 | Processor and processing method for executing outside ring transition |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04284555A true JPH04284555A (en) | 1992-10-09 |
Family
ID=12827590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4931791A Pending JPH04284555A (en) | 1991-03-14 | 1991-03-14 | Processor and processing method for executing outside ring transition |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04284555A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012129A (en) * | 1997-03-31 | 2000-01-04 | International Business Machines Corporation | Apparatus and method allocating virtual memory upon demand |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5741743A (en) * | 1980-08-22 | 1982-03-09 | Toshiba Corp | Electronic computer |
JPS63103330A (en) * | 1986-10-20 | 1988-05-09 | Fujitsu Ltd | Detecting system for misuse of address stack |
JPS6474643A (en) * | 1987-09-17 | 1989-03-20 | Fujitsu Ltd | Execution right transfer control system |
-
1991
- 1991-03-14 JP JP4931791A patent/JPH04284555A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5741743A (en) * | 1980-08-22 | 1982-03-09 | Toshiba Corp | Electronic computer |
JPS63103330A (en) * | 1986-10-20 | 1988-05-09 | Fujitsu Ltd | Detecting system for misuse of address stack |
JPS6474643A (en) * | 1987-09-17 | 1989-03-20 | Fujitsu Ltd | Execution right transfer control system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012129A (en) * | 1997-03-31 | 2000-01-04 | International Business Machines Corporation | Apparatus and method allocating virtual memory upon demand |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7191444B2 (en) | Stream management in a multithreaded environment | |
US6892261B2 (en) | Multiple operating system control method | |
JP3600095B2 (en) | Interrupt management device and interrupt management method | |
US20020161957A1 (en) | Methods and systems for handling interrupts | |
JP2000242512A (en) | Computer executing plural operating systems | |
EP1012715A1 (en) | Data processing unit with hardware assisted context switching capability | |
CN101192192B (en) | Task abnormity diagnosis method and system for real-time operating system | |
US20050251803A1 (en) | Method of performing kernel task upon initial execution of process at user level | |
EP1429246A1 (en) | Apparatus and method for switching mode in a computer system | |
JP2003515805A (en) | Processor system | |
JPH0638237B2 (en) | Data processing system operating in multi-programming mode | |
JPH04284555A (en) | Processor and processing method for executing outside ring transition | |
CN117407054A (en) | Interrupt processing method, electronic device, and storage medium | |
JP2008077388A (en) | Multiprocessor control system, method and program | |
JPH0451329A (en) | Context switching device | |
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
Wickham et al. | Research into the Development of the RHODOS Multi-threaded Microkernel | |
JPS5843043A (en) | Call instruction system for data processor | |
JPH05265846A (en) | Memory managing system | |
JP3581723B2 (en) | Conversation information control device | |
JPH02501515A (en) | Reduced impact of processor blocking | |
JPH08328883A (en) | System program calling method | |
JPH01118932A (en) | Information processor | |
JPS6353650A (en) | Computer | |
JPH10247161A (en) | Memory management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970128 |