JPH07230387A - 排他制御方法 - Google Patents

排他制御方法

Info

Publication number
JPH07230387A
JPH07230387A JP6020897A JP2089794A JPH07230387A JP H07230387 A JPH07230387 A JP H07230387A JP 6020897 A JP6020897 A JP 6020897A JP 2089794 A JP2089794 A JP 2089794A JP H07230387 A JPH07230387 A JP H07230387A
Authority
JP
Japan
Prior art keywords
task
enq
resource
state
processing
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
JP6020897A
Other languages
English (en)
Inventor
Masaaki Hama
正章 濱
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP6020897A priority Critical patent/JPH07230387A/ja
Publication of JPH07230387A publication Critical patent/JPH07230387A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数プロセス間で共用する資源に対して、資
源を占有しているプロセスの処理遅れによるシステム全
体の性能低下を防止すること。 【構成】 複数のプロセスを同時に並行して実行する計
算機システムのオペレーテイングシステムにおけるプロ
セス間の共用資源の排他制御方法において、共用資源を
占有するための資源確保命令中に、時間的占有期間に関
する情報を設定する領域を設け、時間的占有期間に関す
る情報が設定されていた場合は、該資源確保命令を発行
したプロセスに対する資源占有状態とした後、当該プロ
セスの処理優先度を資源占有期間の間だけ高い優先度に
変更して該プロセスを優先実行させ、実行終了時に処理
優先度を資源占有前の状態に戻す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセスを同時
に並行して実行する計算機システムのオペレーティング
システムにおけるプロセス間の排他制御方法に関するも
のである。
【0002】
【従来の技術】従来において、例えば「日立製作所 プ
ログラムプロダクト VOS3/ASスーパバイザマク
ロ」マニュアル(1992)の第98ページから110
ページに記載されているように、タスク(VOS3/A
Sでは実行の最小単位のプロセスのことをタスクと呼
ぶ)間で同一資源を参照及び更新するとき、対象資源を
1つのタスクに占有使用させるためのマクロとして、E
NQ/DEQマクロ命令がある。
【0003】ここで、ENQマクロ命令は、目的の資源
を占有するための資源確保命令であり、DEQマクロは
その解放命令である。
【0004】このENQマクロ命令には、確保する目的
の資源名、確保の方法に関するオペランドがあるが、そ
の資源の占有期間を指定するオペランドはない。
【0005】一般に、確保する資源の種類により、長期
間占有するロングターム型と処理の途中に短期間一時的
に占有するショートターム型がある。
【0006】ロングターム型には、例えば、ジョブ制御
文中のDD文によるデータセットの割当てのように、割
当てを行うジョブステップの開始から割当てを解除する
ジョブステップの終了までデータセットを占有するデー
タセットの排他制御の例がある。このロングターム型の
ENQマクロ命令を使用している箇所では、目的の資源
が他のタスクにより長期間占有されることを考慮した処
理をしていることが一般的である。
【0007】一方、ショートターム型は、システム共用
テーブルの更新時等、その処理間だけ占有するもので、
一般にはこのショートターム型が使用される場合が多
い。
【0008】従って、このショートターム型のENQマ
クロ命令の方が、その発行頻度が圧倒的に多い。
【0009】この場合、ショートターム型は資源の占有
期間が短いので、他タスクにより目的の資源が占有され
ていても、すぐ解放されるという前提で処理しており、
他タスクに占有されていれば、単に待ち行列にエントリ
して待つだけのことが多い。
【0010】
【発明が解決しようとする課題】ところで、高過負荷の
システム状態では、実記憶の不足等に起因するスワップ
アウトや入出力遅れ等により、優先順位の低いタスクの
沈み込みという現象が度々ある。すなわち、優先順位の
低いタスクがオペレーテイングシステムに選択されず
に、当該タスクに制御が渡されなくなるという沈み込み
状態が度々発生する。
【0011】しかし、ショートターム型ENQマクロ命
令により資源を一旦確保した低優先順位のタスクが上記
のような沈み込み状態になると、その上位の優先順位の
タスク群が同一資源を確保しにいっても、沈み込み状態
がなくなるまで上位のタスク群は優先順位が高いのにも
かかわらず不当に長時間待たされることになる。このた
め、システム全体のスループット及び応答性能が極端に
低下するという問題がある。
【0012】本発明の目的は、共用資源を占有している
プロセスの処理遅れに起因するシステム全体のスループ
ット及び応答性能の低下を防止することができる排他制
御方法を提供することである。
【0013】
【課題を解決するための手段】上記目的を達成するため
に本発明は、基本的には、共用資源を占有するための資
源確保命令中に、時間的占有期間に関する情報を設定す
る領域を設け、時間的占有期間に関する情報が設定され
ていた場合は、該資源確保命令を発行したプロセスに対
する資源占有状態とした後、当該プロセスの処理優先度
を資源占有期間の間だけ高い優先度に変更して該プロセ
スを優先実行させ、実行終了時に処理優先度を資源占有
前の状態に戻すことを特徴とする。
【0014】
【作用】上記手段によると、資源確保命令が、その中に
時間的占有期間に関する情報が設定されショートターム
型ENQマクロ命令であれば、当該ENQマクロ命令に
よって共用資源を新たに占有したプロセスの優先順位
が、その占有期間のみ高い順位に変更される。従って、
オペレーテイングシステムによって直ちに選択されて実
行されることになる。
【0015】この結果、ショートターム型ENQマクロ
命令によって共用資源を占有したタスク等のプロセスの
沈み込みが防止され、システム全体のスループット及び
応答性能の低下を防止することができる。
【0016】
【実施例】以下、本発明の一実施例を図面に従って詳細
に説明する。
【0017】図1は、本発明を実現するためのオペレー
ティングシステムで提供する資源確保、解放マクロであ
るENQ、DEQマクロ命令の処理構成の一実施例を示
す処理構成図である。
【0018】図において、101はENQ、DEQマク
ロ命令を発行する要求元プログラム、102はオペレー
ティングシステムであり、この中にENQ/DEQ処理
部103が設けられている。
【0019】ENQ/DEQ処理部103は、ENQ処
理部1031およびDEQ処理部1032で構成されて
いる。そして、これらのENQ処理部1031およびD
EQ処理部1032で使用するタスク(プロセス)対応
のタスク状態退避テーブル1033が設けられている。
【0020】この構成にあっては、要求元プログラム1
01からショートターム型のENQマクロ命令が発行さ
れると、ENQ処理部1031は目的の資源を確保し、
資源占有タスクの処理優先度等の状態変更を行なう。ま
た、要求元プログラム101からDEQマクロ命令が発
行されると、DEQ処理部1032は、占有資源を解放
し、タスクの状態をENQマクロ命令発行前の状態に戻
す。
【0021】ここで、タスク状態退避テーブル1033
は、ENQ/DEQ処理部103で使用され、タスクの
処理優先度等の状態変更を行なうとき、状態変更前のタ
スクの状態を退避するためのものである。
【0022】図2は、本発明の主要部であるENQマク
ロ命令のオペランドの指定方法を示す図であり、従来か
ら存在する対象資源を指定するq名(メジャ名)とr名
(マイナ名)の格納領域アドレス指定オペランド201
に対し、資源占有期間の指定オペランド202が新たに
設けられている。
【0023】この資源占有期間の指定オペランド202
では、「LONG」と指定するとロングターム型、「S
HORT」と指定するとショートターム型であるとそれ
ぞれENQ処理部1031で認識される。
【0024】ショートターム型の場合は、占有タスクの
沈み込み防止のためにタスク優先度等のタスク状態が変
更される。
【0025】また、ロングターム型の場合は、一般的に
共用資源の長期占有を考慮した処理をしているので、タ
スク優先度等のタスク状態は変更されない。
【0026】図3は、ENQ処理部1031における従
来処理に対し、本発明で追加した処理手順を示すフロー
チャートであり、ステップ301の資源の確保処理では
従来と同様に、ENQマクロ命令で指定された目的の資
源を確保する。
【0027】この次以降の処理が本発明によって追加さ
れた部分であり、目的の資源を確保した後、ステップ3
02でENQマクロ命令がショートターム型か否かを資
源占有期間の指定オペランド202によって判定し、シ
ョートターム型でなければ(NOの条件)、本発明で追
加したステップ303以降の処理を実行せずにENQマ
クロ処理を終了し、ENQマクロ発行元の要求元プログ
ラム101にリターンする。
【0028】しかし、ショートターム型であれば(YE
Sの条件)、ステップ303で現在のタスクの状態(タ
スク優先度等)をタスク状態退避テーブル1033に退
避する。
【0029】そして、次のステップ304および305
で該当タスクの沈み込みを防止するため、該当タスクの
優先度を高める。この結果として、スワップアウト等の
待ち状態を回避することができる。この変更を行なった
後、ENQマクロ命令の発行元にリターンする。
【0030】図4は、DEQ処理部1032の従来処理
に対し、本発明により追加した処理手順を示すフローチ
ャートであり、ステップ401の資源解放処理では従来
と同様に、占有状態であった資源を解放した後、ステッ
プ402でENQ処理部1031においてタスク状態退
避テーブル1033にタスクの状態が退避されたている
か否かを判定する。
【0031】退避されていなければ(NOの条件)、D
EQマクロ処理を終了し、DEQマクロ命令の発行元の
要求元プログラム101にリターンする。
【0032】一方、タスクの状態が退避されていれば
(YESの条件)、ステップ403でタスク状態退避テ
ーブル1033からタスクの状態を取り出し、現在のタ
スクの状態をENQマクロ命令発行前の状態に回復す
る。
【0033】次に、ステップ404でタスク状態退避テ
ーブル1033を初期化し、DEQマクロ命令の発行元
の要求元プログラム101にリターンする。
【0034】図5は、優先度の低いタスクXがENQマ
クロ命令によって資源を確保した後、優先度の高いタス
クAが資源を利用可能になるまでの過程について、タス
クXの優先度を変更しない従来方法による場合(図5
a)と、優先度を変更した場合(図5b)とを例示した
ものであり、図5a,図5bとも時刻T1でタスクAの
資源確保命令が発行されたものとしている。
【0035】この例の場合、図5aの従来方法では、タ
スクXがENQマクロ命令によって資源を確保した後、
DEQマクロ命令によって資源を解放するまでの処理に
おいて何等かの待ち要因が発生すると、タスクXの優先
度が低いため、オペレーティングシステムによりタスク
Xが直ちに選択されず、タスクAのENQマクロ命令は
待機させられる。
【0036】これに対し、図5bに示すように、本発明
により優先度を変更した場合は、タスクXの優先度がタ
スクAより高い値に変更され、タスクXが直ちに実行さ
れる。そして、その実行後の資源解放によってタスクA
が実行される。
【0037】従って、両者を比較すると、従来方法によ
る場合は、タスクAが実際に資源を確保するまでの時間
はt1時間であるのに対し、本発明による場合は、t1
時間より短いt2時間で資源を確保し、必要な処理を行
うことが可能になる。
【0038】なお、図5中の「処理」は各タスクに予め
割り当てられたファイルの更新処理等を意味するもので
ある。
【0039】以上のことから、資源を一旦占有したタス
クは高い優先度に変更されて処理される。従って、ショ
ートターム型ENQマクロ命令によって共用資源を占有
した優先度の低いタスク等のプロセスの沈み込みが防止
され、システム全体のスループット及び応答性能の低下
を防止することができる。
【0040】
【発明の効果】以上説明したように本発明においては、
資源を占有した優先度の低いタスクの沈み込みを防止で
き、その沈み込みによる処理遅れに起因するシステム全
体のスループットの低下、及び優先度の高いオンライン
プログラム等の応答性能の低下等、システム性能の低下
を防止できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す処理構成図である。
【図2】資源確保マクロ命令の指定方法の一例を示す説
明図である。
【図3】資源確保処理の処理手順を示すフローチャート
である。
【図4】資源解放処理の処理手順を示すフローチャート
である。
【図5】優先度の低いタスクがENQマクロ命令によっ
て資源を確保した後、優先度の高いタスクが資源を利用
可能になるまでの過程について示した説明図である。
【符号の説明】
101…要求元プログラム、102…オペレーティング
システム、103…ENQ/DEQ処理部、1031…
ENQ処理部、1032…DEQ処理部、1033…タ
スク状態退避テーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスを同時に並行して実行す
    る計算機システムのオペレーテイングシステムにおける
    プロセス間の共用資源の排他制御方法において、 共用資源を占有するための資源確保命令中に、時間的占
    有期間に関する情報を設定する領域を設け、時間的占有
    期間に関する情報が設定されていた場合は、該資源確保
    命令を発行したプロセスに対する資源占有状態とした
    後、当該プロセスの処理優先度を資源占有期間の間だけ
    高い優先度に変更して該プロセスを優先実行させ、実行
    終了時に処理優先度を資源占有前の状態に戻すことを特
    徴とする排他制御方法。
