説明

画面表示処理装置

【課題】 複数のハードウェアを通信手段で接続して画面表示装置を共有するシステムにおいて、データ通信量の増大を抑制しつつ、各ハードウェアの選択の自由度向上を可能とした画面表示処理装置を提供する。
【解決手段】 2つのハードウェア、HW1、HW2を接続して、HW2に接続された表示装置を共有する画面表示処理装置において、各OS1〜4に対応してフレームバッファ11a、11c〜11eを配置し、描画画面データを共通形式で格納するとともに、HW1のフレームバッファ11aと同期するフレームバッファ11bをHW2内に配置し、LCDコントローラ15bは、各フレームバッファ11b〜11eの描画画面データを合成することにより、LCDに出力する画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のオペレーティングシステムや処理装置で共通の表示装置を用いるための画面表示処理装置に関する。
【背景技術】
【0002】
計算機を利用したシステムでは、その出力装置として画面表示装置が用いられている。一般的なオペレーティングシステム(OS:Operating System)における画面表示は、図3に示されるように、計算機200上で稼働しているアプリケーション6からユーザーインターフェースミドルウェア(UIMW:user interface middleware)5に対して指示を行い、このUIMW5がGPU(Graphic Processing Unit)ドライバ2を通じてグラフィックハードウェア(描画装置)1に対して描画指示を行うことにより行われている(図3参照)。しかし、この方法は、OSが描画装置を占有していることを前提としたものであるため、同一のハードウェア上で複数のOSを稼働させる場合や複数のハードウェアで画面表示装置を共有する場合を考慮したものではない。特許文献1記載の技術は、仮想マシンをグラフィックハードウェア空間へと適用することにより、仮想マシン上で稼働する各OSから描画装置への直接アクセスを可能とし、各OSが単独で稼働している場合と同様に描画装置を利用することができるようにするものである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−190281号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この特許文献1の技術は、接続されるハードウェア、OSの数が増えると、描画装置側の負担が増大するほか、複数のハードウェアを組み合わせて共通の描画装置を利用して表示を行うような場合には、この描画装置を各ハードウェアが直接制御できるものである必要があり、ハードウェアの選択に制約が生じる。また、接続されるハードウェアによってハードウェアと描画装置との通信遅延時間に差が生じるため、各ハードウェアでの描画の排他制御における問題となるほか、データ通信量の増大を招く。
【0005】
そこで本発明は、複数のハードウェアを通信手段で接続して画面表示装置を共有するシステムにおいて、データ通信量の増大を抑制しつつ、各ハードウェアの選択の自由度向上を可能とした画面表示処理装置を提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画面表示処理装置は、少なくとも1つのOSを稼働させる第1の計算処理部と、表示装置に接続される描画装置を備える第1の計算機と、少なくとも1つのOSを稼働させる第2の計算処理部を備える第2の計算機と、各計算機を接続する通信手段とを備え、第1、第2の計算処理部で稼働しているオペレーティングシステムそれぞれから第1の計算機に接続された表示装置に画面を表示する処理を行う画面表示処理装置において、各計算処理部に設けられ、各OSに対応して、描画画面データを共通形式で保持する第1のフレームバッファ(FB:Frame Buffer)と、第1の計算機に設けられ、描画装置の指示により第2の計算機の第11のFBと同期する第2のFBと、をさらに備えており、描画装置は、第1の計算機の各FBの描画画面データをコピーまたは合成することにより、表示装置への出力画像を生成することを特徴とする。
【0007】
第1の計算機は、描画装置の制御機能を有するOSを少なくとも一つ稼働させており、第1の計算機または第2の計算機のいずれかで稼働している描画装置の制御機能を有しないOSに通知して描画装置の制御を行うOS間通信手段をさらに備えているとよい。
【発明の効果】
【0008】
本発明によれば、各OSは、専用のFBへの出力を行うため、複数のOSからのアクセスがなく、排他制御を行う必要がない。また、最終的な描画はFBのデータを必要に応じて合成すればよいので、描画装置側の負担も小さい。FBに共通形式で格納する機能を実現すれば足りるため、ハードウェアの選択の自由度も向上する。第2の計算機から、第1の計算機への描画データの送信は、描画装置の指示に基づいて行われるので、特に、第2の計算機で稼働しているOSから表示装置へと表示している画像を更新する必要がない場合には描画データを送信する必要がなく、第2の計算機が描画装置に直接アクセスする場合に比較して、データ送信量を抑制できる。
【図面の簡単な説明】
【0009】
【図1】本発明に係る画面表示処理装置の実施形態を示すブロック図である。
【図2】図1の装置による画面表示処理例を説明する図である。
【図3】従来の画面表示処理装置を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【0011】
図1に、本発明に係る画面表示処理装置の実施形態をブロック図として示す。画面表示処理装置である計算システム100は、複数の計算機により構成され、各計算機上で稼働する1つないし複数のOS上でアプリケーション6が稼働している。アプリケーション6は、OSが提供するUIMW5を通じて各OSに対して用意されている表示プラットフォーム4に対して画面制御を行う。この表示プラットフォーム4間で連携をとるため、OS間通信3機能が用意される。描画装置である描画ハードウェア群1は、表示プラットフォーム4から直接、またはGPUドライバ2を通じて制御されることで、図示していない表示装置への描画が行われる。
【0012】
図2は、図1の装置による画面表示処理例を説明する図である。ここでは描画装置を保持していないハードウェア装置であるHW1と、描画装置を保持しているハードウェア装置であるHW2とを組み合わせて動作させる場合を例に説明する。
【0013】
HW1上では、OSとして単独のOS1が稼働し、HW2上では、3つのOS(OS2、OS3、OS4)が稼働しており、それぞれアプリケーションとしてAP60〜64が作動している。HW1上には、OS1に対応して描画装置へと出力を行う描画画面のデータを保持するフレームバッファ(FB:Frame Buffer)11aがそのRAM領域上に配置されている。一方、HW2には、各OS(OS2、OS3、OS4)に対応するFB11c〜11eとHW1上のFB11aに対応するFB11bとがそのRAM領域上に配置されている。これらのFB11b〜11eは、RAM上のそれぞれ異なる領域に配置されている。
【0014】
HW1のFB11aは、表示装置であるLCDを制御することが可能なLCDコントローラ15aに接続されており、LCDコントローラ15aの出力は、キャプチャー回路14を通じてFB11bに入力されている。したがって、HW1には、表示装置は直接接続されていない。FB11aとFB11bとの接続は、これに限られるものではなく、これらを専用または汎用のデータ転送路(例えば、PCI-SIG社の提唱するPCI Express規格)により行ってもよい。
【0015】
HW2上で稼働するOS2、OS3は、フレームバッファドライバ13a、13bを有しており、両者は、OS間通信機能12により接続されている。OS3のフレームバッファドライバ13bは、自身のFB11dに加えて、OS4のFB11eを管理する機能を有している。これらの各OS上に配置されるFB11と、フレームバッファドライバ13とが上記表示プラットフォーム4に該当する。なお、各FB11は少なくとも2画面分の描画データを保持することが可能な構成となっている。
【0016】
HW2の4つのFB11b〜11eは、表示装置であるLCDを制御することが可能なLCDコントローラ15bに接続されており、LCDコントローラ15bは、表示装置であるLCDに接続されている。このLCDコントローラ15bは、フレームバッファドライバ13aに接続されており、描画ハードウェアの制御は、OS2が主体となって行われる。すなわち、OS2がマスターとなり、スレーブとなるOS1、OS3、OS4の処理要求を受けて下位層である描画装置への実際の描画を行う。
【0017】
各OS1〜4は、対応するFB11a、c〜eの描画データを独立して更新する。各OSからFB11上に配置されている描画データを更新する場合には、まず、表示プラットフォームに対して描画データの切り替え要求を発行する。ここでいう表示プラットフォームとは、フレームバッファドライバ13を有する場合は当該フレームバッファドライバ13であるが、フレームバッファドライバ13を有さず、各OSがアプリケーション等から直接フレームバッファにアクセスできる場合には、当該フレームバッファになる(図中では、OS1のAP60が該当する)。切り替え要求が表示プラットフォームから受理されると、各OSはFB11a、11c〜11eの現在出力側でない側のバッファを出力された描画データで更新する。データ更新が完了したら、更新した側のバッファを出力側に切り替え、各OSは対応するLCDコントローラ15a、15bに対して更新処理の完了を通知する。ここで、マスターであるOS2以外のOSからの完了通知は、OS間通信やハードウェア間の通信を通じてフレームバッファドライバ13aへと送られ、フレームバッファドライバ13aからLCDコントローラ15bへと伝達され、コントローラ15bからの通知は逆の順序を通じて各OSに通知される。
【0018】
また、LCDコントローラ15bの設定の変更は、表示プラットフォーム4への要求を統合して、マスターとなるOS2から実行される。このとき、表示装置への描画処理実行中に変更が行われないよう、LCDコントローラ15bからのVSYNC割り込みを受信した段階で変更を行うとともに、FB11の更新処理もこれに同期して統合して行われる。
【0019】
一方、FB11bの内容は、FB11aの書き替え完了に同期して書き替えられる。なお、全ての更新に同期するのではなく、フレームバッファドライバ13aまたはLCDコントローラ15bからの指示に基づいて、FB11aの書き替えタイミングより低い周期で、あるいは、これらの指示があった場合にのみ同期を行うようにしてもよい。
【0020】
LCDコントローラ15bは、FB11b〜11eの出力側に格納されている描画データを合成することで、LCDへの画像出力を行う。ここで、合成に際しては、例えば、指定された順序で重ね合わせたり、指定した領域上にペーストする形式など各種の合成手法を採用することができる。
【0021】
本実施形態によれば、各FB11a、c〜eは、各OS1〜OS4に対応して専用に設けられたものであるため、複数のOSからのアクセスを考慮する必要がなく、排他制御を行う必要がないので、無駄がない。一方、最終的な出力は、各FB11b〜11eの画面合成を行うことで容易に生成できる。また、一般的なOSは、占有するFBの存在を前提としているため、既存のシステムの構成を変更することなくOSの流用が行える。
【0022】
また、異なるハードウェア間をまたぐデータ転送についても、予め設けられたデータバッファに必要に応じてデータを転送しているため、LCDコントローラ15bは内部のバッファとのデータ転送のみを行えば足り、合成に伴うデータ転送やオーバーヘッドの発生を抑制することができる。
【0023】
さらに、共通したインターフェース方式を表示プラットフォームに採用することで、OSに下位層の構造を意識させることなくシステムを構築することができる。そのため、OSやハードウェアの選択自由度も向上する。また、OS間通信機能を用いることにより、必要に応じて描画装置への処理要求を伝達したり、アクセス状態情報を共有して排他制御を行うこともできる。
【符号の説明】
【0024】
11b-11e…各フレームバッファ、1…描画ハードウェア群、2…GPUドライバ、3…OS間通信、4…表示プラットフォーム、5…ユーザーインターフェースミドルウェア、6、61〜64…アプリケーション、11a〜11e…フレームバッファ、12…OS間通信機能、13a、13b…フレームバッファドライバ、14…キャプチャー回路、15a、15b…LCDコントローラ、100…計算システム、200…計算機。

