JPS5924349A - マルチタスク計算機システムのタスクスケジユ−ル方式 - Google Patents

マルチタスク計算機システムのタスクスケジユ−ル方式

Info

Publication number
JPS5924349A
JPS5924349A JP13194282A JP13194282A JPS5924349A JP S5924349 A JPS5924349 A JP S5924349A JP 13194282 A JP13194282 A JP 13194282A JP 13194282 A JP13194282 A JP 13194282A JP S5924349 A JPS5924349 A JP S5924349A
Authority
JP
Japan
Prior art keywords
task
priority
memory partition
shared resource
control
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
JP13194282A
Other languages
English (en)
Inventor
Yoshikatsu Ueda
至克 上田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13194282A priority Critical patent/JPS5924349A/ja
Publication of JPS5924349A publication Critical patent/JPS5924349A/ja
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

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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は、タスク優先順スケジュールとスタテックアロ
ケーションによるエリア管理とを実施するマルチタスク
計算機システムにおけるタスクスケジュール方式に関す
る。
従来のタスクスケジュール方式を第1図により説明する
。ここでは、ユーザが定義して、複数タスクがそれぞれ
排他的に使用する論理的リソースを共用リソースと呼ぶ
。実体は、主メモリ1または補助メモリ2の上に配置さ
れる。
従来、主メモリ1の共用リソースエリアの共用リソース
7を占有使用中のタスク5に対するタスタスクジュール
が、他のタスクに対するそれと異なる点は、次に示すと
ころである。
共用リソース7占有中のタスク5と同一メモリパーティ
ション3を使用する高優先度タスク8に起動要求がかか
つても、デッドロックを防止し、共用リソース7占有時
間を短縮する目的で、タスク5を退避させず、共用リソ
ース7を解放して始めて、退避エリア9に退避させると
いう点である。
その結果、タスク8は、起動要求されてもメモリパーテ
ィション空き待ちとなる。またタスク5が共用リソース
7を解放するまでに、別メモリパーティション4で動作
する第3の高優先度タスク6に起動がかかれば、タスク
5はCPU待ち状態となり、さらにタスク8の待ち時間
が長くなる。
従来の共用リソース占有使用タスクに対するタスクスケ
ジュール方式には、通常高速に応答していたタスクに対
して、あるタイミングで、上記現象が発生し、高優先度
タスクの応答が大巾に遅れるという欠点があった。
本発明の目的は、プツトロックの発生を防止しつつ、高
優先度タスクに対して、定常的高速応答性を保証する共
用リソース占有中の非常駐タスクに対するタスクスケジ
ュール方式を提供することにある。
第1図に示す従来の方式において、共用リソース7占有
使用中のタスク5を退避させないのは、一つには次のよ
うにして発生するプツトロックを防止するためである。
共用リソース7占有使用中のタスク5が退避エリア9に
退避され、一方、そのタスク5と同一メモリパーティシ
ョン3を使用し、かつ同一共用リソース7に対して占有
要求を出すタスク8が、ロードされ、退避中のタスク5
が占有中の共用リソース7に対して、占有−求を出し、
かつメモリパーティションごとに有限個存在する退避エ
リアに空きがなく、ロードされたタスク8が退避不可能
となった状態がデッドロック状態である。従来方式のプ
ツトロック防止のための、共用リソース占有使用中タス
クの非退避化という条件は十分すぎるものである。例え
ば、共用リソース7占有中のタスク5と同一メモリパー
ティション3を使用するが、共用リソース7に対して、
占有要求を出たない高優先度タスクについても、タスク
5が共用リソース7を解放するまで、メモリパーティシ
ョン3空待ちとしてしまう。
そこで、本発明では、共用リソース、メモリパーティシ
ョン、退避エリアの競合によって発生するプツトロック
の発生の条件を求め、その条件を満足する場合のみ、共
用リソース占有中のタスクを退避させないようにしたこ
とに特徴がある。
また、共用リソース占有使用中であり、非退避化したタ
スクに対する、そのタスクが待たせる高優先度タスクの
待ちをできるだけ少なくするため、タスクより優先度が
低く、別メモリパーティションで動作するタスクの実行
によって、高優先度タスク待ちが長くなるという不合理
を防止することに特徴がある。
以下、本発明の一実施例を図により説明する。
第2図は、本発明の一実施例の全体構成図である。
起動または再起動要求信号10または再ディスパッチ要
求信号13を受けて、ディスパッチ14は、タスク優先
順スケジュール法にもとづき、おるタスクを選択し、制
御信号1′1を発生して、メモリシェア制御モジュール
15に制御を渡す。メモリシェア制御モジュール15は
、システムテーブルのメモリシェア制御テーブル16の
情報から、選択されたタスク(予め定められているメモ
リパーティションが使用可能か否かを判定する。選択さ
れたタスクがすでに対応するメモリパーティション上に
存在する場合には、タスク実行要求信号12を発生して
、タスク実行モジュール17に制御を渡す。タスク実行
モジュール17は、選択されたタスクの実行に必要なレ
ジスタ類をセットし、制御を実行要求タスクに渡す。そ
れ以外の場合には、選択されたタスクや対応するメモリ
パーティション占有中のタスクを、システムテーブルエ
リアに存在する、メモリパーティション空き待ちキュー
、共用リソース解放待ちキュー、退避実行要求キュー、
ロード実行要求キューのいずれかに登録し、再ディスパ
ッチ要求信号13全通して、デイスパーチャーへ制御を
戻す。
第3図は、メモリシェア制御モジュールの判断プログラ
ムの流れ図を示す。第4図は、メモリシェア制御テーブ
ルの構成図である。
まず第4図を説明する。テーブルは主に、タスク制御テ
ーブル群30、メモリパーティション管理テーブル群4
0、退避エリア管理テーブル群50、から成る。
タスク制御テーブル群30は、各タスクに1対1に対応
するタスク制御ブロック(以下、TCBと略称する。)
31から成る。各TCBには、使用メモリパーティショ
ン情報フィールド32、タスクオリジナル優先度情報フ
ィールド33、タスク現在優先度情報フィールド34、
現在占有中の共用リソース情報フィールド35、現在占
有要求中の共用リソース情報フィールド36、占有予定
している共用リソース情報フィールド37から成る。
メモリパーティション管理テーブル群40は、各メモリ
パーティシロン1対1に対応するメモリパーティション
制御ブロック(以下、PCBと略称する。)41から成
る。各PCBは、現在使用中タスクの情報フィールド4
2、退避可能最大タスク数フィールド43、現在退避中
のタスク数フィールド44から成る。
退避エリア管理テーブル群50は、各メモリパーティシ
ョンに1対1に対応する退避エリア制御ブロック(以下
、SCBと略称する。)51から成る。各SCBは、退
避可能タスク数分のデータフィールド52をもち、現在
退避中タスクの情報フィールド53力)ら成る。
次に第3図のメモリシェア制御モジュールの判断プログ
ラムを説明する。判断プログラムは判断ブロック18か
ら、判断ブロック25までの8個の判断ブロックから成
る。
判断ブロック18は、ディスパッチャ14により、選択
されたタスクの使用するメモリバーディジョンが、すで
にあるタスクによって占有中であるか否かを判断する。
占有中のタスクが自分自身であれば、タスク実行要求信
号12を発して、タスク実行モジュール17へ制御を渡
す。占有中のタスクが自分自身でない場合には、判断ブ
ロック19へ、占有中のタスクがない場合には、判断ブ
ロック25へ、それぞれ制御を渡す。以上の判断をメモ
リシェア制御テーブルの情報32.42から下す。
判断ブロック19は、判断ブロック18から制御を受け
、ディスパッチャ14によって選択されたタスクの現在
優先度と、対応するメモリツク−ティジョン占有中のタ
スクの現在優先度とを比較する。選択されたタスクの現
在優先度が、占有中のそれより低いかまたは等しい場合
には、対応するメモリパーティション空き待ちキューに
、選択されたタスクを登録し、再ディスパッチ要求信号
13を通して、制御をディスパッチャ14へ戻す。
選択されたタスクの現在優先度が、占有中のそれよりも
高ければ、制御を判断ブロック20へ渡す。
以上の判断をメモリシェア制御テーブル16の情報32
,34.42から下す。
判断ブロック20は、判断ブロック19から制御を受け
、選択きれたタスクの使用するメモリパーティションに
対応する退避エリアに空があるか否かを判断する。その
退避エリアに空がない場合には、制御を判断ブロック2
4へ渡す。退避エリアの空が1個であり、かつ選択され
たタスクが退避中でない場合には、制御を判断ブロック
21へ渡す。退避エリアが2細身上空いているか、また
は退避エリアの空が1個でありかつ選択されたタスクが
退避中のタスクである場合には、占有中のタスクを退避
実行要求キューに登録し、選択きれたタスクをロード実
行要求キューに登録し、再ディスパッチ要求信号13を
発して、制御をディスパッチャ14に戻る。以上の判断
をメモリシェア制御テーブル16の情報32,42,4
3,44゜53によって下す。
判断ブロック21は、判断ブロック20から制御を受け
、占有中のタスクを退避させ、選択されたタスクをロー
ドしたとき、プツトロックが発生する可能性があるか否
かを判断する。まず選択されたタスクの使用メモリパー
ティション占有中のタスクが、ある共用リソース占有中
または占有要求中であり、かつ選択されたタスクがその
共用リソースを占有予定共用リソースとする場合には、
制御を判断ブロック22へ渡す。次に、選択されたタス
クが使用するメモリパーティション退避エリアに退避中
のタスクが共用リソース占有中または占有要求中であり
、かつ選択されたタスクがその共用リソースを占有予定
共用リソースとする場合には、制御を判断ブロック23
へ渡る。以上2つのケースがプツトロック発生の可能性
がある場合の対処である。それ以外の場合は、現在メモ
リパーティション占有中のタスクを退避実行要求キュー
に登録し、選択されたタスクをロード実行要求キューに
登録し、再ディスパッチ要求信号13を通して、ディス
パッチ14に制御を戻す。以上の判断をメモリシェア制
御テーブル16の情報32.35,36,37,42,
43,44゜52.53から下す。
判断ブロック22は、判断ブロック21または判断ブロ
ック24から制御を受け、選択されたタスクの使用メモ
リバーディジョン占有中のタスクの優先度に変更する。
選択されたタスクのTCBの現在優先度フィールド34
のデータを占有中タスクのTCB現在優先度フィールド
に転写する。
選択されたタスクを共用リソース解放待ちキューに登録
し、再ディスパッチ要求信号13を発して、ディスパッ
チャ14に制御を戻す。なお、変更した現在優先度は、
共用リソース解放時、オリジナル優先度に戻す。以上の
判断をメモリシェア制御テーブル16の情報32,33
.34により下す。
判断ブロック23は、判断ブロック21または判断ブロ
ック24から制御を受け、選択されたタスクが使用する
メモリパーティションの退避エリアに退避中のタスクの
優先度を変更する。退避中のタスクの中で、制御が判断
ブロック23へ渡たる原因となったタスクのTCBの現
在優先度フィールドのデータと選択されたタスクのTC
Hの現在優先度フィールドのデータとの大きい方の値を
、上記退避中のタスクのTCBの優先度フィールドに設
定する。選択されたタスクを共用リソース解放待ちキュ
ーに登録し、再ディスバッチ要求信号13を発して、制
御をディスパッチャ14へ戻す。
尚変更された現在優先度は共用リソース解放時、オリジ
ナル優先度に戻、す。以上の判断をメモリシェア制御テ
ーブル16の情報32,33,34゜35.36,37
,43,44,52.53により下す。
判断ブロック24は、判断ブロック20から制御を受け
る。選択されたタスクが使用するメモリパーティション
占有中のタスクが、ある共用リソース占有中または占有
待ち状態であり、かつ選択されたタスクがその共用リソ
ースを占有待ち共用リソースまたは占有予定共用リソー
スとする場合には、制御を判断ブロック22へ渡す。次
に、選択されたタスクが使用するメモリパーティション
の退避エリアに退避中のタスクが占有中またけ占有要求
中共用リソースがあり、かつ選択されたタスクがその共
用リソースを占有予定共用リソースとする場合には制御
を判断ブロック23へ渡す。
それ以外の場合には選択されたタスクをメモリパーティ
ション空き待ちキューに登録し、再ディスパッチ要求信
号13を発して、ディスパッチャ14に制御を戻す。以
上の判断をメモリシェア制御テーブル16の情報32,
35,36,37゜42.43,44,52.53によ
り下す。
判断ブロック25は、判断ブロック18から制御を受け
、選択されたタスクの使用するメモリパーティションの
退避エリアに空がなく、がっ、退避中のタスクが選択さ
れたタスクでなく、かつ、退避中のタスクが共用リソー
ス占有中t ftは、共用リソース占有要求中であり、
かつその共用リソースが、選択されたタスクの占有予定
共用リソースであれば、その退避タスクのTCBの現在
優先度フィールドのデータと、選択されたタスクの現在
優先度フィールドのデータとの大きい方の値を上記退避
中のタスクのTCPの現在優先度フィールドに設定する
。選択されたタスクを共用リソース解放待ちキューに登
録し、再ディスバッチ要求信号を通して、ディスパッチ
ャに制御を戻す。尚、変更した現在優先度は、共用リソ
ース解放時にオリジナル優先度に戻す。それ以外の場合
には、選択されたタスクをロード実行要求キューに登録
し、再ディスパッチ要求信号13を発して、ディスパッ
チャ14に制御を戻す。以上の判断をメモリシェア制御
テーブル16の情報32,33,34゜35.36,3
7,44.53から下す。
本実施例によれば、デッドロックの発生の可能性がなけ
れば、共用リソース占有中タスクを退避可能としたこと
、また共用リソース占有中のタスクを退避させない場合
には、タスク優先度をダイナミックに変更するようにし
たことによって、高優先度タスクが、そのタスクと同一
メモリパーティションを使用する共用リソース占有中の
低優先度タスクに対して、メモリパーティション空き待
ちとなる時間を短縮することができる。
以上述べたように、本発明によれば、高優先度タスクが
、同一メモリパーティションを使用し、かつ共用リソー
ス占有している低優先度タスクによって、その応答時間
が大巾に遅らされることを防止する効果がある。
【図面の簡単な説明】
第1図は、主メモリと補助メモリ間でのプログラム転送
動作説明図、第2図は本発明の実施例の全体構成図、第
3図は第2図のメモリシェア制御モジュールの一例の具
体的構成図、第4図は第2図のメモリシェア制御テーブ
ルの一例の構成図である。 1・・・主メモリ、2・・・補助メモリ、10・・・起
動要求または再起動要求、12・・・タスク実行要求信
号、13・・・再ディスパッチ要求信号、30・・・タ
スク制御テーブル群、40・・・メモリパーティション
管理■ 1  口 fJZ   図 T 3  図

Claims (1)

  1. 【特許請求の範囲】 1、 タスク優先度順スケジュールとスタテックアロケ
    ーションによるエリア管理を実施するマルチタスク計算
    機システムにおいて、タスクの使用予定共用リソースを
    記憶しておく手段を備え、該手段のデータを使用し、共
    用リソース占有中のタスクを退避し、起動要求されたタ
    スクをロードしたときに、プツトロックが発生するか否
    かを判断し、プツトロックの発生する可能性がない場合
    には、共用リソース占有中のタスクを退避させるように
    したことを特徴とするタスクスケジュール方式。 2、特許請求範囲第1項記載のタスクスケジュール方式
    において、プツトロック発生可能性を判断した結果、デ
    ッドロックの発生可能性があり、ロードしようとするタ
    スクと同一メモリパーティションを使用し、優先度が前
    記タスクも低いスフを退避させない場合に、ロードしよ
    うとしたタスクよりも優先度が低く、かつ退避させない
    タスクよシも優先度が高く、上記メモリパーティション
    以外のメモリパーティションを占有中のタスクの実行に
    よって、ロードしようとした高優先度タスクのメモリパ
    ーティション空き待ち時間が増力口することを防止する
    ことを特徴とするタスクスケジュール方式。
JP13194282A 1982-07-30 1982-07-30 マルチタスク計算機システムのタスクスケジユ−ル方式 Pending JPS5924349A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13194282A JPS5924349A (ja) 1982-07-30 1982-07-30 マルチタスク計算機システムのタスクスケジユ−ル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13194282A JPS5924349A (ja) 1982-07-30 1982-07-30 マルチタスク計算機システムのタスクスケジユ−ル方式

Publications (1)

Publication Number Publication Date
JPS5924349A true JPS5924349A (ja) 1984-02-08

Family

ID=15069805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13194282A Pending JPS5924349A (ja) 1982-07-30 1982-07-30 マルチタスク計算機システムのタスクスケジユ−ル方式

Country Status (1)

Country Link
JP (1) JPS5924349A (ja)

Similar Documents

Publication Publication Date Title
US6779182B1 (en) Real time thread dispatcher for multiprocessor applications
US6993767B2 (en) System for preventing periodic load balancing if processor associated with lightest local run queue has benefited from idle processor load balancing within a determined time period
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
US6735769B1 (en) Apparatus and method for initial load balancing in a multiple run queue system
US6748593B1 (en) Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system
US6449614B1 (en) Interface system and method for asynchronously updating a share resource with locking facility
US7926062B2 (en) Interrupt and exception handling for multi-streaming digital processors
US20030110204A1 (en) Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system
JPS5924349A (ja) マルチタスク計算機システムのタスクスケジユ−ル方式
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP7054688B2 (ja) 同期制御システムおよび同期制御方法
JPH04314147A (ja) メモリ管理方式
JPH09223032A (ja) 資源ロック制御機構
JPH0877026A (ja) 情報処理方法とその装置
JPH03116334A (ja) タスクディスパッチ方式
JP2692647B2 (ja) マルチタスク制御方法および制御システム
JPH0586574B2 (ja)
JPS59170950A (ja) タスク優先制御方式
Love The linux process scheduler
JPS61136134A (ja) 待ち行列資源管理方式
JP2023091314A (ja) 半導体装置、半導体装置の制御方法及びプログラム
JPH0612394A (ja) プロセススケジュール方式
CN117971429A (zh) 一种基于协程的近数据处理系统及方法
JPH04223533A (ja) 共有資源排他制御システム
JPS6334646A (ja) ジヨブスケジユ−リング方式