Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6365977B2 - - Google Patents
[go: Go Back, main page]

JPS6365977B2 - - Google Patents

Info

Publication number
JPS6365977B2
JPS6365977B2 JP56019942A JP1994281A JPS6365977B2 JP S6365977 B2 JPS6365977 B2 JP S6365977B2 JP 56019942 A JP56019942 A JP 56019942A JP 1994281 A JP1994281 A JP 1994281A JP S6365977 B2 JPS6365977 B2 JP S6365977B2
Authority
JP
Japan
Prior art keywords
control information
table memory
memory
communication information
group
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.)
Expired
Application number
JP56019942A
Other languages
Japanese (ja)
Other versions
JPS57134753A (en
Inventor
Masanori Hirano
Masao Togawa
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.)
NTT Inc
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 JP56019942A priority Critical patent/JPS57134753A/en
Publication of JPS57134753A publication Critical patent/JPS57134753A/en
Publication of JPS6365977B2 publication Critical patent/JPS6365977B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

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

Description

【発明の詳細な説明】 本発明は、スケジユーリング制御方式、特に複
数のプロセスが相互に通信を行いつつデータ処理
を実行するシステムにおけるスケジユーリング制
御を一部ハードウエア処理にゆだねるようにした
スケジユーリング制御方式に関するものである。
[Detailed Description of the Invention] The present invention provides a scheduling control method, in particular, a system in which a plurality of processes execute data processing while communicating with each other, in which part of the scheduling control is entrusted to hardware processing. This invention relates to a scheduling control method.

従来のデータ処理システムでは、プログラムが
ハードウエア資源あるいはソフトウエア資源(タ
スクなどのプログラムブロツク)にアクセスする
場合、各資源の管理プログラムに処理依頼を行
い、管理プログラムの実行を通して資源にアクセ
スしている。アクセスするプログラムが複数存在
する場合には、アクセスするプログラムと管理プ
ログラムとの間にキユーを設け、アクセス要求発
生時アクセス要求事象をキユーに連結し、管理プ
ログラムはその要求事象をキユーから逐次取り出
し処理を実行する。例えばプログラムがタスクに
対して処理要求を行なう場合、要求事象がタスク
キユーに連結され、タスクデイスパツチヤ(タス
ク資源の管理プログラム)の実行によりタスクキ
ユーから要求事象を取り出し、要求事象を実行す
るタスクを起動する。また、プログラムがI/O
装置に対してアクセス要求を行う場合、要求事象
がI/Oキユーに連結され、入出力スケジユーラ
(I/O装置資源の管理プログラム)の実行によ
りI/Oキユーから要求事象を取り出し、要求事
象を実行する入出力プログラムを起動する。従来
前記動作は全てソフトウエアで行われ、また、各
資源のスケジユーリング制御は互いに独立に行つ
ているが、これらの動作はデータ処理を行う場合
のオーバヘツドであつて低減する必要がある。
In conventional data processing systems, when a program accesses hardware or software resources (program blocks such as tasks), it requests processing from the management program for each resource, and accesses the resources through the execution of the management program. . If there are multiple programs to access, a queue is set up between the accessing program and the management program, and when an access request occurs, the access request event is linked to the queue, and the management program sequentially retrieves the request event from the queue and processes it. Execute. For example, when a program makes a processing request to a task, the request event is linked to the task queue, the task dispatcher (task resource management program) is executed, the request event is retrieved from the task queue, and the task that executes the request event is activated. . Also, if the program is I/O
When making an access request to a device, the request event is linked to the I/O queue, and the input/output scheduler (I/O device resource management program) is executed to extract the request event from the I/O queue and process the request event. Start the input/output program to be executed. Conventionally, all of the above operations are performed by software, and the scheduling control of each resource is performed independently of each other, but these operations are an overhead when performing data processing and need to be reduced.