【特許請求の範囲】
【請求項1】
少なくとも1つのオペレーティングシステムを稼働させる第1の計算処理部と、表示装置に接続される描画装置を備える第1の計算機と、少なくとも1つのオペレーティングシステムを稼働させる第2の計算処理部を備える第2の計算機と、各計算機を接続する通信手段とを備え、前記第1、第2の計算処理部で稼働しているオペレーティングシステムそれぞれから前記第1の計算機に接続された表示装置に画面を表示する処理を行う画面表示処理装置において、
前記各計算処理部に設けられ、前記各オペレーティングシステムに対応して、描画画面データを共通形式で保持する第1のフレームバッファと、
前記第1の計算機に設けられ、前記描画装置の指示により前記第2の計算機のフレームバッファと同期する第2のフレームバッファと、をさらに備えており、
前記描画装置は、前記第1の計算機の各フレームバッファの描画画面データをコピーまたは合成することにより、表示装置への出力画像を生成することを特徴とする画面表示処理装置。
【請求項2】
前記第1の計算機は、前記描画装置の制御機能を有するオペレーティングシステムを少なくとも一つ稼働させており、前記第1の計算機または前記第2の計算機のいずれかで稼働している前記描画装置の制御機能を有しないオペレーティングシステムに通知して前記描画装置の制御を行うオペレーティングシステム間通信手段をさらに備えていることを特徴とする請求項1記載の画面表示処理装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate