JPS636655A - タスクスケジユ−ル方式 - Google Patents

タスクスケジユ−ル方式

Info

Publication number
JPS636655A
JPS636655A JP14955586A JP14955586A JPS636655A JP S636655 A JPS636655 A JP S636655A JP 14955586 A JP14955586 A JP 14955586A JP 14955586 A JP14955586 A JP 14955586A JP S636655 A JPS636655 A JP S636655A
Authority
JP
Japan
Prior art keywords
task
resource
resources
tasks
state
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
JP14955586A
Other languages
English (en)
Inventor
Kazuyoshi Negishi
和義 根岸
Hiromi Tsukano
塚野 博実
Takashi Sumiyoshi
住吉 孝史
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP14955586A priority Critical patent/JPS636655A/ja
Publication of JPS636655A publication Critical patent/JPS636655A/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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

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

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はメモリを共用するマルチプロセッサシステムに
おけるタスクのスケジューリング方式に関するものであ
る。
〔従来の技術〕
タスクスケジューリング方式において、従来は吉沢康文
者「オペレーティングシステムの実際」。
4.2節 タスクの状態とスケジューリング、昭晃堂(
1984)に示されるように、先入れ先出し方式、プラ
イオリティによる方式、プロセッサ使用時間の長いタス
クよりIloの多いタスクを優先する方式、処理時間の
目標1直を守るように処理順序を変える方式等があった
。これら方式では。
タスクのリソース使用状況および要求状況は考慮されて
いなかった。
〔発明が解決しようとする間呟点〕
従来の方式においては、リソースを待つタスクが大量に
発生した場合でも、すぐには起動されない。中央処理装
置が複数あってもこれらリソースを使用するタスクは、
同時には1個しか実行できず、各タスクの各リソース使
用割合の高い場合。
現在完全に使用できても将来リソースネックになってし
まう可能性がある。
〔問題点を解決するための手段〕
本発明は従来のタスクキューの他にリソースの種別対応
のリソース待ちキューを追加する。またリソース種別毎
に平均リソース使用率を設定するテーブルを持つ。リソ
ースの使用率を累計しておき、−定間隔でこれをもとに
平均リソース使用率を再設定する。リソース競合時は、
対応するりノーδ待ちキューにタスクを入れる。タスク
スケジュール時に、各リソースが使用中かどうかを平均
リソース使用率の高い順に調べ、リソース未菱用ならリ
ソース待ちキュー中のタスクをまずスケジュールする。
タスクがリソースを解放した場合。
他にリソース待ちをしているタスクがあれば上記の再ス
ケジュールを行ってそちらに切Ltえるようにする。ま
た、タスクがI10割シ込み処理等により中断された場
合、中断されたタスクがリソース使用中であれば対応す
るリソース待ちキューの先頭に入れる。
〔作用〕
本発明の作用は、メモリを共用するプロセッサ上のタス
クスケジューラにおいてタスクが複数の排他リソースを
高い割合で開用する場合、これらリソースを侍っている
タスクがある時に、いずれかのプロセッサでリソースを
使用するタスクを実行することにより、将来発生し得る
リソースの競合によるプロセッサのアイドルを防止する
ことである。
また、平均リソース使用率の高い順に対応するタスクの
処理を行うことにより、リソース競合防止効果を一層高
いものにすることができる。
平均リソース使用率の動的変更にニジ比較的長い期間の
システム負荷の変動に追従できる。
〔実施例〕
以下2本発明の一実施例を説明する。第1図は。
本発明のタスクスケジューラの概要図である。タスクス
ケジューラ1は、各タスクの終了時リソースの占有解放
時あるいは入出力要求時などに1次に処理するタスクを
選択し起動するために起動される。リソースの要求はプ
ロセッサを!f1」り当てられているタスクからのみ行
う。タスクの入出力要求時などタスクがプロセッサを割
り当て可能でない状態になる時は必ずリソースを解放す
ることにより、リソースは現在プロセッサをJIJり当
てられているあるいは割り当て可能で中断されているタ
スクのみが占有している。
タスクの状態遷移は第2図に示すように行われる。タス
クは生成されるとレディ状態10に入り。
リソース非占有実行状911で、終了する(この処理は
図示せず)。レディ状態10のタスクはタスクスケジュ
−ラVcよりリソース非占有実行状態11に入る。リソ
ース非占有実行状態11のタスクがリソースを使用する
時、リソース占有処理が成功した場合はリソース占有実
行状態12に、失敗した場合はリソース待ち状態13に
入る。リソース占有実行状態12でリソース解放時は、
リソース解放処理により他にリソース待ちタスクで実行
可能なものがある場合レディ状B10に、そうでなけれ
ばリソース非占有実行状態11に入る。
リソース待ち状態13のタスクはタスクスケジューラに
より選択された場合にリソース占有実行状態12となる
。リソース非占有実行状態11.およびリソース占有実
行状態12でタスク中断が発生した場合、中断処理によ
りそれぞれレディ状態10、およびリソース占有中断状
態14に入る。
リソース占有中断状態14のタスクはタスクスケジュー
ラに選択された場合、リソース占有実行状態12に戻る
。なお、第1図ではリソース占有中断状態のタスクはリ
ソース待ちキューの先頭に置かれる。
第3図に処理の流れを示すように、タスクスケジューラ
1は、まず、リソーステーブル5中のリソース使用中7
ラグ2をエントリの順に見て他のプロセッサが当該リソ
ースを使用中でないエントリあるいはポインタ8をたど
った時リソース占有中のタスクが対応するリソース待ち
キュー3の先頭に入っているエントリを見付け、対応す
るリソース待ちキュー3の先頭のタスク全敗シ出しスケ
ジュールする。リソーステーブル5のエントリは。
あらかじめ初期設定の時に平均リソース使用率に基づき
、その多い順に並べかえられている。当該リソース待ち
キュー3が空なら1次のエントリを見にいく。すべての
リソースについて、このチエツクが終了してもスケジュ
ールすべきタスクがなければ、レディキュー4よりタス
クをスケジュールする。
タスクからリソースの占有解放を行う場合次のようにす
る。第4図に示すように占有要求時、リソース受用中フ
ラグがONなら対応するリソース待ちキュー3へ入る1
、そして別のリソースを要求しているタスクをスケジュ
ールするためタスクスケジューラへ行く。
解放時は第5図に示すように、fllllのリソース待
ちキュー中のタスクがあれば自タスクを中断し、そのタ
スクを起動するためタスクスケジューラへ行く。
タスク中断処理は第6図に示すように、タスクがリソー
スを使用中であれば対応するリソース待ちキューの先頭
に、そうでなければレディキューに入れる。
リソース受用率再設定処理は、定期的に起動され、第7
図に示す:うにリソーステーブル5における前回再設定
時以降のリソース使用時間7をその間の平均リソース使
用率に比例していると考え。
その多い順にエントリを並べかえる。そのめと、全エン
トリのリソース使用時間7をクリヤする。
本実施例にプライオリティスケジュールを導入すること
は下記の方法により可能である。
(1)リソース使用状況をタスクプライオリティより優
先する場合、レディキュー4の部分をプライオリティ順
のキューとしタスクを入れる時プライオリティ順に入れ
る。
(2)タスクプライオリティ全リソース使用状況より優
先する場合、リソーステーブル5およびレディキュー4
をタスクプライオリティ毎に用意し、実行可屈なタスク
の存在するタスクプライオリティをまず選択してその中
で上記のタスクスケジュールを行う。
〔発明の効果〕
本発明によれば、リソースを侍っているタスクが多数存
在する時、これらを最大限に並行処理することにより、
リソースの競合によるプロセッサのアイドルを防止する
ことができる。
また、リソース平均l用率の高い順にプロセッサをタス
クに与えることにより、リソース競合時のプロセッサア
イドルを最少限にする。定期的にそれ以前のリソース使
用時間に基づき上記のリソース使用率を再設定すること
にニジ、長期的なリソース使用状況の変化に追従して上
記の処理を行うことができる。
【図面の簡単な説明】
第1図は、タスクスケジューラの処理概要図。 第2図はタスクの状態遷移図、第3図はタスクスケジュ
ーラの処理の流れ図、第4図はリソース占有時の処理の
流れ図、第5図はリソース解放時の処理の流れ図、第6
図はタスク中断処理の流れ図。 第7図はリソース使用率再設定の処理の流れ図である。 1・・・タスクスケジューラ、2・・・リソース使用中
フラグ、3・・・リソース待ちキュー、4・・・レディ
キューs 5・・・リソーステーブル、10・・・レデ
ィ状態。 11・・・リソース非占有実行状態、12・・・リソー
ス占有実行状態、13・・・リソース待ち状態、14・
・・1)77占有″1′断状態・          
 −1−:=、>、代理人 弁理士 小川勝男 ′) 第2区 箭30 第4 凹 篤 5 圀 里7侶 ′lf:16固