本発明は、前記の欠点を解決するため、各資源
のキユーに対応する部分をS表メモリ上にマトリ
ツクス構成に配置して集中的に管理するととも
に、S表メモリをハードウエアで実現し、さらに
S表メモリに対しプロセスの登録、消去及び次に
実行するプロセスの検索を行う手段(命令)を設
け、この手段を用いてプロセスのスケジユーリン
グ管理を行うことを特徴とし、その目的はスケジ
ユーリングオーバヘツドの削減にある。
In order to solve the above-mentioned drawbacks, the present invention centrally manages the parts corresponding to the queues of each resource by arranging them in a matrix configuration on the S-table memory, and also realizes the S-table memory with hardware. It is characterized by providing a means (instruction) for registering and deleting processes in the S table memory and searching for the next process to be executed, and using this means to manage the scheduling of processes. The goal is to reduce ring overhead.

第1図は本発明のスケジユーリング制御方式の
概念図であつて、1はプロセス識別番号(QN)
と処理実行優先度番号(LN)とでアドレスされ
るm行n行のマトリツクス構成のS表メモリ、2
は連結されているメツセージ個数を示すカウント
部(CNT)と先頭のメツセージ位置を示すポイ
ンタ部(PTR)とからなるS表メモリ内の1つ
の情報ブロツク、3は主記憶メモリ(MEM)、
101,102はメツセージ本文、103,10
4はメツセージ本文の先頭主記憶アドレスをさす
部分(MA)と次ポインタブロツクの主記憶アド
レスを格納する部分(PA)とからなるポインタ
ブロツクである。
FIG. 1 is a conceptual diagram of the scheduling control method of the present invention, where 1 is the process identification number (QN).
S-table memory with a matrix configuration of m rows and n rows, which is addressed by a processing execution priority number (LN), 2
3 is one information block in the S table memory consisting of a count section (CNT) indicating the number of connected messages and a pointer section (PTR) indicating the position of the first message; 3 is the main memory memory (MEM);
101, 102 is the message body, 103, 10
4 is a pointer block consisting of a part (MA) pointing to the first main memory address of the message body and a part (PA) storing the main memory address of the next pointer block.

上記S表メモリ1においてQNはアクセス資源
すなわちプロセツサ資源、I/O装置資源、メモ
リ資源、タスク(プログラム)資源等に対応づけ
る。またLNはアクセスする処理プロセスが有す
る実行優先度レベルに対応づける。本発明のスケ
ジユーリング制御方式は、S表メモリとS表メモ
リに対しプロセスの登録、消去及びS表メモリか
ら次に実行するプロセスの検索を行う命令とによ
り、前記各アクセス資源の管理プログラムである
プロセツサスケジユーラ、入出力スケジユーラ、
メモリ割当てスケジユーラ、タスクデイスパツチ
ヤなどが各々有している機能の一部を実現するも
のである。
In the S table memory 1, QN is associated with access resources, ie, processor resources, I/O device resources, memory resources, task (program) resources, etc. Further, the LN is associated with the execution priority level of the processing process to be accessed. In the scheduling control method of the present invention, the management program for each of the access resources uses instructions for registering and deleting processes in the S-table memory and the S-table memory, and searching for the next process to be executed from the S-table memory. A processor scheduler, an input/output scheduler,
It implements some of the functions of a memory allocation scheduler, task dispatcher, etc.

第2図は主記憶メモリに登録された同一QN、
LNに属するポインタブロツク間の連結を示す図
であつて、1はS表メモリ、2はS表メモリ内の
1つの情報ブロツク、3は主記憶メモリ、4は最
も早く登録されたポインタブロツク、6は最も遅
く登録されたポインタブロツク、5は上記ブロツ
ク4と6との中間に登録されたポインタブロツク
である。
Figure 2 shows the same QN registered in main memory,
This is a diagram showing the connections between pointer blocks belonging to LN, where 1 is S table memory, 2 is one information block in S table memory, 3 is main memory memory, 4 is the earliest registered pointer block, and 6 is a diagram showing the connections between pointer blocks belonging to LN. is the pointer block registered the latest, and 5 is the pointer block registered between blocks 4 and 6.

