JPH01133141A - Multiprogram process system - Google Patents

Multiprogram process system

Info

Publication number
JPH01133141A
JPH01133141A JP62292954A JP29295487A JPH01133141A JP H01133141 A JPH01133141 A JP H01133141A JP 62292954 A JP62292954 A JP 62292954A JP 29295487 A JP29295487 A JP 29295487A JP H01133141 A JPH01133141 A JP H01133141A
Authority
JP
Japan
Prior art keywords
event
queue
semaphore
input
subsystem
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
JP62292954A
Other languages
Japanese (ja)
Inventor
Shigezo Mikoyama
三箇山 茂三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP62292954A priority Critical patent/JPH01133141A/en
Publication of JPH01133141A publication Critical patent/JPH01133141A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To shorten the switching time of both states by forming software so that transfer from an idle state to a process execution state is executed by an event of an I/O subsystem and the event is executed through an event reporting semaphore. CONSTITUTION:When the process execution state is switched to the idle state having no process in operating or capable of operating in a central processing subsystem 21, the existence of an event is checked, and when there is no event, an I/O even reporting semaphore is accessed to check the existence of a queue. When there is no queue, the event is continuously waited, but when the queue exists, the leading process name of the queue is compared with the preceding process name, and only when both the names are different from each other, the preceding process name is updated and a value is inputted from a PCB register area of the process to hardware. When an event is generated, the idle state can be quickly switched to the process execution state because the value has been already inputted in the register.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に複数のセマフォアを
有し、セマファを介して入出力サブシステムのイベント
とイベントに付随するメツセージを中央処理サブシステ
ム中の複数のプロセスの1つに移送するマルチプログラ
ムプロセス方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device, and more particularly, to an information processing device having a plurality of semaphores, and transmitting events of an input/output subsystem and messages accompanying the events to a central processing subsystem via the semaphores. The present invention relates to a multi-program process scheme for transporting to one of multiple processes in a system.

(従来の技術) 従来、マルチプログラムプロセス方式の情報処理装置は
、入出力サブシステム中のイベントをプロセスに移送し
た後、プロセスを動作苛能とし、その後レジスタのロー
ドを行っていた(例えば特公昭50−11733号公報
)。
(Prior Art) Conventionally, an information processing device using a multi-program process method transfers an event in an input/output subsystem to a process, makes the process functional, and then loads registers (for example, in the 50-11733).

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

上述した従来の方式では、イベントの移送の後にレジス
タのロードを行うので、プロセスが起動されるまでに長
時間必要になるという欠点がある。
The conventional method described above has the disadvantage that it takes a long time to start a process because the registers are loaded after the event is transferred.

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

本発明のマルチプログラムプロセス方式は、複数のセマ
フォアのうち、1つの定められた入出力イベント報告用
セマフォアに関して、中央処理サブシステムヒで動作中
あるいは動作可能なプロセスが存在せず、かつ、入出力
イベント報告用セマフォア上で待ち状態となっているプ
ロセスが存在する場合に、前記入出力イベント報告用セ
マフォア上のプロセスの待ち行列の先頭のプロセスのレ
ジスタのロードを先行して行うものである。
In the multi-program process method of the present invention, there is no process running or capable of operating in the central processing subsystem regarding one predetermined input/output event reporting semaphore among a plurality of semaphores, and the input/output When there is a process waiting on the event reporting semaphore, the registers of the process at the head of the process queue on the input/output event reporting semaphore are loaded in advance.

〔作用〕[Effect]

PCBからのレジスタのロードを先行して行うのでプロ
セスが起動されるまでの時間が短くなる。
Since the registers are loaded from the PCB in advance, the time until the process is started is shortened.

