JPH04364550A - メモリ管理方法 - Google Patents

メモリ管理方法

Info

Publication number
JPH04364550A
JPH04364550A JP3166371A JP16637191A JPH04364550A JP H04364550 A JPH04364550 A JP H04364550A JP 3166371 A JP3166371 A JP 3166371A JP 16637191 A JP16637191 A JP 16637191A JP H04364550 A JPH04364550 A JP H04364550A
Authority
JP
Japan
Prior art keywords
memory
processor
processors
area
memory area
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
JP3166371A
Other languages
English (en)
Inventor
Takaaki Shimada
島田 隆昭
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP3166371A priority Critical patent/JPH04364550A/ja
Publication of JPH04364550A publication Critical patent/JPH04364550A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサによ
り共有されるメモリを管理するメモリ管理方法に関する
ものである。
【0002】
【従来の技術】従来、共有メモリのプロセッサの所有権
を管理する特殊な装置がない場合には、メモリを共有す
るプロセッサのうちの1つが管理者となって、共有メモ
リ上の領域の所有権(排他的なアクセス権)を管理して
いた。即ち、管理者以外のプロセッサは、何らかのプロ
セッサ間インタフェースによって、管理者に要求を行な
うことにより、バッファの所有権の確保・解放を行なっ
ていた。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、バ
ッファの確保・解放の度に、プロセッサ間で処理の要求
、完了のやりとりが行なわれる。管理者以外のプロセッ
サがマルチタスク機能を持たない場合には、管理者に要
求を行なう度に完了までの間要求者の処理が中断される
。また、マルチタスク機能を持つ場合でも、管理者への
要求時及び完了時に要求者のプロセッサでタスクの切換
えが発生する。これらのプロセッサ間のやりとりと、処
理の中断、又はタスク切換処理のため、全体的な処理能
力の低下を招く。
【0004】また、処理要求が頻繁に発生する場合には
、管理者であるプロセッサの負荷が増大し、メモリ管理
以外についての処理能力が低下するとともに、他のプロ
セッサからの所有権の要求から完了までの遅延が増大す
る。また、管理者が何らかの原因で動作できなくなった
場合、システム全体が停止することになる。本発明は、
以上の点に着目してなされたもので、タスク切換等を伴
わずに所有権の確保や解放を高速に行なうことができる
共有メモリ上のメモリ管理方法を提供することを目的と
するものである。
【0005】
【課題を解決するための手段】本発明のメモリ管理方法
は、複数のプロセッサによって共有される共有メモリ上
の領域毎に、当該各プロセッサに対応したフラグをそれ
ぞれ設け、当該フラグにより、対応するプロセッサが共
有メモリ上の対応する領域を使用している状態であるか
、未使用の状態であるか、所有権を他のプロセッサへ譲
渡している途中の状態であるかを表示し、前記各プロセ
ッサによるメモリ領域の確保時に、当該フラグによりメ
モリ領域が使用中及び譲渡中か否かを検出し、使用中及
び譲渡中のいずれの状態でもない場合にのみ当該メモリ
領域を確保するようにしたことを特徴とするものである
【0006】
【作用】本発明のメモリ管理方法においては、複数のプ
ロセッサによって共有される共有メモリ上の領域毎に、
当該各プロセッサに対応したフラグをそれぞれ設ける。 そして、当該フラグにより、対応するプロセッサが共有
メモリ上の対応する領域を使用している状態であるか、
未使用の状態であるか、所有権を他のプロセッサへ譲渡
している途中の状態であるかを表示する。各プロセッサ
は、メモリ領域の確保時に、当該フラグによりメモリ領
域が使用中及び譲渡中か否かを検出する。そして、使用
中及び譲渡中のいずれの状態にもない場合にのみ当該メ
モリ領域を確保する。
【0007】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明の方法を適用したシステム
の実施例のブロック図である。図示の装置は、共有メモ
リ1と、複数のプロセッサ11、12、13とから成る
【0008】共有メモリ1は、プロセッサ11、12、
13によって共有される。共有メモリ1は、各プロセッ
サ11、12、13から同等にアクセス可能であるもの
とする。共有メモリ1上の各領域21、22、…は、い
ずれかのプロセッサによって所有されているものとする
。各領域21、22、…は、それぞれ対応する管理情報
31、32、…を持っているか、あるいは、どのプロセ
ッサにも所有されていない。尚、共有メモリ1を共有す
るプロセッサの数は、3つの場合に限らず、いくつであ
ってもよいことはもちろんである。
【0009】図2は、管理情報とメモリ領域の関連図で
ある。図2に示すように、各領域21、22、…は、メ
モリ1を共有するプロセッサ11、12、13の数分の
フラグ41、42、43から成る管理情報31、32、
…と関連づけて管理される。即ち、チェイン部40に、
対応するメモリ領域の先頭アドレスが格納されている。 管理情報31、32、…のそれぞれにおいて、1つのフ
ラグは、他のフラグと全く独立に読み出し、書き込みを
行なえるものとする。これらのフラグは、各プロセッサ
によるメモリ上の領域21、22、…に対する所有権の
有無を示している。この場合、これらのフラグは、「使
用中」、「未使用」、「譲渡中」の3つの状態を取り得
る。
【0010】「使用中」とは、当該フラグに対応するプ
ロセッサが共有メモリ上の対応する領域を使用している
状態であることをいう。「未使用」とは、当該フラグに
対応するプロセッサが共有メモリ上の対応する領域につ
いて未使用の状態であることをいう。「譲渡中」とは、
当該フラグに対応するプロセッサが共有メモリ上の対応
する領域の所有権を他のプロセッサへ譲渡している途中
の状態であることをいう。
【0011】次に、上述したシステムの動作について説
明する。図3は、メモリ領域の確保手順を示すフローチ
ャートであり、図4は、メモリ領域の解放手順を示すフ
ローチャートであり、図5は、メモリ領域の譲渡手順を
示すフローチャートである。各プロセッサ11、12、
13は、他のプロセッサの状態によらず、このフローチ
ャートにのみ従う。各々の処理は、他のメモリ管理処理
又はこれを伴う処理によって中断されることはないもの
とする。即ち、1つのプロセッサでマルチタスクを行な
う場合にも、各フローチャートの途中でタスク切換が発
生することがない。
【0012】まず、図3に従ってメモリ領域の確保手順
について説明する。確保要求を発生したプロセッサは、
確保を要求したメモリ領域に対応するフラグのうち、「
未使用」以外の状態にあるものの個数を数える(ステッ
プS31)。即ち、「使用中」及び「譲渡中」のフラグ
の個数を数える。この個数が1以上の場合(ステップS
32)、このメモリ領域は、既に使用中あるいは譲渡中
であることを意味するため、確保要求は失敗となる(ス
テップS38)。
【0013】一方、この個数が0の場合(ステップS3
2)、プロセッサは、自分に割り当てられたフラグを「
使用中」に設定する(ステップS33)。次に、再度「
未使用」以外の状態のフラグの個数を数える(ステップ
S34)。この個数が1以外の場合は、同時に他のプロ
セッサからの確保要求が発生したことを意味するため、
確保は失敗となり、自分のフラグを「未使用」に戻す(
ステップS37、S38)。この個数が1の場合は、確
保成功である(ステップS36)。
【0014】次に、図4に従ってメモリ領域の解放手順
について説明する。解放要求が発生したプロセッサでは
、解放を要求したメモリ領域に対応するフラグが「使用
中」であるかどうか調査する(ステップS41)。 「使用中」であれば、プロセッサは、フラグを「未使用
」に設定し(ステップS42)、解放処理は正常終了と
なる(ステップS43)。一方、「使用中」以外であれ
ば、解放処理は異常終了となる(ステップS44)。
【0015】次に、図5に従ってメモリ領域の譲渡手順
について説明する。メモリ領域の譲渡の要求は、例えば
、各プロセッサの演算機能や能力が演算の種類(統計計
算や数値計算等)によって異なる場合に、あるプロセッ
サから他のプロセッサへそのプロセッサの得意とする演
算処理を依頼した場合等に生じる。譲渡要求が発生した
プロセッサは、譲渡するメモリ領域の譲渡元のフラグを
「譲渡中」に設定する(ステップS51、S52)。
【0016】次に、譲渡元のプロセッサは、譲渡先のプ
ロセッサに対し、譲渡の発生を何らかのプロセッサ間イ
ンタフェースにより通知する(ステップS53)。譲渡
元での処理は、以上で終了する(ステップS54)。フ
ラグを「使用中」ではなく、「譲渡中」に設定するのは
、譲渡中のメモリが譲渡元のプロセッサによって図4に
従って誤って解放されるのを防ぐためである。フラグが
「譲渡中」の場合は、譲渡先のプロセッサのみがそのメ
モリ領域を獲得することができる。
【0017】譲渡先のプロセッサでは、自プロセッサ、
即ち譲渡されたメモリ領域の譲渡先のフラグを「使用中
」に設定した後(ステップS61)、譲渡元のフラグを
「未使用」に設定する(ステップS62)。この順序で
フラグを操作することで、メモリ領域の2重確保を防ぐ
ことができる(図3参照)。以上で、あるプロセッサか
ら他のプロセッサへのメモリ領域の譲渡は終了する。 以上のようにして、各プロセッサ11、12、13は、
いずれも他のプロセッサに依存することなく、自分自身
でメモリ領域の確保・解放・譲渡を行なうことができる
【0018】
【発明の効果】以上説明したように、本発明のメモリ管
理方法によれば、「使用中」・「未使用」・「譲渡中」
の3状態を表示するフラグを各メモリ領域毎にすべての
プロセッサについて設けてメモリ領域を管理するように
したので、メモリ領域の確保・解放処理は他のプロセッ
サに無関係に非同期に行なうことができる。また、メモ
リ領域の譲渡についても、譲渡元のプロセッサは譲渡先
のプロセッサへの通知のみで譲渡処理を終わらせること
ができ、譲渡先のプロセッサでの譲受の完了を待つ必要
がない。このため、すべてのプロセッサでの処理がタス
ク切換等による能力低下を伴わずに、高速で行なうこと
ができる。また、すべてのプロセッサでの処理が他のす
べてのプロセッサに依存せずに行なえるため、1つのプ
ロセッサの障害によりシステム全体が停止することを完
全に防止でき、信頼性の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の方法を適用したシステムの実施例のブ
ロック図である。
【図2】管理情報とメモリ領域の関連図である。
【図3】本発明に係るメモリ領域の確保手順を示すフロ
ーチャートである。
【図4】本発明に係るメモリ領域の解放手順を示すフロ
ーチャートである。
【図5】本発明に係るメモリ領域の譲渡手順を示すフロ
ーチャートである。
【符号の説明】
1  共有メモリ 11、12、13  プロセッサ 21、22、…  メモリ領域 31、32、…  管理情報 41、42、43  フラグ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  複数のプロセッサによって共有される
    共有メモリ上の領域毎に、当該各プロセッサに対応した
    フラグをそれぞれ設け、当該フラグにより、対応するプ
    ロセッサが共有メモリ上の対応する領域を使用している
    状態であるか、未使用の状態であるか、所有権を他のプ
    ロセッサへ譲渡している途中の状態であるかを表示し、
    前記各プロセッサによるメモリ領域の確保時に、当該フ
    ラグによりメモリ領域が使用中及び譲渡中か否かを検出
    し、使用中及び譲渡中のいずれの状態でもない場合にの
    み当該メモリ領域を確保するようにしたことを特徴とす
    るメモリ管理方法。
JP3166371A 1991-06-11 1991-06-11 メモリ管理方法 Pending JPH04364550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3166371A JPH04364550A (ja) 1991-06-11 1991-06-11 メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3166371A JPH04364550A (ja) 1991-06-11 1991-06-11 メモリ管理方法

Publications (1)

Publication Number Publication Date
JPH04364550A true JPH04364550A (ja) 1992-12-16

Family

ID=15830173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3166371A Pending JPH04364550A (ja) 1991-06-11 1991-06-11 メモリ管理方法

Country Status (1)

Country Link
JP (1) JPH04364550A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018669A (ja) * 2004-07-02 2006-01-19 Ricoh Co Ltd メモリ排他制御装置、画像処理装置、及び画像形成装置
JP2018037021A (ja) * 2016-09-02 2018-03-08 オムロン株式会社 制御装置および制御システム
JP2019101951A (ja) * 2017-12-07 2019-06-24 トヨタ自動車株式会社 情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018669A (ja) * 2004-07-02 2006-01-19 Ricoh Co Ltd メモリ排他制御装置、画像処理装置、及び画像形成装置
JP4669673B2 (ja) * 2004-07-02 2011-04-13 株式会社リコー メモリ排他制御装置、画像処理装置、及び画像形成装置
JP2018037021A (ja) * 2016-09-02 2018-03-08 オムロン株式会社 制御装置および制御システム
JP2019101951A (ja) * 2017-12-07 2019-06-24 トヨタ自動車株式会社 情報処理装置