第2図AとBとに示すようにポインタブロツク
間の連結の方法は大別2方式が考えられる。まず
第2図A図示の方式ではS表メモリのPTRは最
も早く登録されたポインタブロツク4をポイント
し、ポインタブロツク間では最も早く登録された
ポインタブロツク4から最も遅く登録されたポイ
ンタブロツク6に向けてポイントをはる方式であ
る。第2図B図示の方式ではS表メモリのPTR
は最も遅く登録されたポインタブロツク6をポイ
ントし、最も遅く登録されたポインタブロツク6
は、最も早く登録されたポインタブロツク4をポ
イントし、そのポインタブロツク間では最も早く
登録されたポインタブロツク4から最も遅く登録
されたポインタブロツク6に向けてポイントをは
る方式である。
As shown in FIGS. 2A and 2B, there are two main methods for connecting pointer blocks. First, in the method shown in FIG. 2A, the PTR of the S table memory points to the earliest registered pointer block 4, and among the pointer blocks, points from the earliest registered pointer block 4 to the latest registered pointer block 6. This is a method of accruing points. In the method shown in Figure 2B, the PTR of S table memory is
points to the latest registered pointer block 6, and points to the latest registered pointer block 6.
The system points to the pointer block 4 that was registered earliest, and points from the pointer block 4 that was registered earliest to the pointer block 6 that was registered latest among the pointer blocks.

次にS表メモリ1に対しプロセスの登録、消去
及びS表メモリから次に実行するプロセスの検索
を行う3種の命令について、以下にその動作を説
明する。第2図に示すようにポインタブロツク間
の連結の方式により上記各命令の動作は若干異る
が、一方式について示せば他は容易に類推できる
のでここでは第2図A図示の方式の場合について
のみ示す。なおポインタブロツクのキユーイン
グ・アルゴリズムはFIFO(First In First Out)
とする。
Next, the operations of three types of instructions for registering and erasing a process in the S-table memory 1, and searching for a process to be executed next from the S-table memory 1 will be explained below. As shown in Fig. 2, the operation of each of the above instructions differs slightly depending on the method of linking between pointer blocks, but if one method is shown, the others can be easily inferred, so here we will discuss the case of the method shown in Fig. 2A. Only shown. The queuing algorithm of the pointer block is FIFO (First In First Out).
shall be.

(1) プロセス登録命令 <オペランド> プロセス識別番号;QN 処理実行優先度番号;LN 登録するメツセージポインタブロツクアドレ
ス;MAP <処理> QN、LNでアドレスされるS表メモリ1の
CNT、PTRを読出し、PTRでアドレスされる
主記憶メモリ3上のメツセージポインタブロツ
クの連結をサーチし、最も遅く登録されたメツ
セージポインタブロツク6のPA部にMAPの値
を書込む。
(1) Process registration command <operand> Process identification number; QN Process execution priority number; LN Message pointer block address to be registered; MAP <process> S table memory 1 addressed by QN and LN
CNT and PTR are read out, the connection of message pointer blocks on the main memory 3 addressed by PTR is searched, and the value of MAP is written in the PA section of the message pointer block 6 that was registered the latest.

QN、LNでアドレスされるS表メモリ1の
CNT部を+1する。
S table memory 1 addressed by QN, LN
Add 1 to the CNT part.

(2) プロセスの消去命令 <オペランド> プロセス識別番号;QN 処理実行優先度番号;LN <処理> QN、LNでアドレスされるS表メモリ1の
PTRを読出し、PTRでアドレスされる主記憶
メモリ3上のメツセージポインタのPA部の内
容をPTRに書込む。
(2) Process deletion command <Operand> Process identification number; QN Process execution priority number; LN <Process> S table memory 1 addressed by QN and LN
The PTR is read and the contents of the PA portion of the message pointer on the main memory 3 addressed by the PTR are written to the PTR.