(実施例〕 次に、本発明の実施例について図面を参照して説明する
(Example) Next, an example of the present invention will be described with reference to the drawings.

第1図は本発明のマルチプログラムプロセス方式の−・
実施例の流れ図、第2図は情報処理装置の構成図、第3
図はセマフォアおよびセマフォア上のプロセスの待ち行
列の模式図、第4図はプロセス制御ブロック(以降PC
Bと呼ぶ)の模式図である。
Figure 1 shows the multi-program process method of the present invention.
Flow chart of the embodiment; Figure 2 is a configuration diagram of the information processing device; Figure 3 is a diagram of the configuration of the information processing device;
The figure is a schematic diagram of a semaphore and the queue of processes on the semaphore, and Figure 4 is a process control block (hereinafter referred to as PC
(referred to as B) is a schematic diagram.

本実施例の情報処理装置は、第2図に示すように、中央
処理サブシステム21と入出力サブシステム22と主記
憶装置23から構成される。中央処理サブシステム21
上のプロセスは、0000 n+、+からF F F 
E Llr、+までの一意的な泡面を持つ。
The information processing apparatus of this embodiment is comprised of a central processing subsystem 21, an input/output subsystem 22, and a main storage device 23, as shown in FIG. Central processing subsystem 21
The above process is 0000 n+, + to F F F
E Llr, with a unique foam surface up to +.

第3図に示すようにセマフォア31は、主記憶装置23
−ヒに置かれ、セマフォアカウント最大値(SMC)3
11.セマフォアカウンタ(SCT)311、プロセス
待ち行列先頭ポインタ(PQHP)312とからなり、
プロセス待ち行列先頭ポインタ312は、該当セマフォ
ア上のプロセスの待ち行列を指示する。第3図の例では
、待ち行列に2つのプロセスが入っており、プロセスリ
ンク32のネクストリンク(NL)321は次のプロセ
スリンクを指示し、プロセス名322を含む。プロセス
リンク33のNLフィールド33!は0となり次のプロ
セスリンクがないことを示す。待ち行列が存在しない場
合PQHPフィールドは0となる。
As shown in FIG. 3, the semaphore 31
- placed in
11. It consists of a semaphore counter (SCT) 311 and a process queue head pointer (PQHP) 312.
The process queue head pointer 312 indicates the queue of the process on the corresponding semaphore. In the example of FIG. 3, there are two processes in the queue, and the next link (NL) 321 of the process link 32 points to the next process link and includes a process name 322. NL field 33 of process link 33! becomes 0, indicating that there is no next process link. If no queue exists, the PQHP field will be 0.

中央処理サブシステム21は、複数のプロセスを管理す
るために、第4図に示すように、プロセス毎にPCBを
主記憶装置23上に有する。PCBにはプロセス制御情
報41とレジスタ退避領域42が含まれ、実行中でない
プロセスのレジスタはPCB上で管理される。また、中
央処理サブシステム21は、入出力イベントをソフトウ
ェアへ報告するために定められた入出力イベント報告用
セマフォア(図示せず)と有している。
In order to manage a plurality of processes, the central processing subsystem 21 has a PCB for each process on the main storage device 23, as shown in FIG. The PCB includes process control information 41 and register save area 42, and registers of processes that are not being executed are managed on the PCB. The central processing subsystem 21 also includes an input/output event reporting semaphore (not shown) defined for reporting input/output events to software.

次に、本実施例の動作について第1図を参照しながら説
明する。
Next, the operation of this embodiment will be explained with reference to FIG.

中央処理サブシステム21上で動作中あるいは動作可能
なプロセスが存在しない状態をアイドル状態と呼ぶ。ア
イドル状態に中央処理サブシステム21が移入すると(
ステップ+1) 、先行プロセス名にF F F F 
(16+がセットされ(ステップ12)だ上で、イベン
ト待ちのループ状態に移入する。
A state in which there is no process running or capable of operating on the central processing subsystem 21 is called an idle state. When the central processing subsystem 21 enters the idle state (
Step +1), F F F F in the preceding process name
(16+ is set (step 12)) and then enters a loop state waiting for an event.

F F F F tls、は、プロセス名としては存在
しえない値である。イベント待ちのループ状態に移入す
ると、イベントが存在するかどうかを調べる(ステップ
13)。イベントが存在しない場合を先に説明する。
F F F F tls is a value that cannot exist as a process name. When entering the loop state of waiting for an event, it is checked whether an event exists (step 13). The case where no event exists will be explained first.

イベントが存在しない場合、入出力イヘント報告用セマ
フォアへアクセスしくステップ14)、待ち行列が存在
するかどうか調べ(ステップ15)、待ち行列がなけれ
ばステップ13へ戻る。待ち行列があれば、待ち行列の
先頭のプロセス名と先行プロセス名を比較する(ステッ
プ16)。先行プロセス名は、ステップ12でF F 
F F (+61がセットされているため、1回目のル
ープでは必ず等しくない。等しい場合はステップ13へ
戻る。等しくない場合は、先行プロセス名を待ち行列の
先頭のプロセス名に等しくセットしくステップ17)、
該当プロセスのPCBのレジスタ退避領域42からハー
ドウェア内に値を取り込み(ステップ18)、ステップ
13へ戻る。次のループでは、通常、待ち行列の先頭の
プロセス名と先行プロセス名が等しいため、レジスタの
ロードは、毎回性われるわけではない。次に、イベント
が発生すると、イベント待ちのループから抜は出し、イ
ベントに対する処理が行われる(ステップ19)。その
結果5イベント待ちのプロセスが実行可能に変わったか
どうかを調べる(ステップIへ)。実行可能にならなけ
れば、ステップ13へ戻る。実行可能となったプロセス
が存在すると、そのプロセス名と先行プロセス名を比較
する(ステップIB)。等しくない゛場合は、実行可能
となったプロセスのPCBのレジスタ退避領域42より
、ハードウェアにその値を取り込み(ステップIC)、
プロセス実行状態に移入する。
If there is no event, access the semaphore for input/output event reporting (step 14), check whether a queue exists (step 15), and if there is no queue, return to step 13. If there is a queue, the name of the process at the head of the queue is compared with the name of the preceding process (step 16). The preceding process name is set to F F in step 12.
F ),
The value is fetched into the hardware from the register save area 42 of the PCB of the relevant process (step 18), and the process returns to step 13. In the next loop, the name of the process at the head of the queue and the name of the preceding process are usually the same, so the register is not loaded every time. Next, when an event occurs, the event waiting loop is exited and processing for the event is performed (step 19). As a result, it is checked whether the process waiting for 5 events has become executable (go to step I). If it does not become executable, return to step 13. If an executable process exists, the process name is compared with the preceding process name (step IB). If they are not equal, the value is imported into the hardware from the register save area 42 of the PCB of the executable process (step IC),
Populate the process execution state.

等しい場合は、既にハードウェアにレジスタの値が取り
込まれているため、レジスタの取り込みを行わずプロセ
ス実行状態に移入する。
If they are equal, the register value has already been loaded into the hardware, so the register is not loaded and the process execution state is entered.

(発明の効果〕 以上説明したように本発明は、PCBからのレジスタの
ロードを先行して行い、通常、アイドル状態からプロセ
ス実行状態への移入が入出力サブシステムからのイベン
トによることと、該当イベントが、入出カイベント報告
用セマフォアを介してプロセスに移送される様、ソフト
ウェアを作成することにより、アイドル状態から、プロ
セス実行状態への切り換えをより短時間に行うことがで
きる効果がある。
(Effects of the Invention) As explained above, the present invention loads registers from the PCB in advance, and normally transitions from the idle state to the process execution state by an event from the input/output subsystem. By creating software so that events are transferred to processes via input/output event reporting semaphores, it is possible to switch from an idle state to a process execution state in a shorter time.

また、入出力イベント報告用セマフォアを介さないイベ
ントが発生し、プロセスへの移送を行う場合も、性能へ
の悪影響がほとんどない。
Furthermore, even if an event occurs that does not go through the input/output event reporting semaphore and is transferred to a process, there is almost no negative impact on performance.

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

第1図は、本発明のマルチプログラムプロセス方式の一
実施例の流れ図、第2図は情報処理装置の構成図、第3
図はセマフォアおよびセマフォアトのプロセスの待ち行
列の模式図、第4図はプロセス制御ブロックの模式図で
ある。 21・・・・・・中央処理サブシステム、22・・・・
・・入出力サブシステム、23・・・・・・主記憶装置
、 31・・・・・・セマフォア、 32.33・・・プロセスリンク、 41・・・・・・プロセス制御情報、 42・・・・・・レジスタ退避領域。
FIG. 1 is a flowchart of an embodiment of the multi-program process method of the present invention, FIG. 2 is a configuration diagram of an information processing device, and FIG.
The figure is a schematic diagram of a semaphore and semaphore at process queue, and FIG. 4 is a schematic diagram of a process control block. 21...Central processing subsystem, 22...
...I/O subsystem, 23...Main storage device, 31...Semaphore, 32.33...Process link, 41...Process control information, 42... ...Register save area.

Claims (1)

【特許請求の範囲】 複数のセマフォアを有し、前記セマフォアを介して、入
出力サブシステムのイベントと該イベントに付随するメ
ッセージを中央処理サブシステム中の複数のプロセスの
1つに移送するマルチプログラムプロセス方式において
、 前記複数のセマフォアのうち、1つの定められた入出カ
イベント報告用セマフォアに関して、前記中央処理サブ
システム上で動作中あるいは動作可能なプロセスが存在
せず、かつ前記入出力イベント報告用セマフォア上で待
ち状態となっているプロセスが存在する場合に、前記入
出カイベント報告用セマフォア上のプロセスの待ち行列
の先頭のプロセスのレジスタのロードを先行して行うこ
とを特徴とするマルチプログラムプロセス方式。
Claims: A multiprogram having a plurality of semaphores through which events of an input/output subsystem and messages associated with the events are transported to one of a plurality of processes in a central processing subsystem. In the process method, there is no process running or capable of operating on the central processing subsystem with respect to one predetermined input/output event reporting semaphore among the plurality of semaphores, and the input/output event reporting semaphore A multi-program characterized in that, when there is a process in a waiting state on the semaphore, the register of the process at the head of the queue of the process on the input/output event reporting semaphore is loaded in advance. Process method.
JP62292954A 1987-11-18 1987-11-18 Multiprogram process system Pending JPH01133141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62292954A JPH01133141A (en) 1987-11-18 1987-11-18 Multiprogram process system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62292954A JPH01133141A (en) 1987-11-18 1987-11-18 Multiprogram process system

Publications (1)

Publication Number Publication Date
JPH01133141A true JPH01133141A (en) 1989-05-25

Family

ID=17788575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62292954A Pending JPH01133141A (en) 1987-11-18 1987-11-18 Multiprogram process system

Country Status (1)

Country Link
JP (1) JPH01133141A (en)

Similar Documents

Publication Publication Date Title
KR970016979A (en) Queuing system and method of tasks in a multiprocessing system
EP0335990B1 (en) Processor-processor synchronization
JPH01133141A (en) Multiprogram process system
JPH01133142A (en) Multiprogram process system
JP2947195B2 (en) Interrupt mask control method
JP2872042B2 (en) Shared memory access method
JPH02139630A (en) Online task exchange device
JPH07325800A (en) Data flow processor
JPS6125249A (en) Exclusive control system
JP2673534B2 (en) Parallel distributed processing system
JPH04107672A (en) Microprocessor
JPH0752393B2 (en) Data processing device
JPS6063662A (en) Multiprocessor system
JPH0298744A (en) Interruption processing system
JPH10171670A (en) Task switching device and medium recording task switching program
JPS61166631A (en) Microprogram control processor
JPH02113363A (en) Time slice controlling system for multiprocessor system
JPS61187044A (en) Information processor
JPS62119663A (en) Information processing unit
JPH06282353A (en) Timer device having time shortening function
JPH04365141A (en) Program re-execution system
JP2002015377A (en) Display operation instrument
JPH1124941A (en) Method and device for instruction execution control
JPS63128441A (en) State transition control system
JPH06259376A (en) Data transfer device