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
English (en)
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/ja
Publication of JPS57134753A publication Critical patent/JPS57134753A/ja
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

【発明の詳細な説明】 本発明は、スケジユーリング制御方式、特に複
数のプロセスが相互に通信を行いつつデータ処理
を実行するシステムにおけるスケジユーリング制
御を一部ハードウエア処理にゆだねるようにした
スケジユーリング制御方式に関するものである。
従来のデータ処理システムでは、プログラムが
ハードウエア資源あるいはソフトウエア資源(タ
スクなどのプログラムブロツク)にアクセスする
場合、各資源の管理プログラムに処理依頼を行
い、管理プログラムの実行を通して資源にアクセ
スしている。アクセスするプログラムが複数存在
する場合には、アクセスするプログラムと管理プ
ログラムとの間にキユーを設け、アクセス要求発
生時アクセス要求事象をキユーに連結し、管理プ
ログラムはその要求事象をキユーから逐次取り出
し処理を実行する。例えばプログラムがタスクに
対して処理要求を行なう場合、要求事象がタスク
キユーに連結され、タスクデイスパツチヤ(タス
ク資源の管理プログラム)の実行によりタスクキ
ユーから要求事象を取り出し、要求事象を実行す
るタスクを起動する。また、プログラムがI/O
装置に対してアクセス要求を行う場合、要求事象
がI/Oキユーに連結され、入出力スケジユーラ
(I/O装置資源の管理プログラム)の実行によ
りI/Oキユーから要求事象を取り出し、要求事
象を実行する入出力プログラムを起動する。従来
前記動作は全てソフトウエアで行われ、また、各
資源のスケジユーリング制御は互いに独立に行つ
ているが、これらの動作はデータ処理を行う場合
のオーバヘツドであつて低減する必要がある。
本発明は、前記の欠点を解決するため、各資源
のキユーに対応する部分をS表メモリ上にマトリ
ツクス構成に配置して集中的に管理するととも
に、S表メモリをハードウエアで実現し、さらに
S表メモリに対しプロセスの登録、消去及び次に
実行するプロセスの検索を行う手段(命令)を設
け、この手段を用いてプロセスのスケジユーリン
グ管理を行うことを特徴とし、その目的はスケジ
ユーリングオーバヘツドの削減にある。
第1図は本発明のスケジユーリング制御方式の
概念図であつて、1はプロセス識別番号(QN)
と処理実行優先度番号(LN)とでアドレスされ
るm行n行のマトリツクス構成のS表メモリ、2
は連結されているメツセージ個数を示すカウント
部(CNT)と先頭のメツセージ位置を示すポイ
ンタ部(PTR)とからなるS表メモリ内の1つ
の情報ブロツク、3は主記憶メモリ(MEM)、
101,102はメツセージ本文、103,10
4はメツセージ本文の先頭主記憶アドレスをさす
部分(MA)と次ポインタブロツクの主記憶アド
レスを格納する部分(PA)とからなるポインタ
ブロツクである。
上記S表メモリ1においてQNはアクセス資源
すなわちプロセツサ資源、I/O装置資源、メモ
リ資源、タスク(プログラム)資源等に対応づけ
る。またLNはアクセスする処理プロセスが有す
る実行優先度レベルに対応づける。本発明のスケ
ジユーリング制御方式は、S表メモリとS表メモ
リに対しプロセスの登録、消去及びS表メモリか
ら次に実行するプロセスの検索を行う命令とによ
り、前記各アクセス資源の管理プログラムである
プロセツサスケジユーラ、入出力スケジユーラ、
メモリ割当てスケジユーラ、タスクデイスパツチ
ヤなどが各々有している機能の一部を実現するも
のである。
第2図は主記憶メモリに登録された同一QN、
LNに属するポインタブロツク間の連結を示す図
であつて、1はS表メモリ、2はS表メモリ内の
1つの情報ブロツク、3は主記憶メモリ、4は最
も早く登録されたポインタブロツク、6は最も遅
く登録されたポインタブロツク、5は上記ブロツ
ク4と6との中間に登録されたポインタブロツク
である。
第2図AとBとに示すようにポインタブロツク
間の連結の方法は大別2方式が考えられる。まず
第2図A図示の方式ではS表メモリのPTRは最
も早く登録されたポインタブロツク4をポイント
し、ポインタブロツク間では最も早く登録された
ポインタブロツク4から最も遅く登録されたポイ
ンタブロツク6に向けてポイントをはる方式であ
る。第2図B図示の方式ではS表メモリのPTR
は最も遅く登録されたポインタブロツク6をポイ
ントし、最も遅く登録されたポインタブロツク6
は、最も早く登録されたポインタブロツク4をポ
イントし、そのポインタブロツク間では最も早く
登録されたポインタブロツク4から最も遅く登録
されたポインタブロツク6に向けてポイントをは
る方式である。
次にS表メモリ1に対しプロセスの登録、消去
及びS表メモリから次に実行するプロセスの検索
を行う3種の命令について、以下にその動作を説
明する。第2図に示すようにポインタブロツク間
の連結の方式により上記各命令の動作は若干異る
が、一方式について示せば他は容易に類推できる
のでここでは第2図A図示の方式の場合について
のみ示す。なおポインタブロツクのキユーイン
グ・アルゴリズムはFIFO(First In First Out)
とする。
(1) プロセス登録命令 <オペランド> プロセス識別番号;QN 処理実行優先度番号;LN 登録するメツセージポインタブロツクアドレ
ス;MAP <処理> QN、LNでアドレスされるS表メモリ1の
CNT、PTRを読出し、PTRでアドレスされる
主記憶メモリ3上のメツセージポインタブロツ
クの連結をサーチし、最も遅く登録されたメツ
セージポインタブロツク6のPA部にMAPの値
を書込む。
QN、LNでアドレスされるS表メモリ1の
CNT部を+1する。
(2) プロセスの消去命令 <オペランド> プロセス識別番号;QN 処理実行優先度番号;LN <処理> QN、LNでアドレスされるS表メモリ1の
PTRを読出し、PTRでアドレスされる主記憶
メモリ3上のメツセージポインタのPA部の内
容をPTRに書込む。
QN、LNでアドレスされるS表メモリ1の
CNT部を−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を見つけた時点で終る。
検索したQN、LNをIで指定される汎用レ
ジスタGRに格納する。
検索したQN、LNでアドレスされるS表メ
モリ1内のPTR部の内容をJで指定される汎
用レジスタGRに格納する。
実際のシステムでは上記3命令のほかにS表メ
モリ1をリセツトする(全てのCNT部をオール
0とする)命令等が必要になるが詳細な説明につ
いては省略する。また、S表メモリ1はCPU内
に設けることを考えて上記各命令の機能を説明し
たが、S表メモリ1は主記憶上に置くことも可能
である。そのとき上記各命令の処理は若干異なる
が容易に類推できるのであらためて説明はしな
い。一例として上記3命令を適用した場合の動作
の流れを第3図に示す。
第3図は、本発明のスケジユーリング制御方式
の流れを示すものであり、11,12はスケジユ
ーリングプログラム、13,14,15,16は
S表メモリ関係の命令、17,18はプロセス実
行プログラム、19,20,21はS表メモリ
(一例としてQN=4、LN=4とした。その中に
記した値はCNT部の値)である。また太枠で示
したものは登録、消去の対象となつたQN、LN
を表わし、点線枠で示したものは検索命令により
検索されたQN、LNを表わしている。
次に第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表メモリから検索
する命令のサポートによりスケジユーリング制御
が行える。
第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のアドレス線である。
本例ではS表メモリは4×4のマトリツクスで
構成することを考えているので、メモリ35は16
個のアドレスをもつ。メモリ35に対してデータ
の書込み及び読出しを行う動作は、一般に行われ
ている方法と同じで周知の事実であるから説明を
省略する。S表メモリに対しプロセスの登録、消
去及び次に実行するプロセスの検索を行う命令
は、上記以外の命令を実行する処理ブロツク部分
32のハードウエア機能(命令のデコード、メモ
リ35に書込むデータの作成、メモリ35から読
出したデータの操作及びS表メモリ33を制御す
る上記各種信号線43ないし47の制御など)と
S表メモリ33の機能とにより実行される。
以上説明したように、本発明によれば、複数の
プロセスが相互に通信を行いつつデータ処理を行
うシステムにおいて、種々のプロセス実行要求に
対しS表メモリを用い一元的なスケジユーリング
制御を行うようにしている。このために従来ソフ
トウエア制御によつて各資源対応に独立なアルゴ
リズムにより制御されていたスケジユーリング制
御のかなりの部分を統一的にかつ高速に処理する
ことが可能となる。
【図面の簡単な説明】
第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から読出したデータを保持するレジスタ
を表わす。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のプロセスが相互に通信を行いつつ処理
    を実行するシステムにおいて、プロセスを識別す
    るために付与するプロセス識別番号QNとプロセ
    スが実行する処理群に付与する処理実行優先度番
    号LNとを行番号および列番号としたアドレスに
    該プロセスが実行する該処理の通信情報を管理す
    る制御情報を記憶するスケジユーリングマトリツ
    クス表メモリ(S表メモリと呼ぶ)と、前記S表
    メモリ上の制御情報から連結される通信情報群を
    格納する主記憶メモリとを有し、該制御情報は、
    主記憶メモリ上の通信情報群を指すアドレス部と
    通信情報群内の通信情報の数を示すカウント部か
    らなり、プロセス実行処理装置が処理実行中、実
    行中の処理の消滅要求あるいは新たに生成した処
    理の実行要求のための命令を実行したとき、前記
    S表メモリから指定されたQNとLNとでアドレ
    スされる制御情報を読出し、前記要求にしたがつ
    て消滅要求時には、該制御情報のカウント部の値
    を−1しあるいは実行要求時には、該制御情報の
    カウント部の値を+1して該制御情報を書き変え
    た後に前記S表メモリに書込み、さらに記憶メモ
    リ上の該制御情報に連結されている通信情報群の
    中から、消滅要求時に指定した通信情報のとりは
    ずしあるいは実行要求時に指定した通信情報の連
    結を行う手段および、次に実行すべきプロセスに
    ついての処理の検索要求のための命令を実行した
    時に前記S表メモリの制御情報を実行優先度の高
    い順に逐次読んでゆき、制御情報内のカウント部
    の値が1以上であるか否かを調べてゆき、カウン
    ト部の値が1以上の制御情報を検出した時点でそ
    の制御情報と制御情報をアドレスするQNとLN
    とを読出す手段を具備することを特徴とするスケ
    ジユーリング制御方式。
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 (ja) 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 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445847B (zh) * 2018-07-09 2021-09-17 北京东土科技股份有限公司 工业服务器微内核架构实现方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100501289B1 (ko) 입력/출력 서브-프로세서와의 비동기 인터페이스를 통한 입력/출력 성능 개선 방법
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 (ko) 디지털 시그널 프로세서를 위한 실시간 제어 시스템
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 (ja) ファイル共用方法
JPH0798663A (ja) 非同期i/o制御方式
JPS6365977B2 (ja)
JP2746189B2 (ja) ファイルアクセス制御システム
JPH0519179B2 (ja)
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP2735400B2 (ja) 非同期入出力制御方式
JP2517859B2 (ja) 並列プロセス管理方法
JP3013993B2 (ja) ベクトル処理方式
JPH0756633B2 (ja) タスク切換え方式
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
JPH11238047A (ja) 分散共有メモリシステム及びプログラムを記録した機械読み取り可能な記録媒体
JP2517851B2 (ja) 並列プライオリティ制御方法
JPS6022784B2 (ja) 重複デ−タの完全性維持方式
JPS59151242A (ja) デ−タ駆動型計算機の待ち行列制御方式