JPH03237554A - マルチプロセッサ制御方式 - Google Patents

マルチプロセッサ制御方式

Info

Publication number
JPH03237554A
JPH03237554A JP3414590A JP3414590A JPH03237554A JP H03237554 A JPH03237554 A JP H03237554A JP 3414590 A JP3414590 A JP 3414590A JP 3414590 A JP3414590 A JP 3414590A JP H03237554 A JPH03237554 A JP H03237554A
Authority
JP
Japan
Prior art keywords
exclusive
program
control
state
data 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
JP3414590A
Other languages
English (en)
Inventor
Norihei Nakada
徳平 中田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP3414590A priority Critical patent/JPH03237554A/ja
Publication of JPH03237554A publication Critical patent/JPH03237554A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機によるデータ処理に関し、特にマル
チプロセッサ制御に関する。
〔従来の技術〕
従来、この種のメモリ共有型のマルチプロセッサシステ
ムでは、プロセッサ間の排他制御を行うため、ロック・
アンロック又はセマフォが用いられていた。
〔発明が解決しようとする課題〕
シングルプロセッサシステムでは、CPUが1個しかな
いため、プロセッサ間での排他制御を行う必要がない。
このため、シングルプロセッサシステムを前提に作られ
たオペレーティングシステムでは、タスクがあるデータ
領域を参照又は更新する際、排他状態にしておらず、I
/O終了特等によりCPU権を放すと、他のタスクがC
PU権を得た時、そのデータ領域を参照又は更新するこ
とができる。このようなオペレーティングシステムをマ
ルチプロセッサ化する際、上述したロック・アンロック
又はセマフォによるプロセッサ間の排他制御方式を適用
すると、あるタスクがある共通データ領域を参照又は更
新するため排他状態にした後、I/O終了特等によりC
PU権を放すと、その共通データ領域は排他状態のまま
であるため、他のタスクがCPU権を得ても、その共通
データ領域を参照又は更新することができずアルゴリズ
ムを修正しなければならないという問題点がある。
〔課題を解決するための手段〕
本発明のマルチプロセッサ制御方式の構成は、メモリ共
有型マルチプロセッサシステムにおいて、プロセッサ間
の排他制御を行うため、そのプロセッサ間の共通データ
領域に対し、その領域が排他状態であるか否かを示す排
他情報、および、排他状態である場合に、その排他状態
が解けるのを待合せる排他待行列、および、あるタスク
がどの共通データ領域を排他状態にしているか、又は、
その排他状態が解けるのを待合せているかを示す排他I
D、および、前記共通データ領域を排他状態にする排他
開始制御、前記共通データ領域の排他状態を解く排他終
了制御、I/O終了待などのイベントの終了を待合せす
る際、そのタスクが排他状態にしている共通領域の排他
状態を解くイベント待制御、前記イベントが終了した場
合に、そのタスクがイベント待になる時点で排他状態に
していた共通領域を排他状態にするイベント終了制御を
含むタスク制御機構を有することを特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成図、第2図(a)〜(
d)は第1図のタスク制御機構の各制御の実行フローチ
ャート、第3図(a)および(b)は第1図のプログラ
ム(X)および(Y)の実行フローチャートである。
プログラム(X)50はプロセッサ間共通データ領域を
参照・更新するプログラムであり、そのフローは第3図
(a)で示すようになっている。
これは、シングルプロセッサシステムで作られていたも
の(プログラムZとする)にαとβのステップを追加し
、マルチプロセッサに対応できるようにしたものである
。このプログラムを例にとり説明する。
まず、シングルプロセッサシステムで作られていたプロ
グラムZを2本同時に動かした場合、次のように動作す
る。最初に動き始めたプログラムz1は共通データ領域
40の参照・更新を行った(γ1)後、イベント待制御
12(γ2)を行い、CPU権を放す。
この結果2番目に動き始めたプログラムZ2にCPU権
が移り、同様にγ1.γ2のステップを実行しcpu権
を放す。
次に、最初に動き始めたプログラムZ1が、プログラム
(γ)60によってイベントを終了すると、γ3を実行
し処理を終了する。その後、2番目に動き始めたプログ
ラムZ2がプログラム(γ〉60によってイベントが終
了すると、γ3を実行し処理を終了する。
次に、マルチプロセッサシステムで、プログラムZに排
他制御のステップα、βを追加したプログラム(X)5
0を2本同時に動かした場合の動作を説明する。
最初に動き始めたプログラムX1が、あるプロセッサ上
で最初に排他開始制御13(α〉を実行すると、排他情
報31がOのため、排他情報31を1にし、TCB20
内の排他ID22に排他情報31のアドレスがセットさ
れる。
次に、共通データ領域40の参照・更新を行う(γ1)
。一方、2番目に動き始めたプログラムX2が、他のプ
ロセッサ上で排他開始制御13(α)を実行すると、排
他情報31は1であるため、プログラムX2のTCBを
排他待行列33内の末尾に登録し、ウェイト状態にし、
TCB’20内の排他ID22に排他情報31のアドレ
スをセットし、プログラムX2の処理を停止する(排他
待ちとなる)(第2図(a))。
プログラムX1がイベント時制m12(γ2)を実行す
ると、TCB20の排他ID22には排他情報31のア
ドレスが格納されており、又、排他待行列33内にプロ
グラムx2のタスクがあるため、それを排他待行列33
から削除し、レディ状態にし、プログラムXrのタスク
をウェイト状態にする。
プログラムX2はレディ状態となると、共通データ領域
40の参照・更新を行い(γ、)、イベント待制御12
(γ2)を実行し、TCB20の排他ID22が指す排
他待行列33にはタスクがないため、排他情報31をO
にした後、ウェイト状態となる。
プログラム(γ)60によって、プログラムXlに対し
イベント終了制御11が実行されると、プログラムXl
の排他ID22は排他情報31を指しており、排他情報
31は0であるので、排他情報31が1にされ、プログ
ラムX1はレディ状態となり、プログラム(X)50に
CPU権が移り、γ3を実行する。
これと同時に、プログラム(γ)60によってプログラ
ムX2に対し、イベント終了制御11が実行されると、
プログラムX2の排他ID22は排他情報31を指して
おり、排他情報31は1であるので、プログラムX2は
排他待行列33内の末尾にTCB20が登録される。
プログラムx1にて排他終了制御14(β〉が実行され
ると、排他待行列33内にプログラムx2のTCB20
が登録されているため、そのTCB20が排他待行列3
3から削除され、レディ状態となり、プログラムX1の
TCB20内の排他ID22にはOがセットされる。
レディ状態となったプログラムX26虚、共通データ領
域40の参照・更新を行い(γ3)、さらに排他終了制
御14を行い、TCB20内の排他ID22にOがセッ
トされ処理を終了する。
〔発明の効果〕
以上説明したように本発明は、シングルプロセッサシス
テムで既に作られたプログラム中のプロセッサ間で排他
制御の必要な区間の始めと終りに、排他開始制御と排他
終了制御を追加するだけで、アルゴリズムを変更しない
でマルチブロセ・ンサシステムで動作させることができ
る効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成国、第2図(a〉〜(
d)は第1図のタスク制御機構/Oの各制御の実行フロ
ーチャート、第3図(a)および(b)は第1図のプロ
グラム(X)および(Y)の実行フローチャートである
。 /O・・・タスク制御機構、11・・・イベント終了制
御、12・・・イベント待制御、13・・・排他開始制
御、14−・・排他終了制御、20a、20b、20c
、20d・・・タスク制御ブロック(TCB)、21a
、21b、21c、21d−・タスク待行列ポインタ、
22a、22b、22c、22d・・・排他ID、31
・・・共通データ領域40の排他情報、32・・・共通
データ領域40の排他待ポインタ、33・・・共通デー
タ領域40の排他待行列、40・・・共通データ領域、
50・・・プログラム(X)、60・・・プログラム(
Y)。

Claims (1)

    【特許請求の範囲】
  1. メモリ共有型マルチプロセッサシステムにおいて、プロ
    セッサ間の排他制御を行うため、そのプロセッサ間の共
    通データ領域に対し、その領域が排他状態であるか否か
    を示す排他情報、および、排他状態である場合に、その
    排他状態が解けるのを待合せる排他待行列、および、あ
    るタスクがどの共通データ領域を排他状態にしているか
    、又は、その排他状態が解けるのを待合せているかを示
    す排他ID、および、前記共通データ領域を排他状態に
    する排他開始制御、前記共通データ領域の排他状態を解
    く排他終了制御、I/O終了待などのイベントの終了を
    待合せする際、そのタスクが排他状態にしている共通領
    域の排他状態を解くイベント待制御、前記イベントが終
    了した場合に、そのタスクがイベント待になる時点で排
    他状態にしていた共通領域を排他状態にするイベント終
    了制御を含むタスク制御機構を有することを特徴とする
    マルチプロセッサ制御方式。
JP3414590A 1990-02-14 1990-02-14 マルチプロセッサ制御方式 Pending JPH03237554A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3414590A JPH03237554A (ja) 1990-02-14 1990-02-14 マルチプロセッサ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3414590A JPH03237554A (ja) 1990-02-14 1990-02-14 マルチプロセッサ制御方式

Publications (1)

Publication Number Publication Date
JPH03237554A true JPH03237554A (ja) 1991-10-23

Family

ID=12406039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3414590A Pending JPH03237554A (ja) 1990-02-14 1990-02-14 マルチプロセッサ制御方式

Country Status (1)

Country Link
JP (1) JPH03237554A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011158441A1 (ja) * 2010-06-17 2011-12-22 日本電気株式会社 データ処理装置および方法、そのプロセッサユニット

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011158441A1 (ja) * 2010-06-17 2011-12-22 日本電気株式会社 データ処理装置および方法、そのプロセッサユニット
JP5737290B2 (ja) * 2010-06-17 2015-06-17 日本電気株式会社 データ処理装置および方法、そのプロセッサユニット
US9158542B2 (en) 2010-06-17 2015-10-13 Nec Corporation Data processing device and method, and processor unit of same
US9389864B2 (en) 2010-06-17 2016-07-12 Nec Corporation Data processing device and method, and processor unit of same

Similar Documents

Publication Publication Date Title
Dubois et al. Synchronization, coherence, and event ordering in multiprocessors
US5727203A (en) Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US4809168A (en) Passive serialization in a multitasking environment
US6112222A (en) Method for resource lock/unlock capability in multithreaded computer environment
US5257372A (en) Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
US5966543A (en) Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
JPH06222936A (ja) 共用変数の値を更新する方法
EP1880289A1 (en) Transparent support for operating system services
US6105050A (en) System for resource lock/unlock capability in multithreaded computer environment
JPH03237554A (ja) マルチプロセッサ制御方式
JP3422504B2 (ja) タスク間排他制御方法
JPH07319716A (ja) 計算機システムの資源の排他制御方式
JP2553526B2 (ja) マルチタスク処理装置
Hermannsson et al. Fast locks in distributed shared memory systems
US11809219B2 (en) System implementing multi-threaded applications
Barton et al. Beyond Threads: Resource Sharing in UNIX.
JPH036654A (ja) 相互排除方式
Guptha Multithreaded programming in a Microsoft Win32* environment
JPH04360265A (ja) データ分散を扱う並列トランザクション処理システム
Blewett et al. Basic Thread Safety
JP3764282B2 (ja) プログラム制御システムの制御装置
Price Multlprocessmg made easy
Hermannsson et al. Appeared in HICSS 1994 Fast Locks in Distributed Shared Memory Systems
JPS62293372A (ja) マスタスレ−ブプロセツサ
JPH0364888B2 (ja)