JPS63136233A - タイマサ−ビス利用プロセスのスケジユ−ル方式 - Google Patents

タイマサ−ビス利用プロセスのスケジユ−ル方式

Info

Publication number
JPS63136233A
JPS63136233A JP28322286A JP28322286A JPS63136233A JP S63136233 A JPS63136233 A JP S63136233A JP 28322286 A JP28322286 A JP 28322286A JP 28322286 A JP28322286 A JP 28322286A JP S63136233 A JPS63136233 A JP S63136233A
Authority
JP
Japan
Prior art keywords
timer
execution
execution level
level
request
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
JP28322286A
Other languages
English (en)
Inventor
Masashi Washimi
昌司 鷲見
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28322286A priority Critical patent/JPS63136233A/ja
Publication of JPS63136233A publication Critical patent/JPS63136233A/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/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

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

【発明の詳細な説明】 〔概要〕 各種タイマサービスを利用したプロセスの実行スケジュ
ールを、高いタイマ割込みレベルによらず、そのプロセ
スの本来の実行レベルにしたがって決定するようにし、
タイマ割込みレベルよりも低いがタイマサービス利用プ
ロセスよりは高い実行レベルをもつプロセスの実行機会
を減少させないようにする。
〔産業上の利用分野〕
本発明は、計算機システムにおけるマルチプロセスのス
ケジューリング方式に関するものであり。
特にタイマサービスを利用するプロセスを含むマルチプ
ロセスのスケジューリング方式に関する。
〔従来の技術〕
従来のマルチプロセス制御の計算機システムでは、第5
図の例に示すように、タイマ割込み処理に最高の実行レ
ベルを与え1次に110割込み処理の実行レベルを置き
、その下位にシステムプロセスの実行レベルと、ユーザ
プロセスの各実行レベルとを順に置いている。
タイマ割込み処理は最高の実行レベルをもつため、タイ
マ割込みが発生すると最優先で起動され。
タイマサービスを利用する実行待ちのプロセス。
第5図の例では、システムプロセスのプロセスAが、タ
イマ割込み処理の延長で実行される。すなわち、実質的
にプロセスAの実行レベルが最高優先順位のレベルに変
更されたのと同様な制御が行われる。
次に1本発明の詳細な説明するうえで好適な従来システ
ムの例について、具体的に説明する。始めに、システム
の基本となる事項について説明する。
(1)  グローバルタイマについて ユーザが時間経過通知サービスを受けるために、グロー
バルタイマ、あるいはプライベートタイマのいずれかを
使用する。これらのタイマは、ソフトウェアが使用する
論理的なタイマであり7 タイマIDにより識別される
(1)グローバルタイマ システム内のすべてのプロセスで共用可能なタイマであ
る。1つのプロセスで異なった複数の時間経過通知サー
ビスを受けることができる。
(2)  プライベートタイマ 各プロセス毎に必ず1つ使用できるタイマである。ブラ
イヘートタイマは、1つのプロセスで同時に複数のタイ
マ要求を発行する必要がない場合に使用する。
〔2〕 プロセスのディスパッチについて(1)実行レ
ベル システム内の各プロセスはCPUの割り当て優先順位で
ある実行レベルを持っている。
実行レベルは0−230までの値があり、値が小さい程
実行優先順位が高い。
(2)ディスパッチの順序 ディスパ・/チの順序、すなわちプロセスのCPU割り
当ての順序は、実行レベルに依存する。プログラムの核
では、その時点で最も実行レベルが小さいプロセスを探
しだし、そのプロセスにCPUを与えるように制御する
これを実現させるため、システムではプロセスのレディ
キューにレディ状態のプロセスをリンクする際、常に実
行レベルが小さい、即ち実行優先順位の高いプロセスか
ら順にリンクするように制御している(スケジューリン
グ)。従って、ディスバッチ処理ではいつもレディキュ
ー上の一番先頭のプロセスにCPUが割り当てられその
プロセスが実行状態になる。プロセスをレディキューに
リンクする時は次のことが考慮される。
0 実行レベルが小さいプロセスが大きいプロセスより
必ず前にリンクされる。
0 実行レベルが230以外のプロセスで、同一レベル
のプロセスが存在する場合は、同一レベルの最終にリン
クされる。
Q 実行レベルが230のプロセスの間では。
次の計算式で値が小さい順にリンクされる。
(値)=(レディ状態になった時刻)+(ナイス値)×
α+(ペナルティ)×β ここで、α、βはシステムで内部的に決められる係数、
ナイス値は、プロセス毎に決められた値で、変更可能な
値、ペナルティは。
プロセスが実行中は増加し事象待ちになると減少するよ
うに変更されるシステムの内部的な制御変数である。
〔3〕 タイマ要求について タイマ要求は、第6図に示すように、タイマ要求ブロッ
クとしてキューイングされている。
タイマサービスを受けているプロセスの制御ブロックを
ポイントするアドレスは、タイマ要求ブロックx’os
’番地に格納されている。
〔4〕 アクティビティの起動についてアクティビティ
は2割込み処理を行う実行単位であり、タイマ割込み処
理の実行レベルに該当するアクティビティ要求キューに
、第7図に示すように新しいアクティビティ要求ブロッ
クを作成して、キューの先頭にリンクする。アクティビ
ティが起動されたとき、タイマ要求ブロックで指定され
ているプロセスの実行レベルは。
タイマ割込み処理の実行レベルとなる。
〔5〕 システムプロセスに対しての要求の通知につい
て システムプロセスに対しての要求の通知とは。
第8図に示すように、システムプロセスのキューの先頭
に、新しいシステムプロセス要求ブロックを作成してリ
ンクすることである。
ここでは特に時間経過通知サービス(グローバルタイマ
等を使用)を行う処理である。
次に第9図により、従来システムのタイマ割込み処理の
概要を説明する。なお■ないし[F]は、処理のステッ
プを示す。
■ まず、タイマ割込みが発生すると、これを受付け、
タイマの現時刻をロードする。
■ 第4図のタイマ要求キューを調べ、タイマ要求ブロ
ック数が1つであればステップ■を実行し、2つ以上あ
ればステップ■を実行する。
■ 各タイマ要求ブロックのXマ28’にあるサービス
スケジューラタイマ(指定時刻)を調べ。
全てが指定時刻〉現時刻であれば終了し、指定時刻≦現
時刻のものがあればステップ■を実行する。
■ タイマ要求ブロックを1つ取り出す。
■ タイマ要求ブロックのXマ10マのステータスピン
トを調べ、システムタイマであればステップのを実行し
、グローバルタイマであればステップ■を実行する。
■ 実行レベルが無指定(−■)であればステップ■を
実行し、実行レベルが指定されていればステップ■を実
行する。
■ プロセス制御ブロックを調べ、ティックタイマ(ク
ロックカウント)の要求であればステップのを実行し、
その他の場合はステップ[F]を実行する。
■ 同じくブザー処理(鳴動時間制御)の要求であれば
ステップ■を実行し、その他の場合はステップ■を実行
する。
■ システムプロセスにタイマ要求を通知する。
■ タイマ要求の処理(実行レベルO)を実行する。
■ 対応するアクティビティを起動し、タイマ割込み処
理の実行レベルでプロセスを実行する。
[F] ステップ■で実行に失敗すればステップ[相]
を実行、その他の場合はステップOを実行する。
[相] システムダウンとする。
■ ステップ■、■、■で実行終了した後、そのタイマ
要求ブロックをタイマ要求のキューから外し、空きタイ
マ要求ブロックのキューにリンクする。
■ タイマ要求が1つだけであれば終了し、2つ以上あ
ればステップ[F]を実行する。
[F] 指定時刻〉現時刻のものばかりであれば終了し
、指定時刻≦現時刻のものがあればステップ■へ戻る。
〔発明が解決しようとする問題点〕 従来のタイマサービス利用プロセスのスケジュール方式
では、第5図のプロセスへの例のように。
各種タイマサービスを利用したプロセスの実行レベルを
タイマ割込みのレベルに上げてスケジュールしているた
め、そのプロセスにおける本来の実行レベルと矛盾して
スケジュールが行われるといった問題を生じていた。ま
た、各種タイマサービスを利用したプロセスが無数に存
在すると、第3図のプロセスBのように本来プロセスA
よりも上位の実行レベルをもつ他のプロセスの実行権力
リリ奪され実行機会が著しく減少するといった問題を生
じていた。
〔問題点を解決するための手段] 本発明は、従来のタイマサービス利用プロセスのスケジ
ュール管理方式において、各種のタイマサービスを利用
するプロセスが、−律にタイマ割込み処理の最高実行レ
ベルで実行されていたのを。
タイマ割込み時の割込み処理で、該当するタイマサービ
ス利用のプロセスについて1本来の実行レベルを判別し
5その実行レベルでスケジュール制御を行うようにした
ものである。
第1図は本発明の原理図である。
図において、プロセスの実行レベルは高い方から、タイ
マ割込み処理、110割込み処理、システムプロセス、
ユーザプロセスの順に設定されている。
動作においてタイマ割込みが発生ずると、タイマ割込み
処理が実行される。ここで、たとえばタイマ要求を行っ
ているタイマサービス利用プロセスであるプロセスAの
指定時刻と一致すると、その実行レベルが判別される。
そしてその実行レベルにより、プロセスAの実行がスケ
ジュールされる。
〔作用〕
本発明によれば、タイマサービスを利用するプロセスは
、タイマ割込み処理の実行レベルから切り離され、プロ
セス本来の実行レベルを適用してスケジュールされるた
め、他の実行中や実行待ちのプロセスから不当に実行権
を奪うことがない。
たとえば、第1図において、実行レベル100をもつプ
ロセスAと、それよりも上位の実行レベル50をもつプ
ロセスBとがあり、プロセス八がタイマ割込み処理によ
り実行中となった後、プロセスBの実行要求が発生した
場合、プロセスAの実行が中断され、プロセスBが実行
される。
〔実施例〕
以下に本発明の詳細を実施例にしたがって説明する。な
お以下に示す実施例は、第5図ないし第9図で説明した
従来システムを基礎としており。
共通部分に関する説明はそのまま援用される。
第2図は7本発明の1実施例において使用されるタイマ
要求ブロックの構成図であり、x’osマ番地にはタイ
マ要求をもつプロセスのプロセス制御ブロックへのポイ
ントアドレスが、そしてX’!2マ番地にはプロセスの
実行レベルが格納されている。
第3図は1本発明の1実施例において使用されるアクテ
ィビティ要求ブロックの構成図である。
そのXマ08マ番地とXマOCマ番地には、第2図のタ
イマ要求ブロック中のXマ20’番地とXマク4マ番地
にある関数エントリアドレスとパラメタポイントアドレ
スとがコピーされている。
第4図に2本発明の1実施例によるタイマ割込み処理の
フローを示す。このフローは、第9図に示されている従
来のシステムのフローに対応するものであり、ステップ
■がステップ■′に変更されている点のみが相違してい
る。以下に、各ステップを1頑に説明する。
■ まず、タイマ割込みが発生すると、これを受は付け
、タイマの現時刻をロードする。
■ 第4図のタイマ要求キューを調べ、タイマ要求ブロ
ック数が1つであればステップ■を実行し、2つ以上あ
ればステップ■を実行する。
■ 各タイマ要求ブロックのX728マにあるサービス
スケジューラタイマ(指定時刻)を調べ。
全てが指定時刻〉現時刻であれば終了し、指定時刻≦現
時刻のものがあればステップ■を実行する。
■ タイマ要求ブロックを1つ取り出す。
■ タイマ要求ブロックのXマ10’のステータスビッ
トを調べ、システムタイマであれば、ステップ■を実行
し、グローバルタイマであればステップ■を実行する。
■ 実行レベルが無指定(−1)であればステップ■を
実行し、実行レベルが指定されていればステップ[F]
を実行する。
■ プロセス制御ブロックを調べ、ティックタイマ(ク
ロックカウント)の要求であればステップを実行し、そ
の他の場合はステップ■を実行する。
■ 同じくブザー処理(鳴動時間制御)の要求であれば
ステップ■を実行し、その他の場合はステップ0′を実
行する。
■ システムプロセスにタイマ要求を通知する。
■ タイマ要求の処理(実行レベル0)を実行する。
■′タイマ要求プロセスの対応する実行レベルのアクテ
ィビティを起動する。すなわち1 ブロセスをその本来
の実行レベルで実行させる。
[F] ステップ■′で実行に失敗すればステップ[相
]を実行、その他の場合はステップを実行する。
[相] システムダウンとする。
■ ステップ■、■、■で実行終了した後、そのタイマ
要求ブロックをタイマ要求のキューから外し、空きタイ
マ要求ブロックのキューにリンクする。
■ タイマ要求が1つだけであれば終了し、2つ以上あ
ればステップ■を実行する。
[F] 指定時刻〉現時刻のものばかりであれば終了し
、指定時刻≦現時刻のものがあればステップ■へ戻る。
C発明の効果〕 本発明によれば、各種タイマサービスを利用したプロセ
スにより、他のプロセスの実行権を剥奪されずに、各プ
ロセスの実行レベルに従ってスケジュールが行われ、バ
ランスのとれた処理が行われるため、計算機システムの
処理効率が改善される。
【図面の簡単な説明】
第1図は本発明の原理図、第2図は本発明実施例による
タイマ要求ブロックの構成図、第3図は本発明実施例に
よるアクティビティ要求ブロックの構成図、第4図は本
発明実施例のタイマ割込み処理フロー図、第5図ないし
第9図は従来例に関するものであり、第5図は従来シス
テムのタイマ割込み処理の説明図、第6図はタイマ要求
キューの説明図、第7図はアクティビティ要求のキュー
の説明図、第8図はシステムプロセス要求のキューの説
明図である。