QN、LNでアドレスされるS表メモリ1の
CNT部を−1する。
S table memory 1 addressed by QN, LN
Decrease the CNT part by 1.

(3) 次に実行するプロセスの検索命令 <オペランド> 次に実行するプロセスが処理を行うメツセー
ジブロツクについての主記憶アドレスを格納す
る汎用レジスタ(GR)番号;J 次に実行するプロセスのプロセス識別番号
(QN)と処理実行優先度番号(LN)とを格納
する汎用レジスタ(GR)番号;I <処理> S表メモリ1をあるアルゴリズム(例えば
QN=1、LN=1からLNの増加方向にQN=
1、LN=mまで行き、次にQN=2として同
様のことをくり返し最終的にQN=n、LN=
mに至る)に従い、CNT≠0なるLN、QNを
検索する。該検索は一度CNT≠0なるLN、
QNを見つけた時点で終る。
(3) Search instruction for the next process to be executed <operand> General-purpose register (GR) number that stores the main memory address of the message block processed by the next process to execute; J Process identification number of the next process to execute (QN) and the processing execution priority number (LN);
From QN=1, LN=1, QN=
1. Go to LN=m, then repeat the same process with QN=2, finally QN=n, LN=
m), search for LN and QN such that CNT≠0. The search is performed once for LN where CNT≠0,
The process ends when QN is found.

検索したQN、LNをIで指定される汎用レ
ジスタGRに格納する。
Store the retrieved QN and LN in the general-purpose register GR specified by I.

検索したQN、LNでアドレスされるS表メ
モリ1内のPTR部の内容をJで指定される汎
用レジスタGRに格納する。
The contents of the PTR section in the S table memory 1 addressed by the searched QN and LN are stored in the general-purpose register GR specified by J.

実際のシステムでは上記3命令のほかにS表メ
モリ1をリセツトする(全てのCNT部をオール
0とする)命令等が必要になるが詳細な説明につ
いては省略する。また、S表メモリ1はCPU内
に設けることを考えて上記各命令の機能を説明し
たが、S表メモリ1は主記憶上に置くことも可能
である。そのとき上記各命令の処理は若干異なる
が容易に類推できるのであらためて説明はしな
い。一例として上記3命令を適用した場合の動作
の流れを第3図に示す。
In an actual system, in addition to the above three instructions, an instruction for resetting the S table memory 1 (setting all CNT sections to all 0s) is required, but a detailed explanation will be omitted. Further, although the functions of each of the above instructions have been explained assuming that the S-table memory 1 is provided in the CPU, the S-table memory 1 can also be placed in the main memory. At this time, the processing of each of the above instructions is slightly different, but since it can be easily inferred, it will not be explained again. As an example, FIG. 3 shows the flow of operations when the above three instructions are applied.

第3図は、本発明のスケジユーリング制御方式
の流れを示すものであり、11,12はスケジユ
ーリングプログラム、13,14,15,16は
S表メモリ関係の命令、17,18はプロセス実
行プログラム、19,20,21はS表メモリ
(一例としてQN=4、LN=4とした。その中に
記した値はCNT部の値)である。また太枠で示
したものは登録、消去の対象となつたQN、LN
を表わし、点線枠で示したものは検索命令により
検索されたQN、LNを表わしている。
FIG. 3 shows the flow of the scheduling control method of the present invention, in which 11 and 12 are scheduling programs, 13, 14, 15, and 16 are instructions related to S table memory, and 17 and 18 are processes. Execution programs 19, 20, and 21 are S table memories (as an example, QN=4 and LN=4. The values written therein are the values of the CNT section). Also, those shown in bold frames are QNs and LNs that were subject to registration or deletion.
, and the dotted line frames represent QNs and LNs searched by the search command.