Similar Documents

Publication Publication Date Title
US8108196B2 (en) System for yielding to a processor
US7260663B2 (en) System and method for presenting interrupts
CA1297199C (en) Multiprocessor memory management method and apparatus
US6691194B1 (en) Selective association of lock override procedures with queued multimodal lock
US6718448B1 (en) Queued locking of a shared resource using multimodal lock types
US5313584A (en) Multiple I/O processor system
US6279046B1 (en) Event-driven communications interface for logically-partitioned computer
JP2001331333A (ja) 計算機システム及び計算機システムの制御方法
US6625638B1 (en) Management of a logical partition that supports different types of processors
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
TW200404253A (en) Thread dispatch mechanism and method for multiprocessor computer systems
US20050278722A1 (en) System for correct distribution of hypervisor work
JPH01200466A (ja) データ処理システム
JPS63128457A (ja) 制御装置および入出力装置へのアクセスを制御する方法
US5204954A (en) Remote storage management mechanism and method
JP3195489B2 (ja) 外部記憶制御装置およびバス切り替え制御方法
US9088569B2 (en) Managing access to a shared resource using client access credentials
JPH04364550A (ja) メモリ管理方法
US6487580B1 (en) Method and system for managing concurrently executable computer processes
EP0049521A2 (en) Information processing system
JPH07334468A (ja) 負荷分散方式
JP3227069B2 (ja) 入出力処理システム
JPS6125249A (ja) 排他制御方式
CN114327826A (zh) 调度器管理方法、装置、设备及存储介质
JPH04195666A (ja) マルチプロセッサシステム