Claims (1)

  1. 【特許請求の範囲】 1、主メモリを共用するマルチプロセッサ上で複数種類
    のリソースで各種類毎に1個しかないリソースを一度に
    1個ずつ交互に排他使用する複数のタスクをスケジュー
    ルするスケジユーラにおいて、各リソースに関して少な
    くとも1個のタスクがリソースを使用状態あるいは使用
    を要求して待ち状態にある間は、常にマルチプロセッサ
    のうち1台が当該リソースを使用状態のタスクを実行す
    るようスケジュールすることを特徴とするタスクスケジ
    ュール方式。 2、上記方式において、少なくとも1つのタスクが使用
    状態あるいは使用を要求して待ち状態にあるリソースの
    種別数がプロセッサ台数より多い場合、あらかじめ設定
    してあるタスクの平均リソース使用率に基づき最も使用
    率の高いリソースから順にプロセッサ台数分のリソース
    に対応してこれらリソースを使用するタスクを各種別毎
    に1つずつ実行するようにスケジュールすることを特徴
    とする第1項記載のタスクスケジュール方式。 3、上記方式において、タスクの平均リソース使用率を
    定期的に観測値に基づき再設定することを特徴とする第
    2項記載のタスクスケジュール方式。
JP14955586A 1986-06-27 1986-06-27 タスクスケジユ−ル方式 Pending JPS636655A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14955586A JPS636655A (ja) 1986-06-27 1986-06-27 タスクスケジユ−ル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14955586A JPS636655A (ja) 1986-06-27 1986-06-27 タスクスケジユ−ル方式