次に第3図に従いプロセスのスケジユーリング
制御について説明する。ここでは説明の都合上S
表メモリは4×4のマトリツクスで構成されてい
るとする。いまS表メモリは図示19の状態にあ
り、スケジユーリングプログラム11は次に実行
するプロセスの検索動作中にあるとする。この状
態で、スケジユーリングプログラム11で検索命
令13を実行するとS表メモリを実行優先度側に
検索し次に実行すべきプロセス(QN=1、LN
=3)の最新に登録されたポインタブロツク(第
1図の103に相当するもの)のアドレスおよび
その時のQN、LNが汎用レジスタに格納される。
次に上記汎用レジスタに格納されたQN、LNの
内容から、通常の命令(S表メモリ関係以外の命
令)処理により、次に実行するプロセス実行プロ
グラム17の先頭アドレスに分岐する。プロセス
実行プログラム17は上記汎用レジスタに格納さ
れているポインタブロツクのアドレスをもとにメ
ツセージを取り出し所定の処理を実行する。処理
実行中QN=4、LN=1のプロセスの実行要求
が発生すると、プロセス登録のための準備(ポイ
ンタブロツク、メツセージ本文の作成)を行つた
後、登録命令14を実行することによつてS表メ
モリのQN=4、LN=1に登録処理を行う。こ
のときS表メモリは図示20の状態になる。プロ
セス実行プログラムは所定の処理を終了したらス
ケジユーリングプログラム12に制御を渡す。ス
ケジユーリングプログラム12は消去命令15に
より実行が終了したプロセス(例ではQN=1、
LN=3)をS表メモリから消去する。この命令
を行うとS表メモリは図示21の状態になる。同
様にしてS表メモリに対しプロセスの登録、消去
及び次に実行するプロセスをS表メモリから検索
する命令のサポートによりスケジユーリング制御
が行える。
Next, process scheduling control will be explained with reference to FIG. For convenience of explanation, S
It is assumed that the table memory is composed of a 4×4 matrix. Assume that the S table memory is now in the state shown in FIG. 19, and the scheduling program 11 is searching for a process to be executed next. In this state, when the scheduling program 11 executes the search command 13, the S table memory is searched for the execution priority side and the process to be executed next (QN=1, LN
The address of the most recently registered pointer block (corresponding to 103 in FIG. 1) and QN and LN at that time are stored in the general-purpose register.
Next, based on the contents of QN and LN stored in the general-purpose registers, a normal instruction (instructions other than those related to the S table memory) is processed to branch to the start address of the process execution program 17 to be executed next. The process execution program 17 extracts a message based on the address of the pointer block stored in the general-purpose register and executes a predetermined process. When a request to execute a process with QN = 4 and LN = 1 is issued, S Perform registration processing for QN=4 and LN=1 in table memory. At this time, the S table memory is in the state shown in FIG. When the process execution program completes a predetermined process, it passes control to the scheduling program 12. The scheduling program 12 is a process (in the example, QN=1,
LN=3) is deleted from S table memory. When this command is executed, the S table memory becomes in the state shown in 21 in the figure. Similarly, scheduling control can be performed by supporting commands for registering and erasing processes in the S-table memory and retrieving the next process to be executed from the S-table memory.

第4図はS表メモリの一つのハードウエア構成
例であり、31はCPU、32はCPUのS表メモ
リ関係以外の処理ブロツク部分、33はS表メモ
リ、34は主記憶メモリ(MEM)、35はS表
メモリ内の情報(CNT部、PTR部の内容)を記
憶するメモリ、36はメモリ35に対し読出し、
書込アドレスを格納するレジスタ(AR)、37
はメモリ35に書込むデータを保持するレジスタ
(WTDR)、38はメモリ35から読出したデー
タを保持するレジスタ(RDDR)、39,40,
41,42はそれぞれ処理ブロツク部分32から
レジスタ36,37に、レジスタ37からメモリ
35に、メモリ35からレジスタ38、レジスタ
38から処理ブロツク部分32に至るデータ線、
43,44,45はそれぞれレジスタ36,3
7,38にデータのセツトを指示する制御線、4
6,47はそれぞれメモリ35に対しデータの書
込、読出しを指示する制御線、48はレジスタ3
6に格納されたメモリ35のアドレス線である。
FIG. 4 shows an example of the hardware configuration of the S-table memory, where 31 is the CPU, 32 is the CPU processing block other than the S-table memory-related parts, 33 is the S-table memory, 34 is the main memory (MEM), 35 is a memory for storing information in the S table memory (contents of the CNT section and PTR section); 36 is a memory for reading information from the memory 35;
Register (AR) for storing write address, 37
is a register (WTDR) that holds data written to the memory 35; 38 is a register (RDDR) that holds data read from the memory 35; 39, 40,
41 and 42 are data lines from the processing block section 32 to the registers 36 and 37, from the register 37 to the memory 35, from the memory 35 to the register 38, and from the register 38 to the processing block section 32, respectively;
43, 44, and 45 are registers 36 and 3, respectively.
A control line for instructing data setting to 7 and 38, 4
6 and 47 are control lines for instructing the memory 35 to write and read data, respectively; 48 is the register 3;
6 is the address line of the memory 35 stored in the memory 35.

本例ではS表メモリは4×4のマトリツクスで
構成することを考えているので、メモリ35は16
個のアドレスをもつ。メモリ35に対してデータ
の書込み及び読出しを行う動作は、一般に行われ
ている方法と同じで周知の事実であるから説明を
省略する。S表メモリに対しプロセスの登録、消
去及び次に実行するプロセスの検索を行う命令
は、上記以外の命令を実行する処理ブロツク部分
32のハードウエア機能(命令のデコード、メモ
リ35に書込むデータの作成、メモリ35から読
出したデータの操作及びS表メモリ33を制御す
る上記各種信号線43ないし47の制御など)と
S表メモリ33の機能とにより実行される。
In this example, we are considering configuring the S table memory as a 4x4 matrix, so the memory 35 is 16
It has 1 address. The operation of writing and reading data to and from the memory 35 is the same as a commonly used method and is a well-known fact, so a description thereof will be omitted. The instructions for registering and deleting processes in the S table memory and searching for the next process to be executed are executed by the hardware functions of the processing block section 32 that executes instructions other than those mentioned above (decoding of instructions, data writing to the memory 35). creation, manipulation of data read from the memory 35, control of the various signal lines 43 to 47 that control the S table memory 33, etc.) and the functions of the S table memory 33.

以上説明したように、本発明によれば、複数の
プロセスが相互に通信を行いつつデータ処理を行
うシステムにおいて、種々のプロセス実行要求に
対しS表メモリを用い一元的なスケジユーリング
制御を行うようにしている。このために従来ソフ
トウエア制御によつて各資源対応に独立なアルゴ
リズムにより制御されていたスケジユーリング制
御のかなりの部分を統一的にかつ高速に処理する
ことが可能となる。
As described above, according to the present invention, in a system in which a plurality of processes perform data processing while communicating with each other, unified scheduling control is performed using S table memory for various process execution requests. That's what I do. Therefore, it becomes possible to uniformly and quickly process a considerable part of the scheduling control, which was conventionally controlled by software control using independent algorithms for each resource.

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

第1図は本発明のスケジユーリング制御方式の
概念図、第2図はポインタブロツク間の連結を示
す説明図、第3図は本発明のスケジユーリング制
御方式の流れ図、第4図はS表メモリの一実施例
ハードウエア構成例を示す。 図中、1はS表メモリ、2はS表メモリ内の1
つの情報ブロツク、3は主記憶メモリ、101,
102はメツセージ本文、103,104はポイ
ンタブロツク、4は最も早く登録されたポインタ
ブロツク、6は最も遅く登録されたポインタブロ
ツク、5は4と6の中間に登録されたポインタブ
ロツク、11,12はスケジユーリングプログラ
ム、13,14,15,16はS表メモリ関係の
命令、17,18はプロセス実行プログラム、1
9,20,21はS表メモリ、31はCPU、3
2はCPUのS表メモリ関係以外の部分、33は
S表メモリ、34は主記憶メモリ、35はS表メ
モリ内の情報(CNT部、PTR部の内容)を記憶
するメモリ、36はメモリ35に対し読出し、書
込アドレスを格納するレジスタ、37はメモリ3
5に書込むデータを保持するレジスタ、38はメ
モリ35から読出したデータを保持するレジスタ
を表わす。
Fig. 1 is a conceptual diagram of the scheduling control method of the present invention, Fig. 2 is an explanatory diagram showing connections between pointer blocks, Fig. 3 is a flowchart of the scheduling control method of the present invention, and Fig. 4 is an S An example of a hardware configuration of an embodiment of a table memory is shown. In the figure, 1 is S table memory, 2 is 1 in S table memory
1 information block, 3 is main memory, 101,
102 is the message body, 103 and 104 are pointer blocks, 4 is the earliest registered pointer block, 6 is the latest registered pointer block, 5 is the pointer block registered between 4 and 6, 11 and 12 are Scheduling program, 13, 14, 15, 16 are S table memory related instructions, 17, 18 are process execution programs, 1
9, 20, 21 are S table memory, 31 is CPU, 3
2 is a part other than the S table memory of the CPU, 33 is an S table memory, 34 is a main memory, 35 is a memory for storing information in the S table memory (contents of the CNT section and PTR section), and 36 is a memory 35 A register 37 stores read and write addresses for the memory 3.
A register 38 holds data to be written to the memory 35, and a register 38 holds data read from the memory 35.

