JPH06282515A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH06282515A
JPH06282515A JP5067011A JP6701193A JPH06282515A JP H06282515 A JPH06282515 A JP H06282515A JP 5067011 A JP5067011 A JP 5067011A JP 6701193 A JP6701193 A JP 6701193A JP H06282515 A JPH06282515 A JP H06282515A
Authority
JP
Japan
Prior art keywords
data
task
shared memory
processing device
client
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
JP5067011A
Other languages
English (en)
Inventor
Yoshinori Endo
芳則 遠藤
Hiroshi Shojima
正嶋  博
Toshifumi Arai
俊史 荒井
Toshio Fujiwara
敏雄 藤原
Atsuko Takamura
敦子 高村
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP5067011A priority Critical patent/JPH06282515A/ja
Publication of JPH06282515A publication Critical patent/JPH06282515A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】クライアントタスクとサーバタスク間のデータ
転送速度を向上する。 【構成】クライアントタスク1.aからデータ処理サー
バ3へデータ転送する場合には、まず転送すべきデータ
を各クライアントタスクに対応する共有メモリ2.aへ
書き込み、次に、クライアントタスク1.aからデータ
を共有メモリ3へ格納したことを表すメッセージをデー
タ処理サーバ3のメッセ−ジキュ−7に書き込む。デー
タ処理サーバ3は、メッセージキュ−7からこのメッセ
−ジを取り出すと、その内容とそのメッセージを送った
タスクを解析し、どの共有メモリ2.aに転送すべきデ
ータが書き込まれたかを判定し、判定した共有メモリ
2.aに書き込まれたデータを読み込み処理する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のタスクを並行し
て実行する機能を有するデータ処理装置における、タス
ク間のデータ転送の技術に関するものである。
【0002】
【従来の技術】従来のパーソナルコンピュータ等で用い
られているオペレーティングシステム(OS)では、一
度に一つのタスクのみを実行させることのできるシング
ルタスク対応型のものが大半であった。また、このよう
な、シングルタスク対応型のオペレーティングシステム
を用いる場合には、複数のタスク間の通信や制御を考慮
する必要がない。
【0003】一方、多くのエンジニアリングワークステ
ーションでは、マルチユーザー・マルチタスク対応型の
Unixと一般に呼ばれるオペレーティングシステムが広く
用いられている。Unixは米国のベル研究所により開発さ
れたオペレーティングシステムの商標である。
【0004】このようなUnixでは、並行して実行される
複数のタスク間の通信として、互いのタスクに準備され
たメッセージキューにメッセージを送りことによりタス
ク間でデータをやり取りするタスク間通信が提供されて
いる。
【0005】また、クライアントサーバモデルに従い、
並行して実行される複数のタスクとして、1ないし複数
の外部処理装置を管理、制御するサーバタスクと、サー
バタスクに処理を依頼して外部処理装置を利用する1な
いし複数のクライアントタスクを設けた場合、サーバタ
スクは、依頼元のクライアントタスクが切り替わる度
に、現在外部処理装置に設定されている外部処理装置の
動作モード等を規定する各種属性データをサーバタスク
に吸い上げて切り替え前のクライアントタスクに対応付
けて記憶し、次にサーバタスクが処理すべきクライアン
トタスクに対応して記憶されている属性データを外部処
理装置に設定する。これにより、クライアントタスク毎
に、クライアントタスクが利用したい属性での外部処理
装置の利用を可能としている。
【0006】
【発明が解決しようとする課題】しかし、前述したタス
ク間通信によれば、サーバとクライアントの同期を容易
に取ることができるという利点を有するものの、メッセ
ージ形式で行う必要がある等の理由により、単位時間に
送ることができるデータ量が少なく、大容量のデータ転
送には向いていない。
【0007】また、クライアントタスクが切り替わる度
に外部処理装置から属性データをサーバに吸い上げて記
憶し、次にサーバが処理すべきクライアントの属性デー
タを外部処理装置に記憶する処理を行う必要があるため
に、クライアントタスクの切り替えに時間を要し、高速
な処理を実現することができない。
【0008】そこで、本発明は、並行して実行されるタ
スク間のタスク間通信による同期化の容易性を損なうこ
となく、データ転送を高速化を実現することのできるデ
ータ処理装置を提供することを目的とする。
【0009】また、併せて、本発明は、サーバタスクに
よるクライアントタスクの切り替えを高速に行うことの
できるデータ処理装置を提供することを目的とする。
【0010】
【問題を解決するための手段】前記目的達成のために、
本発明は、1または複数のクライアントタスクとサーバ
タスクとを並行して実行するデータ処理装置であって、
前記クライアントタスクとサーバタスクよりアクセス可
能な共有メモリを備え、前記サーバタスクはメッセージ
キューと、前記メッセージキューを介して前記共有メモ
リにデータを格納したことを通知するメッセージを受け
取った場合に、前記共有メモリに格納されたデータを読
みだして処理する処理手段とを備え、前記クライアント
タスクは、前記サーバタスクに転送するデータを前記共
有メモリに格納する格納手段と、前記共有メモリにデー
タを格納したことを通知するメッセージを前記サーバタ
スクに備えられたメッセージキューを介して、前記サー
バタスクに転送する通知手段を備え、前記サーバタスク
は、前記クライアントタスクより前記メッセージキュー
を介して前記共有メモリにデータを格納したことを通知
するメッセージを受け取った場合に、前記共有メモリに
格納されたデータを読みだして処理する処理手段を備え
ていることを特徴とするデータ処理装置を提供する。
【0011】また、本発明は、前記目的達成のために、
外部処理装置を備え、かつ、前記外部処理装置を制御す
るサーバタスクと前記サーバタスクに前記外部処理装置
の制御データを転送する1または複数のクライアントタ
スクとを並行して実行するデータ処理装置であって、前
記クライアントタスクは、前記サーバタスクに前記外部
処理装置の制御データを転送する際に、併せて、前記外
部処理装置の動作属性を規定する属性データを前記サー
バタスクに渡し、前記サーバタスクは、前記外部処理装
置の制御データのクライアントタスクよりの転送を受け
る場合に、転送元のクライアントタスクから渡された属
性データを前記外部処理装置に設定し、転送された制御
データに基づいて前記外部制御装置を制御することを特
徴とするデータ処理装置を提供する。
【0012】
【作用】本発明に係るデータ処理装置によれば、クライ
アントタスクとサーバタスク間のデータ転送に共有メモ
リを用いる。共有メモリには、クライアントタスクがサ
ーバタスク転送すべきデータを共有メモリに格納する。
さらに、クライアントタスクとサーバタスクとの間で、
メッセージキュ−を介したタスク間通信で共有メモリを
に格納されたデータの制御を行う。よって、共有メモリ
を用いて大量のデータを、タスク間通信で同期をとりな
がら転送することができる。
【0013】また、クライアントタスクの種類により属
性データを切り替える必要があるサーバタスクが管理す
る1ないし複数の外部処理装置が存在する場合には、ク
ライアントタスクが切り替わる度に属性データを退避せ
ず、単に、次にサーバタスクが処理すべきクライアント
タスクから渡された属性データを設定する。
【0014】
【実施例】以下、本発明に係るデータ処理装置の一実施
例を説明する。
【0015】まず、図1に、本実施例に係るデータ処理
装置上で実行するタスク間のデータ転送の概要を示す。
【0016】図中、タスク3はデータを処理するサ−バ
として機能するデータ処理サ−バ、タスク1a、1
b、..はクライアントとして機能するクライアントタ
スク、2a、2b,..は、各クライアントタスク1
a、1b、..に対応して設けられている共有メモリで
ある。データ処理サ−バ3は、クライアントタスク1
a、1b、..より転送されたデータに応じて、所定の
外部処理装置を制御する。また、各クライントタスク1
a、1b..とデータ処理サ−バ3はタスク間通信用の
メッセ−ジキュ−100a、100b、..とメッセ−
ジキュ−7を、それぞれ備えている。
【0017】各クライアントタスク100a、100
b、..とデータ処理サ−バ3は、相手のメッセージキ
ューにメッセージを送りタスク間でデータを転送するタ
スク間通信と、自クライアントタスクとデータ処理サ−
バ3とからアクセス可能な共有メモリを介してデータを
転送する2種類のデータ転送を行うことができる。
【0018】ここで、一般的に、タスク間通信を用いた
データ転送と共有メモリを用いたデータ転送には、それ
ぞれ、次のような特長・欠点がある。すなわち、タスク
間通信は、各タスク間での時間的な同期をとることがで
きるという特長を有するが、大量のデータを転送するに
は向かない。一方、共有メモリを用いたデータ転送は、
比較的高速にデータ転送が可能であるが、各タスク間の
同期をとることはできない。
【0019】そこで、本実施例では、クライアントタス
ク1.aからデータ処理サーバ3へデータ転送する場合
には、まず転送すべきデータを各クライアントタスクに
対応する共有メモリ2.aへ書き込み、次にタスク間通
信で、クライアントタスク1.aからデータを共有メモ
リ3へ格納したことを表すメッセージをデータ処理サー
バ3のメッセ−ジキュ−7に書き込む。データ処理サー
バ3は、メッセージキュ−7からこのメッセ−ジを取り
出すと、その内容とそのメッセージを送ったタスクを解
析し、どの共有メモリ2.aに転送すべきデータが書き
込まれたかを判定し、判定した共有メモリ2.aに書き
込まれたデータを読み込む。
【0020】このようにメッセ−ジを用いたタスク間通
信を用いて、共有メモリを介したデータ転送を制御する
ことにより、クライアントタスク1.aとデータ処理サ
ーバ3間の同期を取りながら、クライアントタスク1.
aとデータ処理サーバ3間の高速なデータ転送を実現す
ることができる。また、データ転送に、オペレ−ティン
グシステムの特別な介在を必要としない。
【0021】次に、サ−バタスクが、グラフィクス処理
を行う場合を例にとり、本実施例に係るデータ処理装置
の、より詳細な内容を説明する。
【0022】この場合の、データ処理装置の論理的構成
を図2に示す。
【0023】図中、1a,1b,1cがクライアントタ
スク、3がサ−バタスクである。また、11と12は、
サ−バタスク3によって制御される外部処理装置である
ところのカラ−パレットとグラフィイックプロセッサで
ある。また、6は、各クライアントタスク毎に設けられ
た、共有メモリ6である。
【0024】各クライアントタスク1a,1b,1c
は、それぞれ、アプリケーションプログラム4とグラフ
ィックライブラリ5とメッセ−ジキュ−100より構成
される。また、アプリケーションプログラム4とグラフ
ィックライブラリ5の境界をグラフィックAPIと呼ぶ
インタフェースがとりもつ。このような構成としたこと
で、ハードウエア構成が変わっても、グラフィックライ
ブラリのみ変更すれば、従来のアプリケーションプログ
ラムを、そのまま実行することができるので、ソフトウ
ェアの互換性が向上する。
【0025】一方、サ−バタスク3は、メッセ−ジキュ
−7と、描画、表示処理を行う描画/表示処理部8と、
カラ−パレット11およびグラフィイックプロセッサ1
2と描画/表示処理部8とのインタフェ−スであるハ−
ドインタフェ−ス9より構成される。
【0026】グラフィックプロセッサ12は、グラフィ
ックデータを格納するフレームメモリ(図示せず)に対
し点や線・文字といった図形を画素に分解して、画素に
対応するフレ−ムメモリのアドレスに色データを書き込
み、また、フレ−ムメモリに書き込んだ図形のディスプ
レイ(図示せず)への表示を制御する。カラーパレット
11は、フレームメモリに記憶された各画素の色データ
をRGBの各原色データに分解する。
【0027】各共有メモリ6は、後述するように共有メ
モリ6管理用に1つの共有エリアと、転送データを格納
する2つの同じ構成のメモリ空間であるダブルバッファ
より構成されている。このように転送データを格納する
部分をダブルアバッファとしたのは、もし、単一のバッ
ファとすると、グラフィックライブラリ5とグラフィッ
クサーバ10が互いに排他的にバッファをアクセスしな
ければならず処理の効率が劣化するからである。ダブル
バッファとすることで、グラフィックライブラリ5とグ
ラフィックサーバ10が同時に、それぞれ異なるバッフ
ァにアクセスできるので、処理の並列化が可能となり、
処理の効率が向上する。なお、共有メモリ6には、3つ
以上の同じ構成のメモリ空間よりなるバッファを備える
ようにしてもよい。
【0028】さて、グラフィックライブラリ5は、たと
えば、アプリケーションプログラム4から受けた描画命
令をグラフィクスサーバが解析しやすいフォーマットに
変換し、共有メモリ6に格納する。グラフィックライブ
ラリ5は、共有メモリにデータを格納後、あるいはは、
共有メモリに格納するデータがオーバーフローしたとき
は、タスク間通信によってサ−バツク3のメッセ−ジキ
ュ−に、共有メモリへデータ格納が終了したことを伝え
るメッセ−ジを送る。メッセ−ジキュ−にメ−セ−ジが
書き込まれると、グラフィックサーバ3が起動される。
サ−バタスク3は、メッセージキュー7よりメッセージ
を取りだし、そのメッセージが共有メモリへのデータ格
納が終了したことを知らせる通知であれば、そのクライ
アントタスクに対応する共有メモリ6からデータを読み
出し、読み出したデータに従い外部処理装置を制御す
る。すなわち、たとえば、グラフィックプロセッサ7
へ、共有メモリ6より読みだしたデータをグラフィック
プロセッサ12のコマンド体系にフォーマットを変換し
ながらハードウエアインタフェース9を介してグラフィ
ックプロセッサ12に転送したり、カラーパレット11
に、共有メモリ6より読みだしたデータを設定したりす
る。
【0029】さて、本実施例では、このような、共有メ
モリ6を用いたデータ転送は、大量のデータを転送しな
ければならない描画処理等に用いる。一方、グラフィッ
クプロセッサ12への表示処理命令などは比較的小量の
データをグラフィックサーバ10に転送することで処理
を実行することができるので、共有メモリを使用せずに
タスク間通信でデータを直接サ−バタスク3のメッセ−
ジキュ−7に送る。この2つの手法のどちらを用いるか
の判定は、転送すべきデータの長さが可変長か否かの応
じて行うようにしてもよい。すなわち、転送すべきデー
タの長さが可変長の場合は共有バッファを介してクライ
アント/サーバ間でデータを転送し、固定長の場合はタ
スク間通信でデータを転送するようにする。あるいは、
ある一定量以上のデータを転送するときは共有バッファ
を介してクライアント/サーバ間でデータを転送し、一
定量以下であればタスク間通信でデータを転送する。す
なわち、共有バッファを介してデータ転送するのに要す
る時間と、タスク間通信でデータを転送したときに要す
る時間が同じ時間になるデータ量を、あらかじめ求めて
各グラフィックライブラリ5に記憶させておき、転送実
行時に、グラフィックライブラリ5が転送しようとする
データ量に応じて、タスク間通信によるデータ転送と共
有メモリ6を用いたデータ転送を切り換えて利用するよ
うにする。
【0030】ここで、図2に示したデータ処理装置の論
理的構成を実現することのできるデータ処理装置の物理
的構成を図3に示す。
【0031】前記各共有メモリ6やメッセ−ジキュ−1
00は、図中25のRAM上に設けられる。メインCP
U23は、ROM24に記憶されたアプリケーション、
グラフィックライブラリ、グラフィックサーバ、オペレ
−ティングシステム等のプログラムを、RAM25上に
設けたワークエリアや共有メモリ6等を利用しながら実
行する。したがい、前記4クライアントタスク、サ−バ
タスクはメインCPU上に実現される。グラフィックラ
イブラリ、グラフィックサーバは、対応するメッセ−ジ
キュ−にメッセ−ジが格納された時点で起動される。
【0032】また、図中、12が前記グラフィックプロ
セッサ、11が前記カラ−パレット、28が前記フレ−
ムメモリ、30が前記ディスプレイである。
【0033】また、29は、フレ−ムメモリ28からカ
ラ−パレットを介して出力された表示データをアナログ
信号に変換するD/A変換器である。前述したように、
グラフィックプロセッサ12によって、点や線、文字と
いった図形の描画コマンドに従い、フレームメモリ28
の対応するアドレスへ書き込まれた色データ色データ
は、カラーパレット11でRGBの各原色に分解され、
さらにD/A変換器29でアナログ信号に変換されてデ
ィスプレイ30に表示される。
【0034】26は、外部からのデータをメインCPU
に転送するためのインタフェースであるI/Oである。
27は、RAM25とI/O26やグラフィックプロセ
ッサ12やカラ−パレット11との間のDMA転送を制
御するDMACである。
【0035】なお、たとえば、サ−バタスク3が、カラ
ーパレット11に、RAM25に置かれた共有メモリ6
より読みだしたデータを設定グラフィックプロセッサ1
2等の外部処理装置に転送する場合には、一旦、メイン
CPU23のデータを読み込んでから送る方法と、DM
AC27によりメモリより直接転送する方法との2つの
方法を利用することができる。
【0036】以下、共有メモリ6を用いたデータ転送の
詳細について説明する。
【0037】まず、図4に共有メモリの構成を示す。
【0038】図4には、一つのクライアントタスクに対
応する共有メモリ6の構成を示した。
【0039】図中、300は共有エリアであり、200
はダブルバッファである。ダブルバッファ200はバッ
ファAとバッファBより構成される。共有エリア300
には、各バッファに関する情報が蓄えられる。
【0040】共有エリア300の、カレントバッファ1
3は、グラフィックライブラリ5が転送データの書き込
みの対象とすべきバッファの先頭アドレスを格納する。
バッファAのアドレス14はバッファAの先頭アドレス
を格納し、バッファBのアドレス15はバッファBの先
頭アドレスを格納する。カレント属性データ16には、
グラフィックライブラリが最後に指定した属性データを
保存する。すなわち、バッファA、バッファBへ、転送
データとして、属性データを変更するコマンドを格納す
る際に、対応するカレント属性データ16も更新する。
属性データは、グラフィックプロセッサ12などの外部
処理装置の動作モ−ド等の属性を指定するデータであ
り、サ−バタスク3により、共有メモリ6より読みださ
れ対応する外部処理装置に設定される。
【0041】ダブルバッファ200のバッファAとバッ
ファBは全く同じ構成である。各バッファのバッファ最
終アドレス17.a、17.bには、自バッファの最終
アドレスを格納する。これは、グラフィックライブラリ
5が、バッファにデータを格納する際に、データを書き
込むアドレスがバッファ最終アドレスを超えないかをチ
ェックするために用いる。
【0042】ステータス18.a、18.bは、そのバ
ッファにデータを書き込めるか否かの情報を格納する。
ステータス18.a、18.bで書き込み不可のフラグ
が立つ期間は、グラフィックサーバへ当該バッファにデ
ータ格納が終了したことを通知するメッセ−ジを発行し
てから、当該バッファの全てのデータのグラフィックサ
ーバ3による読み込むみが終了するまでの期間である。
【0043】次に、属性データ19.a、19.bに
は、当該バッファへの転送データの書き込みを開始する
前に前記共有エリア300のカレント属性データ16の
内容を複製する。したがい、カレント属性データ16と
属性データ19.a、19.bのフォーマットは完全に
同じとしている。デバイス識別子20.a、20.b
は、以後のコマンドデータ22.a、22.bを転送す
る外部処理装置を指定する情報を格納する。なお、デバ
イス識別子には外部処理装置に割り当てたデバイスアド
レスを用いるのが最も便利である。コマンド数21.
a、21.bは、コマンドデータ22.a、22.bが
何個格納されているかの情報を格納する。コマンドデー
タ22.a、22.bが、転送データの本体であり、本
例では、サ−バタスク3に対して、デバイス識別子20
a,bで指定した外部処理装置に転送を依頼するコマン
ドを格納する。ここで、グラフィックライブラリ5が、
コマンドとして、グラフィックプロセッサ12などの外
部処理装置の属性データを変更するコマンドを格納する
ときは、併せて、共有メモリ100のカレント属性デー
タ16もそのコマンドによる変更後の属性データに書き
換える。なお、デバイス識別子20.a、20.b、コ
マンド数21.a、21.b、コマンドデータ22.
a、22.bは、各デバイスについて複数セット各バッ
ファ内に設けることができる。
【0044】以下、このような共有メモリを用いた、グ
ラフィックライブラリ5とサ−バタスク3のデータ転送
動作の詳細を説明する。
【0045】図5にグラフィックライブラリ5のデータ
転送手順を、図6にサ−バタスク3のデータ転送手順を
示す。
【0046】図5において、グラフィクライブラリ5
は、アプリケーションプログラムより共有メモリに書き
込まれたデータをグラフィックサーバ10へ転送する命
令を受けると、共有エリア300のカレントバッファ1
3より転送データを書き込むバッファを判定する。ここ
では判定の結果がバッファAの先頭アドレスを示してい
るものとする。この場合、バッファAのステータス18
aを調べ、書き込み不可フラグが設定されていればこれ
が解除されるまでウェイトする(ステップ33)。書き
込み不可フラグが解除されていれば、属性データ19a
に共有エリアのカレント属性データ16を複製し、デバ
イス識別子20a、コマンド数21a、コマンドデータ
22aを書き込む(ステップ34)。この際、コマンド
として、グラフィックプロセッサ12などの外部処理装
置の属性データを変更するコマンドを格納するときは、
併せて、共有メモリ100のカレント属性データ16
も,そのコマンドによる変更後の属性データに書き換え
る。そして、書き込みが終了したとき、あるいは当該バ
ッファが満杯になりこれ以上データが書き込めない状態
になったときは、共有エリアのカレントバッファ13
に、いまデータ書き込んだバッファでない方のバッファ
の先頭アドレスを設定し(ステップ35)、タスク間通
信を用いて転送データを書き込んだバッファの先頭アド
レスのデータと共にグラフィックサーバへデータ転送を
依頼するメッセージを送り(ステップ31)、さらに、
データを書き込んだバッファのステータス18.aに書
き込み不可フラグを立てる(ステップ32)。以上の処
理により、データ転送するバッファの制御権はグラフィ
ックサーバに移る。
【0047】次に、グラフィックライブラリ5は、アプ
リケーションプログラムより共有メモリに書き込まれた
データが残っている場合、もしくは、再度グラフィック
サーバ10へデータ転送する命令を受けると、先程と同
様に、共有エリア300のカレントバッファ13より転
送データを書き込むバッファを判定する。いま判定の結
果はバッファBの先頭アドレスを示すので、バッファB
のステータス18bを調べ、書き込み不可フラグが設定
されていればこれが解除されるまでウェイトする(ステ
ップ33)。書き込み不可フラグが解除されていれば、
属性データ19bに共有エリアのカレント属性データ1
6を複製し、デバイス識別子20b、コマンド数21
b、コマンドデータ22bを書き込む(ステップ3
4)。この際、コマンドとして、グラフィックプロセッ
サ12などの外部処理装置の属性データを変更するコマ
ンドを格納するときは、併せて、共有メモリ100のカ
レント属性データ16も,そのコマンドによる変更後の
属性データに書き換える。そして、書き込みが終了した
とき、あるいは当該バッファが満杯になりこれ以上デー
タが書き込めない状態になったときは、共有エリアのカ
レントバッファ13に、いまデータ書き込んだバッファ
でない方のバッファの先頭アドレスを設定し(ステップ
35)、タスク間通信を用いて転送データを書き込んだ
バッファの先頭アドレスのデータと共にグラフィックサ
ーバへデータ転送を依頼するメッセージを送り(ステッ
プ31)、さらに、データを書き込んだバッファのステ
ータス18.bに書き込み不可フラグを立てる(ステッ
プ32)。
【0048】一方、サ−バタスク3は、メッセージキュ
ーを介してタスク間通信によるメッセージを受け取る
(ステップ36)と共に、そのメッセージを送ったタス
クのIDとバッファの先頭アドレスを知る。いま、バッ
ファの先頭アドレスは、バッファAの先頭アドレスであ
ったとして説明する。サ−バタスク3は、今回受け取っ
たメッセージを発行したタスクと、前回の受け取ったメ
セ−ジを発行したタスクとが同じであるかとを判定し
(ステップ37)、異なっていれば、さらに、メッセ−
ジで通知されたバッファの属性データ19aを読み出
し、これと、自身で記憶しておいた現在外部処理装置に
設定されている属性データとが一致するかを判定する。
そして、タスクとが異なり、かつ、属性データが異なる
場合には、デバイス識別子で指定された外部処理装置
に、メッセ−ジで通知されたバッファの属性データ19
aの全て、もしくは、自身で記憶しておいた属性データ
と異なる部分を設定し(ステップ39)、メッセ−ジで
通知されたバッファの属性データ19aに書き込まれて
いるコマンドを発行する(ステップ40)。また、サ−
バタスク3は、外部処理装置にメッセ−ジで通知された
バッファの属性データ19aを設定する際に、自身が記
憶しておいた属性データを、設定する属性データに更新
しておく。
【0049】もし、タスクが一致した場合、もしくは、
メッセ−ジで通知されたバッファの属性データ19aと
自身で記憶しておいた属性データとが一致した場合に
は、メッセ−ジで通知されたバッファの属性データ19
aの設定(ステップ39)は行わずに、メッセ−ジで通
知されたバッファの属性データ19aに書き込まれてい
るコマンドの発行(ステップ40)のみを行う。また、
ステップ40において、外部処理装置の属性値を変更す
るコマンドを発行する場合には、自身が記憶している属
性データも、このコマンドで変更される内容に変更して
おく。
【0050】最後にグラフィックプロセッサ3は、全て
のコマンド転送し終えた後、そのバッファのステータス
を書き込み可能に設定し、処理を終了する(ステップ4
0)。
【0051】このように、本実施例によれば、グラフィ
ックサーバ3がメッセージを受け取り、そのメッセージ
を送ったタスクがその前にメッセージを送ったタスクと
異なるとき等、属性データの変更が必要な場合にのみ属
性データを設定する。また、共有メモリ6に対応するタ
スクに対応する属性データを記憶することにより、グラ
フィックプロセッサによる外部処理装置よりの属性デー
タの退避処理を不要としている。したがい、クライアン
トタスクの種類により属性データを切り替える必要があ
るサーバが管理する1ないし複数の外部処理装置がある
場合には、サーバが次に処理すべきクライアントタスク
が変わっても、属性データを外部処理装置からサーバに
退避しなくてよいため、データの退避に要する時間だけ
処理時間が短くなる。
【0052】また、複数のクライアントタスクとサーバ
間の通信に、タスク間通信と共有メモリを併用すること
で大容量のデータを高速に転送することができる。更
に、共有メモリを複数のバッファ構成とすることによ
り、同一の共有メモリを同時にクライアントとサーバか
らアクセスできるので、データ転送で発生する待ち時間
を短縮することができる。
【0053】なお、本実施例に係るデータ処理装置の物
理的構成として図2に示した構成に代えて、図7に示す
構成を採用してもよい。
【0054】図7において、データ処理装置は、記憶装
置6000を共有するマルチプロセッサシステムとして
実現されている。図中、3000、1000a,100
0bは、それぞれプロセッサシステムであり、これらは
記憶装置6000を共有している。プロセッサシステム
3000では、グラフィイックサ−バタスク3が実行さ
れ、プロセッサシステム1000a、1000bではク
ライアントタスクが実行される。この場合、前記各共有
メモリ6は、記憶装置6000上に構成される。また、
メッセ−ジはI/O26を介して伝達される。
【0055】このようなシステムにおいては、I/O2
6を用いた通信は、記憶装置6000を用いたデータ転
送に比べ極めて低速であるため、本実施例に係る共有メ
モリを用いた転送は、高速なデータ転送に特に有効とな
る。
【0056】
【発明の効果】以上のように、本発明によれば、並行し
て実行されるタスク間のタスク間通信による同期化の容
易性を損なうことなく、データ転送を高速化を実現する
ことのできるデータ処理装置を提供することができる。
【0057】また、サーバタスクによるクライアントタ
スクの切り替えを高速に行うことのできるデータ処理装
置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例に係るデータ処理装置における
タスク間のデータ転送の概要を示す説明図である。
【図2】本発明の実施例に係るデータ処理装置の論理的
構成を示すブロック図である。
【図3】本発明の実施例に係るデータ処理装置の第1の
物理的構成を示すブロック図である。
【図4】本発明の実施例に係る共有メモリの構成を示す
説明図である。
【図5】本発明の実施例に係るグラフィックライブラリ
のデータ転送処理手順を示すフロ−チャ−トである。
【図6】本発明の実施例に係るグラフィックサーバのデ
ータ転送処理手順を示すフロ−チャ−トである。
【図7】本発明の実施例に係るデータ処理装置の第2の
物理的構成を示すブロック図である。
【符号の説明】
1 クライアントタスク 2 共有メモリ 3 データ処理サーバ 4 アプリケーションプログラム 5 グラフィックライブラリ 6 共有メモリ 7 メッセージキュー 8 描画/表示制御部 9 ハードインタフェース 10 グラフィックサーバ 11 カラーパレット 12 グラフィックプロセッサ 13 カレントバッファ 23 メインCPU 24 ROM 25 ROM 26 I/O 27 DMAC 28 フレームメモリ 29 D/A変換器 30 ディスプレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤原 敏雄 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 高村 敦子 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】1または複数のクライアントタスクとサー
    バタスクとを並行して実行するデータ処理装置であっ
    て、 前記クライアントタスクとサーバタスクよりアクセス可
    能な共有メモリを備え、 前記サーバタスクはメッセージキューと、前記メッセー
    ジキューを介して前記共有メモリにデータを格納したこ
    とを通知するメッセージを受け取った場合に、前記共有
    メモリに格納されたデータを読みだして処理する処理手
    段とを備え、 前記クライアントタスクは、前記サーバタスクに転送す
    るデータを前記共有メモリに格納する格納手段と、前記
    共有メモリにデータを格納したことを通知するメッセー
    ジを前記メッセージキューを介して前記サーバタスクに
    転送する通知手段を備え、 前記サーバタスクは、前記クライアントタスクより、前
    記メッセージキューを介して前記共有メモリにデータを
    格納したことを通知するメッセージを受け取った場合
    に、前記共有メモリに格納されたデータを読みだして処
    理する処理手段を備えていることを特徴とするデータ処
    理装置。
  2. 【請求項2】請求項1記載のデータ処理装置であって、 前記共有メモリは、各クライアントタスク毎に設けられ
    た、対応するクライントタスクと前記サーバタスクより
    アクセス可能な複数の共有メモリであって、 前記クライアントタスクの格納手段は、前記サーバタス
    クに転送するデータを自身に対応する共有メモリに格納
    する手段であって、 前記サーバタスクの処理手段は、前記クライントタスク
    より前記メッセージキューを介して前記共有メモリにデ
    ータを格納したことを通知するメッセージを受け取った
    場合に、メッセージの転送元のクライアントタスクに対
    応する前記共有メモリに格納されたデータを読みだして
    処理する手段であることを特徴とするデータ処理装置。
  3. 【請求項3】請求項1記載のデータ処理装置であって、 前記クライアントタスクは、前記サーバタスクに転送す
    るとするデータの量が所定量より小さい場合には、前記
    格納手段によって、サーバタスクに転送するデータを前
    記共有メモリに格納する代わりに、転送しようとするデ
    ータを含めたメッセージを前記サーバタスクに備えられ
    たメッセージキューを介してサーバタスクに転送する手
    段を有することを特徴とするデータ処理装置。
  4. 【請求項4】請求項2記載のデータ処理装置であって、 前記各クライアント毎に設けられた各共有メモリのフォ
    ーマットは、全て同一であることを特徴とするデータ処
    理装置。
  5. 【請求項5】請求項2記載のデータ処理装置であって、 前記各クライアント毎に設けられた各共有メモリは、前
    記クライアントタスクが前記サーバタスクに転送するデ
    ータを格納する複数のバッファを含み、 前記クライアントタスクの格納手段は、前記共有メモリ
    にデータを格納したことを通知するメッセージの転送毎
    に、前記複数のバッファのうちの、前記サーバタスクに
    転送するデータを格納するバッファを切り替えることを
    特徴とするデータ処理装置。
  6. 【請求項6】外部処理装置を備え、かつ、前記外部処理
    装置を制御するサーバタスクと前記サーバタスクに前記
    外部処理装置の制御データを転送する1または複数のク
    ライアントタスクとを並行して実行するデータ処理装置
    であって、 前記クライアントタスクは、前記サーバタスクに前記外
    部処理装置の制御データを転送する際に、併せて、前記
    外部処理装置の動作属性を規定する属性データを前記サ
    ーバタスクに渡し、 前記サーバタスクは、前記外部処理装置の制御データの
    クライアントタスクよりの転送を受ける場合に、転送元
    のクライアントタスクから渡された属性データを前記外
    部処理装置に設定し、転送された制御データに基づいて
    前記外部制御装置を制御することを特徴とするデータ処
    理装置。
  7. 【請求項7】請求項6記載のデータ処理装置であって、 前記サーバタスクは、前記外部処理装置の制御データの
    転送を受ける際に、転送元のクライアントタスクが、前
    回の転送元のクライアントタスクと異なる場合にのみ、
    今回の転送元のクライアントタスクから受け取った属性
    データを前記外部処理装置に設定することを特徴とする
    データ処理装置。
  8. 【請求項8】請求項2記載のデータ処理装置であって、 外部処理装置を備え、 前記各共有メモリは、対応するクライアントタスクが前
    記外部処理装置の動作属性を規定する属性データを格納
    する特定の領域を有し、 前記各クライアントタスクの格納手段は、自身に対応す
    る共有メモリに、前記外部処理装置を制御するためのデ
    ータを格納すると共に、自身に対応する共有メモリの前
    記特定の領域に前記属性データを設定し、 前記サーバタスクの処理手段は、前記メッセージキュー
    を介して前記共有メモリにデータを格納したことを通知
    するメッセージを受け取った場合に、メッセージの転送
    元のクライアントタスクに対応する前記共有メモリの前
    記特定の領域より、前記属性データを読みだして前記外
    部処理装置に設定し、メッセージの転送元のクライアン
    トタスクに対応する前記共有メモリに格納されたデータ
    を前記外部制御装置に転送することを特徴とするデータ
    処理装置。
  9. 【請求項9】請求項8記載のデータ処理装置であって、 前記サーバタスクの処理手段は、前記メッセージキュー
    を介して前記共有メモリにデータを格納したことを通知
    するメッセージを受け取った場合に、メッセージの転送
    元のクライアントタスクが、前回のメッセージの転送元
    のクライアントタスクと異なる場合にのみ、今回のメッ
    セージの転送元のクライアントタスクに対応する前記共
    有メモリの前記特定の領域より、前記属性データを読み
    だして前記外部処理装置に設定することを特徴とするデ
    ータ処理装置。
  10. 【請求項10】請求項8記載のデータ処理装置であっ
    て、 前記サーバタスクは、前記外部記憶装置に最後に設定し
    た属性データを記憶する手段を有し、 前記サーバタスクの処理手段は、前記メッセージキュー
    を介して前記共有メモリにデータを格納したことを通知
    するメッセージを受け取った場合に、メッセージの転送
    元のクライアントタスクに対応する前記共有メモリの前
    記特定の領域より、前記属性データを読みだして、記憶
    している属性データと比較し、一致しない場合にのみ、
    共有メモリの前記特定領域より読みだした属性データの
    全部もしくは一致しなかった部分を前記外部処理装置に
    設定することを特徴とするデータ処理装置。
  11. 【請求項11】1または複数のクライアントタスクとサ
    ーバタスクとを並行して実行するデータ処理装置であっ
    て、 前記各クライアントタスク毎に設けられた、対応するク
    ライントタスクと前記サーバタスクよりアクセス可能な
    複数の共有メモリを備え、 前記共有メモリは、複数のバッファを有し、各バッファ
    は、自バッファへの書き込みの禁止と許可の識別を示す
    書き込み制御ビットを保持し、 前記クライアントタスクは、前記サーバタスクに転送す
    るデータを自身に対応する共有メモリの、前記書き込み
    制御ビットが書き込みの許可を示しているバッファの一
    つに格納し、格納を行ったバッファの前記ビットを禁止
    に設定する格納手段と、前記共有メモリにデータを格納
    した旨と、格納を行ったバッファの識別を通知するメッ
    セージを前記メッセージキューを介して、前記サーバタ
    スクに転送する通知手段を備え、 前記サーバタスクは、前記クライントタスクより前記メ
    ッセージキューを介して前記共有メモリにデータを格納
    したことを通知するメッセージを受け取った場合に、通
    知されたバッファのデータを読みだし、読み出しを行っ
    たバッファの前記書き込み制御ビットを書き込みの許可
    を示すように設定する処理手段を備えていることを特徴
    とするデータ処理装置。
