JPH1091464A - 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体 - Google Patents

高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体

Info

Publication number
JPH1091464A
JPH1091464A JP9118459A JP11845997A JPH1091464A JP H1091464 A JPH1091464 A JP H1091464A JP 9118459 A JP9118459 A JP 9118459A JP 11845997 A JP11845997 A JP 11845997A JP H1091464 A JPH1091464 A JP H1091464A
Authority
JP
Japan
Prior art keywords
device driver
graphic hardware
client
hardware
information
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
JP9118459A
Other languages
English (en)
Inventor
Ryuichi Tamano
隆一 玉野
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 JP9118459A priority Critical patent/JPH1091464A/ja
Publication of JPH1091464A publication Critical patent/JPH1091464A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】クライアント・サーバモデルに基づくウィンド
ウシステムで複数のクライアントプロセスが同時に動作
する場合にも高速に描画を行えるようにする。 【解決手段】グラフィックハードウェア9の排他制御の
ためのロック/アンロック処理にデバイスドライバ2内
で用意した排他制御用共有メモリ3およびスリープクラ
イアント存在フラグ用共有メモリ4を各クライアントプ
ロセス6、7のメモリ空間にマップし、共有メモリ3、
4を各クライアントプロセス6、7から直接アクセスし
てグラフィックハードウェア9の状態管理を行う。グラ
フィックハードウェア9のロックに失敗したクライアン
トプロセスをデバイスドライバ2によりスリープ状態に
し、現在描画しているクライアントプロセスがアンロッ
クするタイミングでスリープ状態にあるクライアントプ
ロセスのスリープ状態を解除し実行可能状態にすること
により高速に効率良く描画処理を行う。

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は、1台のマシン上で
複数のクライアントプロセスと1つのサーバプロセスと
が動作するクライアント・サーバモデルにおいて、各プ
ロセスが自身に対応するウィンドウに高速に描画処理を
行うことを可能とする高速描画システム、高速描画方法
および高速描画プログラムを記録した記録媒体に関す
る。
【0001】
【従来の技術】従来、クライアント・サーバモデルに基
づくウィンドウシステムにおいては、クライアントプロ
セスがサーバプロセスに描画コマンドを転送し、描画コ
マンドを受け取ったサーバプロセスがグラフィックハー
ドウェアにアクセスして描画処理を行っていたため、ク
ライアントプロセスからサーバプロセスへの描画コマン
ドの転送時間が描画処理の処理時間を遅延させていた。
【0002】特開平4−142874号公報には、この
描画コマンドの転送処理時間を不要にするために、クラ
イアントプロセスがグラフィックハードウェアに直接ア
クセスして描画処理を行う技術が開示されている。
【0003】
【発明が解決しようとする課題】しかしながら、特開平
4−142874号公報には、複数のクライアントプロ
セスが同時に動作するという状況下において、描画処理
の効率を向上させるための方策が示されていない。複数
のクライアントプロセスが同時に動作する場合には、排
他制御にシステムコールを使用したり、排他制御のロッ
ク/アンロック処理の待ち合わせにスピンループを使用
するため、これらの処理にかかる時間が描画処理の処理
時間を遅延させるという問題点があった。
【0004】本発明の目的は、クライアント・サーバモ
デルにおいて、複数のクライアントプロセスのそれぞれ
が自身に対応するウィンドウに高速に描画処理を行うこ
とができるようにすることにある。
【0005】
【課題を解決するための手段】本発明の第1の高速描画
システムは、クライアント・サーバモデルとして動作す
る複数のクライアントプロセスおよび1つのサーバプロ
セスと、各プロセスから要求されるウィンドウへの描画
処理を実行するグラフィックハードウェアと、該グラフ
ィックハードウェアを制御するデバイスドライバとを含
み、前記複数のクライアントプロセスのそれぞれが、前
記サーバプロセスを介して前記グラフィックハードウェ
アに描画処理を依頼せずに、自ら前記グラフィックハー
ドウェアをロックし、該グラフィックハードウェアに描
画コマンドを送付して描画処理を依頼し、描画処理完了
時に該グラフィックハードウェアのロックを解除するこ
とを特徴とする。
【0006】本発明の第2の高速描画システムは、第1
の高速描画システムにおいて、前記デバイスドライバ
が、前記グラフィックハードウェアのロック情報を格納
する排他制御情報格納域を含み、各プロセスが、他のプ
ロセスに係るロック情報が前記排他制御情報格納域に格
納されていない場合に、ロック情報を該排他制御情報格
納域に格納して前記グラフィックハードウェアをロック
し、該グラフィックハードウェアに描画コマンドを送付
して描画処理を依頼し、描画処理完了時に該グラフィッ
クハードウェアのロックを解除してロック情報を該排他
制御情報格納域から削除することを特徴とする。
【0007】本発明の第3の高速描画システムは、第2
の高速描画システムにおいて、前記デバイスドライバ
が、さらに、保留状態のプロセスの情報を格納する保留
情報格納域を含み、各プロセスが、他のプロセスに係る
ロック情報が前記排他制御情報格納域に格納されている
場合、自プロセスを保留状態にすることを前記デバイス
ドライバに依頼し、該デバイスドライバに再び実行可能
状態に戻されるのを待ち合わせ、実行可能となった時点
で前記グラフィックハードウェアのロック処理を再開
し、前記デバイスドライバが、前記プロセスからの依頼
を受け、該プロセスを保留状態にしてその情報を前記保
留情報格納域に格納するとともに、他のプロセスによる
前記グラフィックハードウェアのロック情報が前記排他
制御情報格納域から削除された時点で、保留状態のプロ
セスを実行可能状態にして前記保留情報格納域から該プ
ロセスに係る情報を削除することを特徴とする。
【0008】本発明の第4の高速描画システムは、第3
の高速描画システムにおいて、前記デバイスドライバ
が、前記他のプロセスによる前記グラフィックハードウ
ェアのロック情報が前記排他制御情報格納域から削除さ
れた時点で、保留状態のプロセスの内、最も過去に保留
状態となったプロセスを実行可能状態にして前記保留情
報格納域から該プロセスに係る情報を削除することを特
徴とする。
【0009】本発明の第1の高速描画方法は、複数のク
ライアントプロセスと1つのサーバプロセスとが1台の
コンピュータ上で動作するクライアントサーバモデルに
おいて、前記複数のクライアントプロセスのそれぞれ
が、前記サーバプロセスを介してグラフィックハードウ
ェアにウィンドウへの描画処理を依頼せずに、自ら前記
グラフィックハードウェアをロックし、該グラフィック
ハードウェアに描画コマンドを送付してウィンドウへの
描画処理を依頼し、描画処理完了時に該グラフィックハ
ードウェアのロックを解除することを特徴とする。
【0010】本発明の第2の高速描画方法は、第1の高
速描画方法において、前記クライアントサーバモデルを
構成する複数のプロセスのそれぞれが、他のプロセスに
係る前記グラフィックハードウェアのロック情報が該グ
ラフィックハードウェアを制御するデバイスドライバに
保持されていない場合に、ロック情報を該デバイスドラ
イバに保持させて前記グラフィックハードウェアをロッ
クし、該グラフィックハードウェアに描画コマンドを送
付して描画処理を依頼し、描画処理完了時に該グラフィ
ックハードウェアのロックを解除して前記デバイスドラ
イバに保持させたロック情報を削除することを特徴とす
る。
【0011】本発明の第3の高速描画方法は、第2の高
速描画方法において、前記複数のプロセスのそれぞれ
が、他のプロセスに係る前記グラフィックハードウェア
のロック情報が前記デバイスドライバに保持されている
場合、自プロセスを保留状態にすることを前記デバイス
ドライバに依頼し、該デバイスドライバに再び実行可能
状態に戻されるのを待ち合わせ、実行可能となった時点
で前記グラフィックハードウェアのロック処理を再開
し、前記デバイスドライバが、前記プロセスからの依頼
を受け、該プロセスを保留状態にしてその情報を保持す
るとともに、他のプロセスによる前記グラフィックハー
ドウェアのロック情報を削除した時点で、保留状態のプ
ロセスを実行可能状態にして該プロセスの保留に係る情
報を削除することを特徴とする。
【0012】本発明の第4の高速描画方法は、第3の高
速描画方法において、前記デバイスドライバが、前記他
のプロセスによる前記グラフィックハードウェアのロッ
ク情報を削除した時点で、保留状態のプロセスの内、最
も過去に保留状態となったプロセスを実行可能状態にし
て該プロセスの保留に係る情報を削除することを特徴と
する。
【0013】本発明の第1の記録媒体は、サーバプロセ
スを介してグラフィックハードウェアにウィンドウへの
描画処理を依頼せずに、自ら前記グラフィックハードウ
ェアをロックし、該グラフィックハードウェアに描画コ
マンドを送付してウィンドウへの描画処理を依頼し、描
画処理完了時に該グラフィックハードウェアのロックを
解除する処理をクライアントプロセスとしてコンピュー
タに行わせるプログラムとを記録したことを特徴とす
る。
【0014】本発明の第2の記録媒体は、第1の記録媒
体において、他のプロセスに係る前記グラフィックハー
ドウェアのロック情報が該グラフィックハードウェアを
制御するデバイスドライバに保持されていない場合に、
ロック情報を該デバイスドライバに保持させて前記グラ
フィックハードウェアをロックし、該グラフィックハー
ドウェアに描画コマンドを送付して描画処理を依頼し、
描画処理完了時に該グラフィックハードウェアのロック
を解除して前記デバイスドライバに保持させたロック情
報を削除する処理をプロセスとしてコンピュータに行わ
せるプログラムを記録したことを特徴とする。
【0015】本発明の第3の記録媒体は、第2の記録媒
体において、他のプロセスに係る前記グラフィックハー
ドウェアのロック情報が前記デバイスドライバに保持さ
れている場合、自プロセスを保留状態にすることを前記
デバイスドライバに依頼し、該デバイスドライバに再び
実行可能状態に戻されるのを待ち合わせ、実行可能とな
った時点で前記グラフィックハードウェアのロック処理
を再開する処理をプロセスとしてコンピュータに行わせ
るプログラムと、前記プロセスからの依頼を受け、該プ
ロセスを保留状態にしてその情報を保持するとともに、
他のプロセスによる前記グラフィックハードウェアのロ
ック情報を削除した時点で、保留状態のプロセスを実行
可能状態にして該プロセスの保留に係る情報を削除する
処理をデバイスドライバとしてコンピュータに行わせる
プログラムとを記録したことを特徴とする。
【0016】本発明の第4の記録媒体は、第3の記録媒
体において、前記他のプロセスによる前記グラフィック
ハードウェアのロック情報を削除した時点で、保留状態
のプロセスの内、最も過去に保留状態となったプロセス
を実行可能状態にして該プロセスの保留に係る情報を削
除する処理をデバイスドライバとしてコンピュータに行
わせるプログラムを記録したことを特徴とする。
【0017】
【発明の実施の形態】次に本発明の第1の実施の形態に
ついて図面を参照して詳細に説明する。
【0018】図1を参照すると、本発明の第1の実施の
形態は、プログラム制御により動作するマシン100
が、カーネル1と、カーネル1内に含まれグラフィック
ハードウェア9を制御するデバイスドライバ2と、デバ
イスドライバ2の配下に設けられグラフィックハードウ
ェア9のロック/アンロックを制御するための排他制御
用共有メモリ3と、デバイスドライバ2の配下に設けら
れスリープ(サスペンド:保留)状態にあるクライアン
トプロセスの有無を表示するためのスリープクライアン
ト存在フラグ用共有メモリ4と、デバイスドライバ2の
配下に設けられスリープ状態のクライアントプロセスの
番号および時刻を登録するためのスリープクライアント
管理テーブル5と、第1のクライアントプロセス6と、
第2のクライアントプロセス7と、サーバプロセス8
と、グラフィックハードウェア9とを含む。
【0019】デバイスドライバ2の配下の排他制御用共
有メモリ3およびスリープクライアント存在フラグ用共
有メモリ4は、第1のクライアントプロセス6、第2の
クライアントプロセスおよびサーバプロセス8からのシ
ステムコールによりそれぞれの仮想メモリ領域としてそ
れぞれのメモリ空間上にマッピングされる。第1のクラ
イアントプロセス6、第2のクライアントプロセスおよ
びサーバプロセス8は、この排他制御用共有メモリ3お
よびスリープクライアント存在フラグ用共有メモリ4に
直接的にデータの書き込みおよび参照を行う。
【0020】第1のクライアントプロセス6とサーバプ
ロセス8とは、第1の通信路10を用いてコマンドの送
受信を行っており、第2のクライアントプロセス7とサ
ーバプロセス8とは第2の通信路11を用いてコマンド
の送受信を行っている。しかし、第1のクライアントプ
ロセス6および第2のクライアントプロセス7が描画を
行う場合には、第1の通信路10および第2の通信路1
1を用いて描画コマンドを送りサーバプロセス8が描画
処理を行うのではなく、第1のクライアントプロセス6
および第2のクライアントプロセス7がグラフィックハ
ードウェア9に直接アクセスして描画処理を行う。第1
の通信路10および第2の通信路11は、描画処理以外
の第1のクライアントプロセス6および第2のクライア
ントプロセス7とサーバ8との間の制御命令を送受信す
るために利用する。
【0021】図2を参照すると、第1のクライアントプ
ロセス6および第2のクライアントプロセス7ならびに
サーバプロセス8の描画処理時の排他制御処理は、ロッ
クステップ12と、ロック判定ステップ13と、描画ス
テップ14と、アンロックステップ15と、スリープク
ライアント検出ステップ16と、ウェイクアップ処理呼
出しステップ17と、スリープ処理呼び出しステップ1
8と、ウェイクアップ検出ステップ19とからなる。
【0022】図3を参照すると、デバイスドライバ2が
行うウェイクアップ処理のより詳しい内容は、ウェイク
アップ実行可能状態設定ステップ20と、スリープクラ
イアント管理テーブル削除ステップ21とからなる。
【0023】図4を参照すると、デバイスドライバ2が
行うスリープ処理のより詳しい内容は、スリープ状態設
定ステップ22と、スリープクライアント管理テーブル
追加ステップ23とからなる。
【0024】次に、本発明の第1の実施の形態の動作に
ついて、図1〜図4を参照して詳細に説明する。
【0025】なお、ここでは、第1のクライアントプロ
セス6が描画を行おうとした際に、すでに第2のクライ
アントプロセス7が描画処理を行っていた場合を例にと
って説明する。
【0026】排他制御用共有メモリ3およびスリープク
ライアント存在フラグ用共有メモリ4は、初期化時に0
が代入されている。
【0027】描画を行おうとする第1のクライアントプ
ロセス6は、まず、ロックステップ12で、テスト&セ
ット(Test and Set)命令によって排他制
御用共有メモリ3に1を代入することによりグラフィッ
クハードウェア9のロックを試みる。テスト&セット命
令は、排他制御用共有メモリ3の内容が0かどうかを判
定する処理と0の場合に1を書き込む処理とを1命令で
実行し、実行が成功した場合は1を、失敗した場合は0
をステータスとして返却する。
【0028】次に、第1のクライアントプロセス6は、
ロック判定ステップ13で、返却されたステータスの値
が1か0かに基づいてグラフィックハードウェア9のロ
ックが成功したかどうかを判定し、ロックが成功した場
合は、描画ステップ14へ進む。この例では、第2のク
ライアントプロセス7がすでにグラフィックハードウェ
ア9をロックして描画処理を行っているので、グラフィ
ックハードウェア9のロックの試みは失敗し、第1のク
ライアントプロセス6は、スリープ処理呼出しステップ
18で、デバイスドライバ2によるスリープ処理を呼び
出す。
【0029】すると、デバイスドライバ2は、スリープ
状態設定ステップ22で、スリープ処理を呼び出した第
1のクライアントプロセス6をスリープ状態にする。ス
リープ状態となった第1のクライアントプロセス6は、
CPU(Central Processing Un
it)時間を消費しないので、現在描画中の第2のクラ
イアントプロセス7はその分高速に描画処理を続行する
ことができる。
【0030】次に、デバイスドライバ2は、スリープク
ライアント管理テーブル追加ステップ23で、第1のク
ライアントプロセス6の番号と現在の時間とをスリープ
クライアント管理テーブル5に登録するとともに、スリ
ープクライアント存在フラグ用共有メモリ4にスリープ
状態のクライアントプロセスが存在することを表示する
ために1を代入する。
【0031】以降、第1のクライアントプロセス6は、
スリープ状態になっており、現在描画している第2のク
ライアントプロセス7が描画処理を終了した後に、ウェ
イクアップ処理呼出しステップ17においてデバイスド
ライバ2により実行可能状態にされるのを待ち合わせ
る。
【0032】現在描画している第2のクライアントプロ
セス7は、描画処理を終了すると、アンロックステップ
15で、排他制御用共有メモリ3に0を書き込んでグラ
フィックハードウェア9のロックを解除する。
【0033】次に、第2のクライアントプロセス7は、
スリープクライアント検出ステップ16で、スリープク
ライアント存在フラグ用共有メモリ4が1か0かを判定
する。この例では1であるので、スリープ状態にあるク
ライアントプロセスが存在することを認識し、ウェイク
アップ処理呼出しステップ17で、デバイスドライバ2
によるウェイクアップ処理を呼び出す。
【0034】すると、デバイスドライバ2は、ウェイク
アップ状態設定ステップ20で、スリープクライアント
管理テーブル5の中で登録された時間が最も早いスリー
プ状態のクライアントプロセス(この例では第1のクラ
イアントプロセス6)を実行可能状態にし、スリープク
ライアント管理テーブル削除ステップ21で、第1のク
ライアントプロセス6の番号および時刻をスリープクラ
イアント管理テーブル5から削除する。第1のクライア
ントプロセス6の番号および時刻の削除後にスリープク
ライアント管理テーブル5にスリープ状態のクライアン
トプロセスが残されていない場合は、デバイスドライバ
2は、スリープクライアント存在フラグ用共有メモリ4
に0を代入する。
【0035】実行可能状態にされた第1のクライアント
プロセス6は、ウェイクアップ検出ステップ19をイエ
スで抜け、ロックステップ12に制御を戻す。
【0036】これにより、第1のクライアントプロセス
6は、再び、ロックステップ12で、テスト&セット命
令によって排他制御用共有メモリ3に1を代入すること
によりグラフィックハードウェア9のロックを試みる。
【0037】次に、第1のクライアントプロセス6は、
ロック判定ステップ13で返却されたステータスの値が
1か0かに基づいてグラフィックハードウェア9のロッ
クが成功したかどうかを判定する。今度は、ロックが成
功したとすると、第1のクライアントプロセス6は、描
画ステップ14へ進む。
【0038】描画ステップ14で、第1のクライアント
プロセス6は、グラフィックハードウェア9に直接アク
セスして描画処理を行う。
【0039】描画処理が終了すると、第1のクライアン
トプロセス6は、アンロックステップ15で、排他制御
用共有メモリ3に0を書き込んでグラフィックハードウ
ェア9のロックを解除する。
【0040】次に、第1のクライアントプロセス6は、
スリープクライアント検出ステップ16で、スリープク
ライアント存在フラグ用共有メモリ4が1か0かを判定
し、1の場合にはスリープ状態にあるクライアントプロ
セスが存在することを認識し、ウェイクアップ処理呼出
しステップ17に進み、0の場合にはスリープしている
クライアントプロセスが存在しないのでウェイクアップ
処理呼出しステップ17を実行しない。
【0041】以上のように、排他制御用共有メモリ3、
スリープクライアント存在フラグ用共有メモリ4および
スリープクライアント管理テーブル5を用いて、1つの
マシン100内でグラフィックハードウェア9に直接ア
クセスして描画処理を行うプロセスが常に1つのクライ
アントプロセスになるようにグラフィックハードウェア
9の排他制御が行われる。
【0042】なお、上記実施の形態では、説明の簡単化
のために、同一のマシン100上でサーバプロセス8と
ともに動作するクライアントプロセスを、第1のクライ
アントプロセス6および第2のクライアントプロセス7
の2つとしたが、サーバプロセス8とともに動作するク
ライアントプロセスの数が3つ以上あっても、本発明が
同様に適用できることはいうまでもない。
【0043】以上により、本発明の第1の実施の形態の
動作が完了する。
【0044】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。
【0045】図1を参照すると、本発明の第2の実施の
形態は、第1の実施の形態に加えて、マシン100に上
述した処理を実行させるためのプログラムを記録する記
録媒体101を備える。
【0046】該プログラムは、記録媒体101からマシ
ン100に読み込まれ、該マシン100の動作を制御す
る。マシン100は、該プログラムの制御により、第1
の実施の形態におけるマシン100による処理、すなわ
ち第1のクライアントプロセス6、第2のクライアント
プロセス7、サーバプロセス8およびデバイスドライバ
2と同一の処理を実行する。
【0047】以上により、第2の実施の形態の処理が完
了する。
【0048】
【発明の効果】以上詳細に説明したように本発明は、複
数のクライアントプロセスとサーバプロセスとが同一マ
シンで動作する場合にクライアントプロセスがグラフィ
ックハードウェアに直接アクセスして描画処理を行い、
グラフィックハードウェアの排他制御のためのロック/
アンロック処理にデバイスドライバ内で用意した共有メ
モリを各クライアントプロセスのメモリ空間にマップ
し、共有メモリをクライアントプロセスから直接アクセ
スして、グラフィックハードウェアの状態管理を行い、
グラフィックハードウェアのロックに失敗したクライア
ントプロセスをデバイスドライバによりスリープ状態に
し、現在描画しているクライアントプロセスがアンロッ
クするタイミングでスリープ状態によるクライアントプ
ロセスのスリープ状態を解除して実行可能状態にするこ
とにより、より高速に効率良く描画処理を行うことがで
きる効果がある。
【0049】また、本発明によれば、複数のクライアン
トプロセスが同時に動作する場合の排他制御にシステム
コールを使用せず、デバイスドライバ配下の共有メモリ
をクライアントプロセスのメモリ空間上にマッピングし
てフラグとして使用しているので、その分高速に排他制
御を行うことができるとともに、排他制御のロック/ア
ンロック処理の待ち合わせにスピンループを使用せず、
アンロックの待ち合わせ時にはクライアントプロセスが
スリープ状態となってCPU時間を消費しないので、よ
り効率良くグラフィックハードウェアの排他制御を行う
ことができる効果がある。
【図面の簡単な説明】
【図1】本発明の第1および第2の実施の形態を示すブ
ロック図である。
【図2】本発明の第1および第2の実施の形態における
第1のクライアントプロセス6、第2のクライアントプ
ロセス7、サーバプロセス8による描画処理時の排他制
御処理を示す流れ図である。
【図3】本発明の第1および第2の実施の形態における
デバイスドライバ2のウェイクアップ処理を示す流れ図
である。
【図4】本発明の第1および第2の実施の形態における
デバイスドライバ2のスリープ処理を示す流れ図であ
る。
【符号の説明】
1 カーネル 2 デバイスドライバ 3 排他制御用共有メモリ 4 スリープクライアント存在フラグ用共有メモリ 5 スリープクライアント管理テーブル 6 第1のクライアントプロセス 7 第2のクライアントプロセス 8 サーバプロセス 9 グラフィックハードウェア 10 第1の通信路 11 第1の通信路 12 ロックステップ 13 ロック判定ステップ 14 描画ステップ 15 アンロックステップ 16 スリープクライアント検出ステップ 17 ウェイクアップ処理呼出しステップ 18 スリープ処理呼出しステップ 19 ウェイクアップ検出ステップ 20 ウェイクアップ状態設定ステップ 21 スリープクライアント管理テーブル削除ステッ
プ 22 スリープ状態設定ステップ 23 スリープクライアント管理テーブル追加ステッ
プ 100 マシン 101 記録媒体
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H04N 7/173 G06F 15/72 A

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 クライアント・サーバモデルとして動作
    する複数のクライアントプロセスおよび1つのサーバプ
    ロセスと、各プロセスから要求されるウィンドウへの描
    画処理を実行するグラフィックハードウェアと、該グラ
    フィックハードウェアを制御するデバイスドライバとを
    含み、 前記複数のクライアントプロセスのそれぞれが、 前記サーバプロセスを介して前記グラフィックハードウ
    ェアに描画処理を依頼せずに、自ら前記グラフィックハ
    ードウェアをロックし、該グラフィックハードウェアに
    描画コマンドを送付して描画処理を依頼し、描画処理完
    了時に該グラフィックハードウェアのロックを解除する
    ことを特徴とする高速描画システム。
  2. 【請求項2】 前記デバイスドライバが、前記グラフィ
    ックハードウェアのロック情報を格納する排他制御情報
    格納域を含み、 各プロセスが、 他のプロセスに係るロック情報が前記排他制御情報格納
    域に格納されていない場合に、ロック情報を該排他制御
    情報格納域に格納して前記グラフィックハードウェアを
    ロックし、該グラフィックハードウェアに描画コマンド
    を送付して描画処理を依頼し、描画処理完了時に該グラ
    フィックハードウェアのロックを解除してロック情報を
    該排他制御情報格納域から削除することを特徴とする請
    求項1記載の高速描画システム。
  3. 【請求項3】 前記デバイスドライバが、さらに、保留
    状態のプロセスの情報を格納する保留情報格納域を含
    み、 各プロセスが、 他のプロセスに係るロック情報が前記排他制御情報格納
    域に格納されている場合、自プロセスを保留状態にする
    ことを前記デバイスドライバに依頼し、該デバイスドラ
    イバに再び実行可能状態に戻されるのを待ち合わせ、実
    行可能となった時点で前記グラフィックハードウェアの
    ロック処理を再開し、 前記デバイスドライバが、 前記プロセスからの依頼を受け、該プロセスを保留状態
    にしてその情報を前記保留情報格納域に格納するととも
    に、他のプロセスによる前記グラフィックハードウェア
    のロック情報が前記排他制御情報格納域から削除された
    時点で、保留状態のプロセスを実行可能状態にして前記
    保留情報格納域から該プロセスに係る情報を削除するこ
    とを特徴とする請求項2記載の高速描画システム。
  4. 【請求項4】 前記デバイスドライバが、 前記他のプロセスによる前記グラフィックハードウェア
    のロック情報が前記排他制御情報格納域から削除された
    時点で、保留状態のプロセスの内、最も過去に保留状態
    となったプロセスを実行可能状態にして前記保留情報格
    納域から該プロセスに係る情報を削除することを特徴と
    する請求項3記載の高速描画システム。
  5. 【請求項5】 複数のクライアントプロセスと1つのサ
    ーバプロセスとが1台のコンピュータ上で動作するクラ
    イアントサーバモデルにおいて、 前記複数のクライアントプロセスのそれぞれが、前記サ
    ーバプロセスを介してグラフィックハードウェアにウィ
    ンドウへの描画処理を依頼せずに、自ら前記グラフィッ
    クハードウェアをロックし、該グラフィックハードウェ
    アに描画コマンドを送付してウィンドウへの描画処理を
    依頼し、描画処理完了時に該グラフィックハードウェア
    のロックを解除することを特徴とする高速描画方法。
  6. 【請求項6】 前記クライアントサーバモデルを構成す
    る複数のプロセスのそれぞれが、他のプロセスに係る前
    記グラフィックハードウェアのロック情報が該グラフィ
    ックハードウェアを制御するデバイスドライバに保持さ
    れていない場合に、ロック情報を該デバイスドライバに
    保持させて前記グラフィックハードウェアをロックし、
    該グラフィックハードウェアに描画コマンドを送付して
    描画処理を依頼し、描画処理完了時に該グラフィックハ
    ードウェアのロックを解除して前記デバイスドライバに
    保持させたロック情報を削除することを特徴とする請求
    項5記載の高速描画方法。
  7. 【請求項7】 前記複数のプロセスのそれぞれが、他の
    プロセスに係る前記グラフィックハードウェアのロック
    情報が前記デバイスドライバに保持されている場合、自
    プロセスを保留状態にすることを前記デバイスドライバ
    に依頼し、該デバイスドライバに再び実行可能状態に戻
    されるのを待ち合わせ、実行可能となった時点で前記グ
    ラフィックハードウェアのロック処理を再開し、 前記デバイスドライバが、前記プロセスからの依頼を受
    け、該プロセスを保留状態にしてその情報を保持すると
    ともに、他のプロセスによる前記グラフィックハードウ
    ェアのロック情報を削除した時点で、保留状態のプロセ
    スを実行可能状態にして該プロセスの保留に係る情報を
    削除することを特徴とする請求項6記載の高速描画方
    法。
  8. 【請求項8】 前記デバイスドライバが、前記他のプロ
    セスによる前記グラフィックハードウェアのロック情報
    を削除した時点で、保留状態のプロセスの内、最も過去
    に保留状態となったプロセスを実行可能状態にして該プ
    ロセスの保留に係る情報を削除することを特徴とする請
    求項7記載の高速描画方法。
  9. 【請求項9】 サーバプロセスを介してグラフィックハ
    ードウェアにウィンドウへの描画処理を依頼せずに、自
    ら前記グラフィックハードウェアをロックし、該グラフ
    ィックハードウェアに描画コマンドを送付してウィンド
    ウへの描画処理を依頼し、描画処理完了時に該グラフィ
    ックハードウェアのロックを解除する処理をクライアン
    トプロセスとしてコンピュータに行わせるプログラムと
    を記録したことを特徴とする記録媒体。
  10. 【請求項10】 他のプロセスに係る前記グラフィック
    ハードウェアのロック情報が該グラフィックハードウェ
    アを制御するデバイスドライバに保持されていない場合
    に、ロック情報を該デバイスドライバに保持させて前記
    グラフィックハードウェアをロックし、該グラフィック
    ハードウェアに描画コマンドを送付して描画処理を依頼
    し、描画処理完了時に該グラフィックハードウェアのロ
    ックを解除して前記デバイスドライバに保持させたロッ
    ク情報を削除する処理をプロセスとしてコンピュータに
    行わせるプログラムを記録したことを特徴とする請求項
    9記載の記録媒体。
  11. 【請求項11】 他のプロセスに係る前記グラフィック
    ハードウェアのロック情報が前記デバイスドライバに保
    持されている場合、自プロセスを保留状態にすることを
    前記デバイスドライバに依頼し、該デバイスドライバに
    再び実行可能状態に戻されるのを待ち合わせ、実行可能
    となった時点で前記グラフィックハードウェアのロック
    処理を再開する処理をプロセスとしてコンピュータに行
    わせるプログラムと、 前記プロセスからの依頼を受け、該プロセスを保留状態
    にしてその情報を保持するとともに、他のプロセスによ
    る前記グラフィックハードウェアのロック情報を削除し
    た時点で、保留状態のプロセスを実行可能状態にして該
    プロセスの保留に係る情報を削除する処理をデバイスド
    ライバとしてコンピュータに行わせるプログラムとを記
    録したことを特徴とする請求項10記載の記録媒体。
  12. 【請求項12】 前記他のプロセスによる前記グラフィ
    ックハードウェアのロック情報を削除した時点で、保留
    状態のプロセスの内、最も過去に保留状態となったプロ
    セスを実行可能状態にして該プロセスの保留に係る情報
    を削除する処理をデバイスドライバとしてコンピュータ
    に行わせるプログラムを記録したことを特徴とする請求
    項11記載の記録媒体。