JP6020897A 1994-02-18 1994-02-18 排他制御方法 Pending JPH07230387A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6020897A JPH07230387A (ja) 1994-02-18 1994-02-18 排他制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6020897A JPH07230387A (ja) 1994-02-18 1994-02-18 排他制御方法

Publications (1)

Publication Number Publication Date
JPH07230387A true JPH07230387A (ja) 1995-08-29

Family

ID=12040024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6020897A Pending JPH07230387A (ja) 1994-02-18 1994-02-18 排他制御方法

Country Status (1)

Country Link
JP (1) JPH07230387A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278141B2 (en) 2003-04-23 2007-10-02 International Business Machines Corporation System and method for adding priority change value corresponding with a lock to a thread during lock processing
JP2020061104A (ja) * 2018-10-12 2020-04-16 株式会社日立産機システム コントロール装置
JP2021029321A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029338A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029337A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029336A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029320A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278141B2 (en) 2003-04-23 2007-10-02 International Business Machines Corporation System and method for adding priority change value corresponding with a lock to a thread during lock processing
JP2020061104A (ja) * 2018-10-12 2020-04-16 株式会社日立産機システム コントロール装置
WO2020075351A1 (ja) * 2018-10-12 2020-04-16 株式会社日立産機システム コントロール装置
KR20210016617A (ko) * 2018-10-12 2021-02-16 가부시키가이샤 히다치 산키시스템 컨트롤 장치
CN112470088A (zh) * 2018-10-12 2021-03-09 株式会社日立产机系统 控制装置
CN112470088B (zh) * 2018-10-12 2023-09-12 株式会社日立产机系统 控制装置
JP2021029321A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029338A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029337A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029336A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機
JP2021029320A (ja) * 2019-08-19 2021-03-01 株式会社ユニバーサルエンターテインメント 遊技機