Claims (1)

【特許請求の範囲】[Claims] 1 複数のプロセスが相互に通信を行いつつ処理
を実行するシステムにおいて、プロセスを識別す
るために付与するプロセス識別番号QNとプロセ
スが実行する処理群に付与する処理実行優先度番
号LNとを行番号および列番号としたアドレスに
該プロセスが実行する該処理の通信情報を管理す
る制御情報を記憶するスケジユーリングマトリツ
クス表メモリ(S表メモリと呼ぶ)と、前記S表
メモリ上の制御情報から連結される通信情報群を
格納する主記憶メモリとを有し、該制御情報は、
主記憶メモリ上の通信情報群を指すアドレス部と
通信情報群内の通信情報の数を示すカウント部か
らなり、プロセス実行処理装置が処理実行中、実
行中の処理の消滅要求あるいは新たに生成した処
理の実行要求のための命令を実行したとき、前記
S表メモリから指定されたQNとLNとでアドレ
スされる制御情報を読出し、前記要求にしたがつ
て消滅要求時には、該制御情報のカウント部の値
を−1しあるいは実行要求時には、該制御情報の
カウント部の値を+1して該制御情報を書き変え
た後に前記S表メモリに書込み、さらに記憶メモ
リ上の該制御情報に連結されている通信情報群の
中から、消滅要求時に指定した通信情報のとりは
ずしあるいは実行要求時に指定した通信情報の連
結を行う手段および、次に実行すべきプロセスに
ついての処理の検索要求のための命令を実行した
時に前記S表メモリの制御情報を実行優先度の高
い順に逐次読んでゆき、制御情報内のカウント部
の値が1以上であるか否かを調べてゆき、カウン
ト部の値が1以上の制御情報を検出した時点でそ
の制御情報と制御情報をアドレスするQNとLN
とを読出す手段を具備することを特徴とするスケ
ジユーリング制御方式。
1 In a system where multiple processes execute processes while communicating with each other, the process identification number QN given to identify the process and the process execution priority number LN given to the process group executed by the process are expressed as line numbers. and a scheduling matrix table memory (referred to as S table memory) that stores control information for managing communication information of the process executed by the process at the address designated as the column number, and a scheduling matrix table memory (referred to as S table memory) that stores the control information on the S table memory. and a main memory for storing a group of connected communication information, and the control information includes:
It consists of an address part that indicates a group of communication information on the main memory memory and a count part that indicates the number of communication information in the group of communication information. When an instruction for requesting the execution of a process is executed, the control information addressed by the specified QN and LN is read from the S table memory, and when a deletion request is made in accordance with the request, the counting section of the control information is read out. The value of the control information is changed by -1, or when an execution request is made, the value of the count section of the control information is changed by +1, the control information is rewritten, and then written to the S table memory, and further linked to the control information on the storage memory. Executes a means for removing the communication information specified at the time of deletion request or concatenating communication information specified at the time of execution request from among the group of communication information contained in the existing communication information group, and a command for requesting a process search for the next process to be executed. When this happens, the control information in the S table memory is read sequentially in order of execution priority, and it is checked whether the value of the count part in the control information is 1 or more, and if the value of the count part is 1 or more, QN and LN that address the control information and the control information when the control information is detected
1. A scheduling control method, comprising: means for reading out.
JP56019942A 1981-02-12 1981-02-12 Scheduling control system Granted JPS57134753A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56019942A JPS57134753A (en) 1981-02-12 1981-02-12 Scheduling control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56019942A JPS57134753A (en) 1981-02-12 1981-02-12 Scheduling control system