Claims (1)

  1. 【特許請求の範囲】 複数のプロセスがその種別に応じた所定の実行レベルを
    もち、またタイマ割込み処理の実行レベルが比較的高い
    レベルに設定され、実行レベルの高い順にプロセスの実
    行をスケジュールする方式の計算機システムにおいて、 タイマ割込みがあったときのタイマ割込み処理において
    、そのタイマ時刻に該当したタイマサービスを利用する
    プロセスの実行レベルを識別し、その実行レベルで当該
    プロセスの実行をスケジューリング制御することを特徴
    とするタイマサービス利用プロセスのスケジュール方式
JP28322286A 1986-11-28 1986-11-28 タイマサ−ビス利用プロセスのスケジユ−ル方式 Pending JPS63136233A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28322286A JPS63136233A (ja) 1986-11-28 1986-11-28 タイマサ−ビス利用プロセスのスケジユ−ル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28322286A JPS63136233A (ja) 1986-11-28 1986-11-28 タイマサ−ビス利用プロセスのスケジユ−ル方式

Publications (1)

Publication Number Publication Date
JPS63136233A true JPS63136233A (ja) 1988-06-08

Family

ID=17662675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28322286A Pending JPS63136233A (ja) 1986-11-28 1986-11-28 タイマサ−ビス利用プロセスのスケジユ−ル方式

Country Status (1)

Country Link
JP (1) JPS63136233A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271609A (ja) * 1994-03-29 1995-10-20 Nec Corp 情報処理装置のタイマ制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56108146A (en) * 1980-01-31 1981-08-27 Fujitsu Ltd Clocking device
JPS57161954A (en) * 1981-03-31 1982-10-05 Hitachi Ltd Monitor device for process state

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56108146A (en) * 1980-01-31 1981-08-27 Fujitsu Ltd Clocking device
JPS57161954A (en) * 1981-03-31 1982-10-05 Hitachi Ltd Monitor device for process state

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271609A (ja) * 1994-03-29 1995-10-20 Nec Corp 情報処理装置のタイマ制御システム

Similar Documents

Publication Publication Date Title
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US6360243B1 (en) Method, device and article of manufacture for implementing a real-time task scheduling accelerator
US7739685B2 (en) Decoupling a central processing unit from its tasks
US6430593B1 (en) Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
US8132178B2 (en) System and method for delayed priority boost
JP4094550B2 (ja) スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置
US4642756A (en) Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
US20080271029A1 (en) Thread Scheduling with Weak Preemption Policy
US20050086030A1 (en) Software tool for synthesizing a real-time operating system
US5526521A (en) Method and system for process scheduling from within a current context and switching contexts only when the next scheduled context is different
US7203823B2 (en) Partial and start-over threads in embedded real-time kernel
CN111158875B (zh) 基于多模块的多任务处理方法、装置及系统
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
Cornhill et al. Priority inversion in Ada
CN106708618A (zh) 一种进程调度方法及装置
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
CN109426556B (zh) 一种进程调度方法和装置
JPS63136233A (ja) タイマサ−ビス利用プロセスのスケジユ−ル方式
Nosrati et al. Task scheduling algorithms introduction
CN110109743B (zh) 一种实时进程调度方法
JPH07191863A (ja) マルチタスク実行管理方式
US8694999B2 (en) Cooperative scheduling of multiple partitions in a single time window
JPS63300326A (ja) トランザクション実行スケジュ−ル方式
JPH01154237A (ja) 時分割タスク実行装置
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体