JPH0468461A - 資源管理方式 - Google Patents

資源管理方式

Info

Publication number
JPH0468461A
JPH0468461A JP2180477A JP18047790A JPH0468461A JP H0468461 A JPH0468461 A JP H0468461A JP 2180477 A JP2180477 A JP 2180477A JP 18047790 A JP18047790 A JP 18047790A JP H0468461 A JPH0468461 A JP H0468461A
Authority
JP
Japan
Prior art keywords
cpu
access
shared
resource
access right
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
JP2180477A
Other languages
English (en)
Inventor
Masayuki Yokota
雅之 横田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2180477A priority Critical patent/JPH0468461A/ja
Priority to US07/725,639 priority patent/US5414856A/en
Publication of JPH0468461A publication Critical patent/JPH0468461A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は複数のCPUで構成されるマルチプロセッサ・
システムにおける共有資源へのアクセスを管理する資源
管理方式に関するものである。
[従来の技術] マルチプロセッサ・システムでは、共有資源として共有
メモリ、共有Ilo等を有しており、1つのプロセッサ
が占有している共有資源に対しては他のプロセッサによ
るアクセスを禁止する必要、すなわち排他的な制御が必
須である。
従来、このための方式としてセマフォ制御方式などが用
いられている。セマフォ制御方式等では、各々のCPU
が共有資源にアクセスする場合に、共有メモリ上に個々
の資源に対応したセマフォ等を持ち、これによりアクセ
ス権を制御して相互干渉を防止している。
[発明が解決しようとしている課題] しかしながら、上記従来例では、共有メモリにセマフォ
等のアクセス権制御領域を設けてその領域をテストし、
もしアクセス可能ならばアクセス権をセットして共有の
メモリのあるブロック領域などにアクセスし、もし、ア
クセス不可ならばアクセス可能になるまでテストを繰返
すこととなる。
このため、次のような欠点があった。
■各CPU間の優先順位を同一レベルとすると、あるC
PUがセマフォ等をテストしてアクセス可能だった場合
、これを受けてアクセス権をセットするまでの間に、他
のCPUが先にアクセス権をセットしてしまう可能性が
ある。すると、これらのCPU間でのアクセス競合が発
生する。
このため、単純に1つのセマフォではなく、複数のテス
ト機構あるいは新たなサイクルを設ける必要があり、こ
れにより処理が複雑になり実際のアクセスまでにより多
くの時間を要するという問題があった。
■アクセス権のテスト及びセットを高速にするためには
、CPU間でアクセス権の優先順位をつける必要がある
。しかし、これを行うと、資源毎に優先順位をつける必
要があり、処理が肥大化し複雑になるという問題点があ
った。
本発明は、前記従来の欠点を除去し、簡単で迅速な共有
資源のアクセスを可能とする資源管理方式を提供する。
[課題を解決するための手段] 上述した問題点を解決するために、本発明に係わる資源
管理方式は、複数のCPUが資源を共有するシステムに
おいて、 前記共有資源のアクセス権を制御するアクセス制御手段
をいずれか1つのCPUに備え、他のCPUからのアク
セス権要求を前記1つのCPUに代行させる。
又、複数のCPUが資源を共有するシステムにおいて、 前記複数のCPU間を結び前記共有資源のアクセス権に
関する情報を互いに報知する報知手段と、いずれかの所
定のCPUに、アクセス権を制御し前記共有資源におけ
る競合を防止するアクセス制御手段とを備え、 各CPUの前記共有資源へのアクセス権の獲得が、前記
報知手段を介して前記アクセス制御手段により行なわれ
る。
ここで、前記所定のCPU以外は他のCPUの前記共有
資源に対する処理は、前記所定のCPUに対して前記報
知手段により前記共有資源のアクセス権を要求して、前
記アクセス制御手段による前記共有資源に対するアクセ
ス権の獲得を待って開始し、 該処理終了後にはアクセス権の解除要求を前記報知手段
により前記所定のCPUに伝え、前記アクセス制御手段
は前記アクセス権を解除する。
[作用] 以上のように構成される資源管理方式においては、複数
のCPUが共有資源へアクセスする際、アクセス権のテ
スト及びアクセス権のセットが、1つのCPU上で実行
され、単一のCPU上で動作する複数タスクの場合と同
じような呼出しで行なわれる。また、各CPUから共有
資源へアクセスする場合のアクセス権のテスト及びセッ
トは、CPU間の優先順位をつけることなく統一的手法
によって行なわれる。
[実施例] 以下、添付図面を参照して本発明の詳細な説明する。
第1図は本発明の資源管理方式を実現する実施例のマル
チプレクサ・システムのブロック図である。本実施例で
は2つのCPUによるマルチプロセッサ・システムとし
て説明する。
第1のCPUl0Iは、プログラムを格納したり実行す
るためのROM102とRAM103とを備える。第1
のCPU I O1はマルチタスク環境を実現しており
、ROM102は資源管理として各タスクが資源へのア
クセス権をテストし、アクセス可能ならばアクセス権を
セットするといった資源管理プログラム104を有する
。第2のCPUIIIも、第1のCPU 101と同様
、プログラムを格納したり実行したりするROM112
とRAM113を備える。
121と122は、CPUl0IとCPU111の共有
資源である共有メモリと共有I10である。また、12
3はCPU101からCPU111ヘコマンドを送出す
るためのコマンドボートである。同様に、124はCP
UI 11からCPU 101ヘコマンドを送出するた
めのコマンドボートである。131,141は、それぞ
れCPU 101がCPUI 11へ、CPU111が
CPUl0Iへコマンドボート123゜124を介して
送出したときに発生する割込信号IRQである。
以上の構成におけるシステムの特徴を以下に列記すると
、 ■CPU 101に、別のCPUからのアクセス権のテ
スト及びセット(Test And 5et)の指示を
受付けるためのコマンドボートな設ける。
■CPU 101はマルチタスク環境を実現しており、
資源管理として各タスクが資源へのアクセス権をテスト
し、アクセス可能ならばアクセス権をセットするテスト
及びセット機能を設ける。
■コマンドボートな介して、別のCPUより指示された
テスト及びセットを、そのCPUに代わって実行する仮
想タスクを設けろ。
■CPUl0I以外のCPUは、プログラムによりテス
ト及びセット機能を呼出されると、あたかも自分がテス
ト及びセットを実行しているかのように、コマンドボー
トな介してテスト及びセットの指示なCPUl0Iに送
り、cpulolからの応答コマンドを待ち、応答があ
るとプログラムに戻るドライバソフトと応答コマンドを
受けるコマンドボートな設ける。
■仮想タスクはテスト及びセットを呼出し、アクセス権
が得られると、■への応答のためにコマンドボートな介
して応答コマンドを返す機能を設ける。
第2図は本実施例の資源管理方式の手順を示すフローチ
ャートである。以下、第2図を参照して本実施例の処理
動作を説明する。
CPUI 11が共有資源、たとえば共有メモリのある
ブロックにアクセスしたい場合、CPU111のプログ
ラム内では、ステップ5201のようにアクセス権の設
定要求を行なう。すると、CPUI 11ではCPU 
101にアクセス権の設定要求を行なうドライバ・ソフ
トが呼出され、ステップ5211にてCPU 101に
対してコマンドボート124を介してアクセス設定コマ
ンドを送出する。コマンドボート124にアクセス設定
コマンドがセットされると、コマンドの割込信号I R
QI 41が発生する。
ステップ5101にて起動待ちをしていたCPUl0I
の仮想タスクが起動する。ここで、仮想タスクはステッ
プ5102でコマンド解析し、アクセス権設定要求の場
合にはステップ5103で、ステップ5201を代行す
るアクセス権設定要求なCPUl0Iの資源管理プログ
ラム104に出し、資源管理プログラム104はテスト
及びセット(Test And 5et)などの機能を
用いてアクセスの可否をテストする。もし、共有資源が
占有中ならば、ステップ5104から5103に戻り、
上記テスト処理を繰返す、共有資源が占有されていない
場合には、資源管理プログラム104は、アクセス権を
セットし、仮想タスクに占有権を与える。仮想タスクは
ステップ5105に進み、CPUI 11に対して、コ
マンドボート123を介してアクセス権獲得コマンドを
返すし、ステップ5101に戻り、起動待ちに入る。
アクセス権獲得コマンドのセットにより発生した割込信
号IRQ131により、ステップ5212でアクセス権
獲得コマンド待ちをしていたCPU111のドライバ・
ソフトが起動して呼出元のプログラムへ戻ると、プログ
ラムは共有メモリの対象ブロックを占有できるのでステ
ップ5202にてこの共有資源へアクセスできることに
なる。CPUI 11が共有資源へのアクセスを終了す
ると、ステップ5203においてアクセス権解除要求な
CPUl0Iに対して送信する。
ステップ5101で起動待ちをしているCPU101の
仮想タスクは、ステップ5102においてコマンドを解
析し、このアクセス権解除要求コマンドならば、ステッ
プ5106でセマフォ等をクリアして他のタスク等が利
用できるように共有資源を開放し、仮想タスクは起動待
ちとなる。
一方、CPUl0Iのプログラムによるアクセス権設定
要求(ステップ5lll)やアクセス権解除要求(ステ
ップ5113)も、仮想タスクのステップ5102及び
5206と同様に処理される。従って、CPLll 1
1のステップ5201のアクセス権設定要求とCPU 
101のステップ5111のアクセス権設定要求、及び
ステップ5203のアクセス権解除要求とステップ51
13のアクセス権解除要求とは統一的に処理され、取り
扱いに差異はない。
尚、本実施例では、CPU 101がアクセス権の設定
時と解除時で同一の仮想タスクを用いて処理を行なって
いるが、設定時と解除時とで異なる仮想タスクを用いる
ことも可能である。
以上のようにして、マルチプロセッサにおける共有資源
の管理を、単一〇PUのマルチタスク処理における資源
管理と同様の手段により、統一的かつ効率的に行えるよ
うになる。
[発明の効果〕 本発明により、簡単で迅速な共有資源のアクセスを可能
とする資源管理方式を提供できる。
すなわち、マルチプロセッサ・システムにおける共有資
源の管理を、個々の資源の特性に左右されることなく、
統一的な方法で、かつ1つのCPUのマルチタスク処理
での資源管理と同様に管理でき、効率の向上を図れると
いう効果を提供できる。
【図面の簡単な説明】
第1図は本実施例のマルチプロセッサ・システムのブロ
ック図、 第2図は本実施例の資源管理方式の手順を示すフローチ
ャートである。 図中、101−・・第1(7)CPU、111−・・第
2のCPU、102,112・・・ROM、103゜1
13・・・RAM、104・・・資源管理プログラム、
121・・・共有メモリ、122・・・共有I10.1
23.124・・・コマンドボート、131゜141・
・・割込信号IRQである。

Claims (3)

    【特許請求の範囲】
  1. (1)複数のCPUが資源を共有するシステムにおいて
    、 前記共有資源のアクセス権を制御するアクセス制御手段
    をいずれか1つのCPUに備え、他のCPUからのアク
    セス権要求を前記1つのCPUに代行させることを特徴
    とする資源管理方式。
  2. (2)複数のCPUが資源を共有するシステムにおいて
    、 前記複数のCPU間を結び前記共有資源のアクセス権に
    関する情報を互いに報知する報知手段と、 いずれかの所定のCPUに、アクセス権を制御し前記共
    有資源における競合を防止するアクセス制御手段とを備
    え、 各CPUの前記共有資源へのアクセス権の獲得が、前記
    報知手段を介して前記アクセス制御手段により行なわれ
    ることを特徴とする資源管理方式。
  3. (3)前記所定のCPU以外の他のCPUの前記共有資
    源に対する処理は、前記所定のCPUに対して前記報知
    手段により前記共有資源のアクセス権を要求して、前記
    アクセス制御手段による前記共有資源に対するアクセス
    権の獲得を待つて開始し、 該処理終了後にはアクセス権の解除要求を前記報知手段
    により前記所定のCPUに伝え、前記アクセス制御手段
    は前記アクセス権を解除することを特徴とする請求項第
    2項記載の資源管理方式。
JP2180477A 1990-07-10 1990-07-10 資源管理方式 Pending JPH0468461A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2180477A JPH0468461A (ja) 1990-07-10 1990-07-10 資源管理方式
US07/725,639 US5414856A (en) 1990-07-10 1991-07-03 Multiprocessor shared resource management system implemented as a virtual task in one of the processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2180477A JPH0468461A (ja) 1990-07-10 1990-07-10 資源管理方式

Publications (1)

Publication Number Publication Date
JPH0468461A true JPH0468461A (ja) 1992-03-04

Family

ID=16083908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2180477A Pending JPH0468461A (ja) 1990-07-10 1990-07-10 資源管理方式

Country Status (2)

Country Link
US (1) US5414856A (ja)
JP (1) JPH0468461A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502068A (ja) * 1998-01-30 2002-01-22 オブジェクト テクノロジー ライセンシング コーポレイション コンピュータシステム内の拡張ボードの動作をモデル化する装置および方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250916A (ja) * 1993-02-26 1994-09-09 Fujitsu Ltd 共有メモリの排他制御方法
US5848276A (en) * 1993-12-06 1998-12-08 Cpu Technology, Inc. High speed, direct register access operation for parallel processing units
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US5991895A (en) * 1995-05-05 1999-11-23 Silicon Graphics, Inc. System and method for multiprocessor partitioning to support high availability
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
JPH09190411A (ja) * 1996-01-12 1997-07-22 Nec Corp 共有アプリケーションプログラムにおける操作権連動方式及び協同作業システム
US6910211B1 (en) * 1997-03-14 2005-06-21 International Business Machines Corporation System and method for queue-less enforcement of queue-like behavior on multiple threads accessing a scarce source
US6092220A (en) * 1997-11-17 2000-07-18 International Business Machines Corporation Method and apparatus for ordered reliable multicast with asymmetric safety in a multiprocessing system
US6748438B2 (en) 1997-11-17 2004-06-08 International Business Machines Corporation Method and apparatus for accessing shared resources with asymmetric safety in a multiprocessing system
US6182197B1 (en) 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6321279B1 (en) * 1998-09-14 2001-11-20 Compaq Computer Corporation System for implementing intelligent I/O processing in a multi-processor system by redirecting I/O messages to a target central processor selected from the multi-processor system
US7093260B1 (en) * 2000-05-04 2006-08-15 International Business Machines Corporation Method, system, and program for saving a state of a task and executing the task by a processor in a multiprocessor system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL154023B (nl) * 1969-02-01 1977-07-15 Philips Nv Prioriteitscircuit.
FR2482331B1 (fr) * 1980-05-06 1986-03-21 Thomson Csf Mat Tel Procede d'arbitration centralisee, et arbitreur centralise pour systeme multiprocesseur
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4794515A (en) * 1986-01-17 1988-12-27 International Business Machines Corporation Protection of data in a multiprogramming data processing system
US5115499A (en) * 1986-05-14 1992-05-19 Sequoia Systems, Inc. Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code
US4953072A (en) * 1987-05-01 1990-08-28 Digital Equipment Corporation Node for servicing interrupt request messages on a pended bus
JPH02195453A (ja) * 1989-01-25 1990-08-02 Toshiba Corp ファイルアクセス制御方式
US5226143A (en) * 1990-03-14 1993-07-06 International Business Machines Corporation Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502068A (ja) * 1998-01-30 2002-01-22 オブジェクト テクノロジー ライセンシング コーポレイション コンピュータシステム内の拡張ボードの動作をモデル化する装置および方法

Also Published As

Publication number Publication date
US5414856A (en) 1995-05-09

Similar Documents

Publication Publication Date Title
US5095427A (en) Dispatch control of virtual machine
US6715016B1 (en) Multiple operating system control method
US5448732A (en) Multiprocessor system and process synchronization method therefor
US7426732B2 (en) Placing a task of a multithreaded environment in a known state
US5274823A (en) Interrupt handling serialization for process level programming
US5966543A (en) Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
US5455958A (en) Rendering context manager for display adapters
JPH0468461A (ja) 資源管理方式
US10241829B2 (en) Information processing device, information processing method, recording medium, calculation processing device, calculation processing method
US6148325A (en) Method and system for protecting shared code and data in a multitasking operating system
US6507861B1 (en) System and method for avoiding deadlock in a non-preemptive multi-threaded application running in a non-preemptive multi-tasking environment
JPS6321941B2 (ja)
EP1197857A2 (en) Method of controlling a computer
JPH0877039A (ja) テスト方法
Mejia-Alvarez et al. Interrupt handling in classic operating systems
JP2866410B2 (ja) プログラムのテスト方法
JPS6145348A (ja) バス優先権制御方式
JPH02244371A (ja) マルチプロセツサシステムの排他制御方法
JPH01305461A (ja) バス使用権制御方式
JPH1069392A (ja) プロセスの実行方法
JPH10312296A (ja) プロセス切替え制御方式
JPH064323A (ja) マルチプロセッサシステム
JP3187117B2 (ja) マルチプロセッサ内蔵1チップマイクロコンピュータ
JPH0439739A (ja) 計算機システムの共有サブルーチン交換方式
JPH0457022B2 (ja)