Publications (1)

Publication Number Publication Date
JPS636655A true JPS636655A (ja) 1988-01-12

Family

ID=15477725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14955586A Pending JPS636655A (ja) 1986-06-27 1986-06-27 タスクスケジユ−ル方式

Country Status (1)

Country Link
JP (1) JPS636655A (ja)

Similar Documents

Publication Publication Date Title
JP3678414B2 (ja) 多重プロセッサ・システム
US4908750A (en) Data processing system having tunable operating system means
US5826081A (en) Real time thread dispatcher for multiprocessor applications
JPH0954699A (ja) 計算機のプロセススケジューラ
JP2000056992A (ja) タスクスケジューリングシステム、方法及び記録媒体
JPH0628323A (ja) プロセス実行制御方法
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
JPS636655A (ja) タスクスケジユ−ル方式
Bunt Scheduling techniques for operating systems
JP2667575B2 (ja) タスクスケジューリング方式
JPH0782444B2 (ja) タスクスケジユ−ル方式
JPH0640315B2 (ja) 中央処理装置割り当て制御方式
JP2000259430A (ja) コンピュータシステムの処理方法
JPS63300326A (ja) トランザクション実行スケジュ−ル方式
JPS62290958A (ja) タスクスケジユ−ル方式
JP3169316B2 (ja) タスクスケジューリング方法
JPS59170950A (ja) タスク優先制御方式
JP2692647B2 (ja) マルチタスク制御方法および制御システム
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPS6316775B2 (ja)
Sharma et al. A Study of CPU Scheduling Algorithms
JPS63301332A (ja) ジョブ実行方式
CN116483527A (zh) 一种基于uCOS-II的多任务调度方法与系统
WO1992003784A1 (en) Scheduling method for a multiprocessing operating system
JPS62271147A (ja) タスク制御方法