JP5067011A 1993-03-25 1993-03-25 データ処理装置 Pending JPH06282515A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5067011A JPH06282515A (ja) 1993-03-25 1993-03-25 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5067011A JPH06282515A (ja) 1993-03-25 1993-03-25 データ処理装置

Publications (1)

Publication Number Publication Date
JPH06282515A true JPH06282515A (ja) 1994-10-07

Family

ID=13332558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5067011A Pending JPH06282515A (ja) 1993-03-25 1993-03-25 データ処理装置

Country Status (1)

Country Link
JP (1) JPH06282515A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999951A (en) * 1997-07-04 1999-12-07 Justsystem Corporation Kana-to-kanji conversion method including romaji input and translation processing by a server
JP2006024187A (ja) * 2004-06-10 2006-01-26 Ricoh Co Ltd 通信装置、機器メッセージ処理プログラム及び記録媒体
JP2010511255A (ja) * 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置
US8200934B2 (en) 2006-10-06 2012-06-12 Hitachi, Ltd. Data transfer unit in multi-core processor
US8418191B2 (en) 2004-11-02 2013-04-09 Fujitsu Limited Application flow control apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999951A (en) * 1997-07-04 1999-12-07 Justsystem Corporation Kana-to-kanji conversion method including romaji input and translation processing by a server
JP2006024187A (ja) * 2004-06-10 2006-01-26 Ricoh Co Ltd 通信装置、機器メッセージ処理プログラム及び記録媒体
US8418191B2 (en) 2004-11-02 2013-04-09 Fujitsu Limited Application flow control apparatus
US8200934B2 (en) 2006-10-06 2012-06-12 Hitachi, Ltd. Data transfer unit in multi-core processor
JP2010511255A (ja) * 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置

Similar Documents

Publication Publication Date Title
JP3659062B2 (ja) 計算機システム
US5299309A (en) Fast graphics control system capable of simultaneously storing and executing graphics commands
KR920001958B1 (ko) 그래픽디스플레이시스템에 있어서의 그래픽디스플레이장치
US5329615A (en) Concurrent general purpose and DMA processing in a graphics rendering processor
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH01277928A (ja) 印刷装置
EP1647888A2 (en) Apparatus for efficient image processing
US20060061579A1 (en) Information processing apparatus for efficient image processing
JPH06282515A (ja) データ処理装置
JPH064314A (ja) タスク間同期通信装置
JP2663566B2 (ja) グラフィックディスプレイ装置
JPH0413716B2 (ja)
JPH02222058A (ja) マルチプロセッサシステム
KR19990059515A (ko) 운영체제 상에서의 콘솔 서버 방법 및 장치
JPH10177493A (ja) 図形処理システム
JP2000311249A (ja) グラフィック処理装置とそのグラフィックコマンド処理方法
JPS60186954A (ja) デ−タ転送制御方式
JPH10134013A (ja) マルチcpuシステム
JPS60179866A (ja) リアルタイムオペレ−テイングシステム
JPH01304567A (ja) プロセッサ間通信制御方式
JPS61101143A (ja) 回線走査方式
JPH0381854A (ja) メモリアクセス方式
JPH04199284A (ja) ディスプレイ装置
JPH08137662A (ja) データ送信方法及びデータ送信装置
JPH06314249A (ja) データ転送装置