JP9118459A 1996-05-20 1997-05-08 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体 Pending JPH1091464A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9118459A JPH1091464A (ja) 1996-05-20 1997-05-08 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-148595 1996-05-20
JP14859596 1996-05-20
JP9118459A JPH1091464A (ja) 1996-05-20 1997-05-08 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JPH1091464A true JPH1091464A (ja) 1998-04-10

Family

ID=26456396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9118459A Pending JPH1091464A (ja) 1996-05-20 1997-05-08 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JPH1091464A (ja)

Cited By (1)

* 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 メモリ排他制御装置、画像処理装置、及び画像形成装置

Cited By (2)

* 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 株式会社リコー メモリ排他制御装置、画像処理装置、及び画像形成装置

Similar Documents

Publication Publication Date Title
US5987550A (en) Lock mechanism for shared resources in a data processing system
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JP2004326753A (ja) 仮想計算機環境におけるロックの管理
US6076126A (en) Software locking mechanism for locking shared resources in a data processing system
KR102450133B1 (ko) 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법
JPH1091464A (ja) 高速描画システム、高速描画方法および高速描画プログラムを記録した記録媒体
US6199105B1 (en) Recovery system for system coupling apparatuses, and recording medium recording recovery program
JP2000082003A (ja) 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
US6321304B1 (en) System and method for deleting read-only head entries in multi-processor computer systems supporting cache coherence with mixed protocols
JP2001290713A (ja) 記憶装置システム及びそのバックアップ取得方法
US7139856B2 (en) Use of set-by-read and set-by-write registers as semaphores
JPS5827255A (ja) 複数電子計算機間共用フアイルの制御方式
US11249656B2 (en) Performance optimization for active-active locking using sticking affinity for storage objects
CN115951844B (zh) 分布式文件系统的文件锁管理方法、设备及介质
JPH10187523A (ja) 疎結合システムにおける端末情報共有方法及び方式
JPS592051B2 (ja) 相互排他要求選択装置
JP2000305832A (ja) 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法
JPH01300365A (ja) マルチプロセッサシステムの排他制御方式
JP2003308219A (ja) 排他制御方式
JP4131579B2 (ja) データ管理システムおよびデータ管理方法
JP3381652B2 (ja) ロック制御方式
JP3006527B2 (ja) クライアント/サーバ型データベースシステム
JPH0589027A (ja) 監視機能付ライトバツフア
JPH0429100B2 (ja)
JPH08272667A (ja) ファイルアクセス制御システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991019