Similar Documents

Publication Publication Date Title
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
US7962913B2 (en) Scheduling threads in a multiprocessor computer
US6148322A (en) Processing unit with an improved ability to coordinate the execution of multiple tasks with varying priorities
US20100153957A1 (en) System and method for managing thread use in a thread pool
JPH07230387A (ja) 排他制御方法
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
JPH08297581A (ja) リアルタイム・オペレーティングシステムにおける割り込み管理方式
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JPH05250188A (ja) プロセスのプライオリティ制御方式
JP3005562B1 (ja) タスク管理装置及びタスクスケジューリング方法
JP3027526B2 (ja) ジョブスケジュール方法
JPH05108380A (ja) データ処理システム
JP2000047881A (ja) リアルタイムシステム
JPS60181934A (ja) タスク優先度制御方式
JPH06187171A (ja) 割込みにおけるスケジューリング方式
KR100686864B1 (ko) 지능적 작업 스케줄링 방법 및 그 장치
JPH01258135A (ja) トランザクション実行制御方式
JPH07114518A (ja) マルチプロセッサシステムにおけるタスクスケジューリング方式
JPH05224941A (ja) アプリケーション・プログラム制御方式
JPH0659915A (ja) トランザクションの実行順序制御方法および装置
JPH04257915A (ja) 情報処理装置
JP2001282555A (ja) コンピュータシステムのプロセス管理方式
JPH0778090A (ja) ジョブの優先スケジュール方法