Publications (2)

Publication Number Publication Date
JPS57134753A JPS57134753A (en) 1982-08-20
JPS6365977B2 true JPS6365977B2 (en) 1988-12-19

Family

ID=12013256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56019942A Granted JPS57134753A (en) 1981-02-12 1981-02-12 Scheduling control system

Country Status (1)

Country Link
JP (1) JPS57134753A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445847B (en) * 2018-07-09 2021-09-17 北京东土科技股份有限公司 Industrial server microkernel architecture implementation method

Also Published As

Publication number Publication date
JPS57134753A (en) 1982-08-20

Similar Documents

Publication Publication Date Title
KR100501289B1 (en) How to Improve Input / Output Performance Through Asynchronous Interface with Input / Output Sub-Processors
US4914570A (en) Process distribution and sharing system for multiple processor computer system
US6557056B1 (en) Method and apparatus for exchanging data between transactional and non-transactional input/output systems in a multi-processing, shared memory environment
EP0565849A2 (en) A method and system for synchronizing threads within a process
TW200406672A (en) Free list and ring data structure management
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
KR100678930B1 (en) Real time control system for digital signal processor
US6212543B1 (en) Asymmetric write-only message queuing architecture
US5666546A (en) Method of managing concurrent accesses to a memory by a plurality of users using atomic instructions to prevent read/write errors
US11874767B2 (en) Memory partitions for processing entities
JPH04155465A (en) File sharing method
JPH0798663A (en) Asynchronous I / O control method
JPS6365977B2 (en)
JP2746189B2 (en) File access control system
JPH0519179B2 (en)
JP2526728B2 (en) Disk cache automatic usage method
JP2735400B2 (en) Asynchronous I/O control method
JP2517859B2 (en) Parallel process management method
JP3013993B2 (en) Vector processing method
JPH0756633B2 (en) Task switching method
JPH0337748A (en) External storage accessing system utilizing main storage
JPH11238047A (en) Distributed common memory system and recording medium which records program and which machine can read
JP2517851B2 (en) Parallel priority control method
JPS6022784B2 (en) Duplicate data integrity maintenance method
JPS59151242A (en) Queue controlling system of data driven type computer