(57)【要約】【課題】  複数のハードウェアを通信手段で接続して画面表示装置を共有するシステムにおいて、データ通信量の増大を抑制しつつ、各ハードウェアの選択の自由度向上を可能とした画面表示処理装置を提供する。【解決手段】  ２つのハードウェア、ＨＷ１、ＨＷ２を接続して、ＨＷ２に接続された表示装置を共有する画面表示処理装置において、各ＯＳ１〜４に対応してフレームバッファ１１ａ、１１ｃ〜１１ｅを配置し、描画画面データを共通形式で格納するとともに、ＨＷ１のフレームバッファ１１ａと同期するフレームバッファ１１ｂをＨＷ２内に配置し、ＬＣＤコントローラ１５ｂは、各フレームバッファ１１ｂ〜１１ｅの描画画面データを合成することにより、ＬＣＤに出力する画像を生成する。【選択図】  図１
2010244324.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのオペレーティングシステムを稼働させる第１の計算処理部と、表示装置に接続される描画装置を備える第１の計算機と、少なくとも１つのオペレーティングシステムを稼働させる第２の計算処理部を備える第２の計算機と、各計算機を接続する通信手段とを備え、前記第１、第２の計算処理部で稼働しているオペレーティングシステムそれぞれから前記第１の計算機に接続された表示装置に画面を表示する処理を行う画面表示処理装置において、
前記各計算処理部に設けられ、前記各オペレーティングシステムに対応して、描画画面データを共通形式で保持する第１のフレームバッファと、
前記第１の計算機に設けられ、前記描画装置の指示により前記第２の計算機のフレームバッファと同期する第２のフレームバッファと、をさらに備えており、
前記描画装置は、前記第１の計算機の各フレームバッファの描画画面データをコピーまたは合成することにより、表示装置への出力画像を生成することを特徴とする画面表示処理装置。
【請求項２】
前記第１の計算機は、前記描画装置の制御機能を有するオペレーティングシステムを少なくとも一つ稼働させており、前記第１の計算機または前記第２の計算機のいずれかで稼働している前記描画装置の制御機能を有しないオペレーティングシステムに通知して前記描画装置の制御を行うオペレーティングシステム間通信手段をさらに備えていることを特徴とする請求項１記載の画面表示処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオペレーティングシステムや処理装置で共通の表示装置を用いるための画面表示処理装置に関する。
【背景技術】
【０００２】
計算機を利用したシステムでは、その出力装置として画面表示装置が用いられている。一般的なオペレーティングシステム（ＯＳ：Operating System）における画面表示は、図３に示されるように、計算機２００上で稼働しているアプリケーション６からユーザーインターフェースミドルウェア（ＵＩＭＷ：user interface middleware）５に対して指示を行い、このＵＩＭＷ５がＧＰＵ（Graphic Processing Unit）ドライバ２を通じてグラフィックハードウェア（描画装置）１に対して描画指示を行うことにより行われている（図３参照）。しかし、この方法は、ＯＳが描画装置を占有していることを前提としたものであるため、同一のハードウェア上で複数のＯＳを稼働させる場合や複数のハードウェアで画面表示装置を共有する場合を考慮したものではない。特許文献１記載の技術は、仮想マシンをグラフィックハードウェア空間へと適用することにより、仮想マシン上で稼働する各ＯＳから描画装置への直接アクセスを可能とし、各ＯＳが単独で稼働している場合と同様に描画装置を利用することができるようにするものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９０２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１の技術は、接続されるハードウェア、ＯＳの数が増えると、描画装置側の負担が増大するほか、複数のハードウェアを組み合わせて共通の描画装置を利用して表示を行うような場合には、この描画装置を各ハードウェアが直接制御できるものである必要があり、ハードウェアの選択に制約が生じる。また、接続されるハードウェアによってハードウェアと描画装置との通信遅延時間に差が生じるため、各ハードウェアでの描画の排他制御における問題となるほか、データ通信量の増大を招く。
【０００５】
そこで本発明は、複数のハードウェアを通信手段で接続して画面表示装置を共有するシステムにおいて、データ通信量の増大を抑制しつつ、各ハードウェアの選択の自由度向上を可能とした画面表示処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る画面表示処理装置は、少なくとも１つのＯＳを稼働させる第１の計算処理部と、表示装置に接続される描画装置を備える第１の計算機と、少なくとも１つのＯＳを稼働させる第２の計算処理部を備える第２の計算機と、各計算機を接続する通信手段とを備え、第１、第２の計算処理部で稼働しているオペレーティングシステムそれぞれから第１の計算機に接続された表示装置に画面を表示する処理を行う画面表示処理装置において、各計算処理部に設けられ、各ＯＳに対応して、描画画面データを共通形式で保持する第１のフレームバッファ（ＦＢ：Frame Buffer）と、第１の計算機に設けられ、描画装置の指示により第２の計算機の第１１のＦＢと同期する第２のＦＢと、をさらに備えており、描画装置は、第１の計算機の各ＦＢの描画画面データをコピーまたは合成することにより、表示装置への出力画像を生成することを特徴とする。
【０００７】
第１の計算機は、描画装置の制御機能を有するＯＳを少なくとも一つ稼働させており、第１の計算機または第２の計算機のいずれかで稼働している描画装置の制御機能を有しないＯＳに通知して描画装置の制御を行うＯＳ間通信手段をさらに備えているとよい。
【発明の効果】
【０００８】
本発明によれば、各ＯＳは、専用のＦＢへの出力を行うため、複数のＯＳからのアクセスがなく、排他制御を行う必要がない。また、最終的な描画はＦＢのデータを必要に応じて合成すればよいので、描画装置側の負担も小さい。ＦＢに共通形式で格納する機能を実現すれば足りるため、ハードウェアの選択の自由度も向上する。第２の計算機から、第１の計算機への描画データの送信は、描画装置の指示に基づいて行われるので、特に、第２の計算機で稼働しているＯＳから表示装置へと表示している画像を更新する必要がない場合には描画データを送信する必要がなく、第２の計算機が描画装置に直接アクセスする場合に比較して、データ送信量を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る画面表示処理装置の実施形態を示すブロック図である。
【図２】図１の装置による画面表示処理例を説明する図である。
【図３】従来の画面表示処理装置を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【００１１】
図１に、本発明に係る画面表示処理装置の実施形態をブロック図として示す。画面表示処理装置である計算システム１００は、複数の計算機により構成され、各計算機上で稼働する１つないし複数のＯＳ上でアプリケーション６が稼働している。アプリケーション６は、ＯＳが提供するＵＩＭＷ５を通じて各ＯＳに対して用意されている表示プラットフォーム４に対して画面制御を行う。この表示プラットフォーム４間で連携をとるため、ＯＳ間通信３機能が用意される。描画装置である描画ハードウェア群１は、表示プラットフォーム４から直接、またはＧＰＵドライバ２を通じて制御されることで、図示していない表示装置への描画が行われる。
【００１２】
図２は、図１の装置による画面表示処理例を説明する図である。ここでは描画装置を保持していないハードウェア装置であるＨＷ１と、描画装置を保持しているハードウェア装置であるＨＷ２とを組み合わせて動作させる場合を例に説明する。
【００１３】
ＨＷ１上では、ＯＳとして単独のＯＳ１が稼働し、ＨＷ２上では、３つのＯＳ（ＯＳ２、ＯＳ３、ＯＳ４）が稼働しており、それぞれアプリケーションとしてＡＰ６０〜６４が作動している。ＨＷ１上には、ＯＳ１に対応して描画装置へと出力を行う描画画面のデータを保持するフレームバッファ（ＦＢ：Frame Buffer）１１ａがそのＲＡＭ領域上に配置されている。一方、ＨＷ２には、各ＯＳ（ＯＳ２、ＯＳ３、ＯＳ４）に対応するＦＢ１１ｃ〜１１ｅとＨＷ１上のＦＢ１１ａに対応するＦＢ１１ｂとがそのＲＡＭ領域上に配置されている。これらのＦＢ１１ｂ〜１１ｅは、ＲＡＭ上のそれぞれ異なる領域に配置されている。
【００１４】
ＨＷ１のＦＢ１１ａは、表示装置であるＬＣＤを制御することが可能なＬＣＤコントローラ１５ａに接続されており、ＬＣＤコントローラ１５ａの出力は、キャプチャー回路１４を通じてＦＢ１１ｂに入力されている。したがって、ＨＷ１には、表示装置は直接接続されていない。ＦＢ１１ａとＦＢ１１ｂとの接続は、これに限られるものではなく、これらを専用または汎用のデータ転送路（例えば、PCI-SIG社の提唱するPCI Express規格）により行ってもよい。
【００１５】
ＨＷ２上で稼働するＯＳ２、ＯＳ３は、フレームバッファドライバ１３ａ、１３ｂを有しており、両者は、ＯＳ間通信機能１２により接続されている。ＯＳ３のフレームバッファドライバ１３ｂは、自身のＦＢ１１ｄに加えて、ＯＳ４のＦＢ１１ｅを管理する機能を有している。これらの各ＯＳ上に配置されるＦＢ１１と、フレームバッファドライバ１３とが上記表示プラットフォーム４に該当する。なお、各ＦＢ１１は少なくとも２画面分の描画データを保持することが可能な構成となっている。
【００１６】
ＨＷ２の４つのＦＢ１１ｂ〜１１ｅは、表示装置であるＬＣＤを制御することが可能なＬＣＤコントローラ１５ｂに接続されており、ＬＣＤコントローラ１５ｂは、表示装置であるＬＣＤに接続されている。このＬＣＤコントローラ１５ｂは、フレームバッファドライバ１３ａに接続されており、描画ハードウェアの制御は、ＯＳ２が主体となって行われる。すなわち、ＯＳ２がマスターとなり、スレーブとなるＯＳ１、ＯＳ３、ＯＳ４の処理要求を受けて下位層である描画装置への実際の描画を行う。
【００１７】
各ＯＳ１〜４は、対応するＦＢ１１ａ、ｃ〜ｅの描画データを独立して更新する。各ＯＳからＦＢ１１上に配置されている描画データを更新する場合には、まず、表示プラットフォームに対して描画データの切り替え要求を発行する。ここでいう表示プラットフォームとは、フレームバッファドライバ１３を有する場合は当該フレームバッファドライバ１３であるが、フレームバッファドライバ１３を有さず、各ＯＳがアプリケーション等から直接フレームバッファにアクセスできる場合には、当該フレームバッファになる（図中では、ＯＳ１のＡＰ６０が該当する）。切り替え要求が表示プラットフォームから受理されると、各ＯＳはＦＢ１１ａ、１１ｃ〜１１ｅの現在出力側でない側のバッファを出力された描画データで更新する。データ更新が完了したら、更新した側のバッファを出力側に切り替え、各ＯＳは対応するＬＣＤコントローラ１５ａ、１５ｂに対して更新処理の完了を通知する。ここで、マスターであるＯＳ２以外のＯＳからの完了通知は、ＯＳ間通信やハードウェア間の通信を通じてフレームバッファドライバ１３ａへと送られ、フレームバッファドライバ１３ａからＬＣＤコントローラ１５ｂへと伝達され、コントローラ１５ｂからの通知は逆の順序を通じて各ＯＳに通知される。
【００１８】
また、ＬＣＤコントローラ１５ｂの設定の変更は、表示プラットフォーム４への要求を統合して、マスターとなるＯＳ２から実行される。このとき、表示装置への描画処理実行中に変更が行われないよう、ＬＣＤコントローラ１５ｂからのＶＳＹＮＣ割り込みを受信した段階で変更を行うとともに、ＦＢ１１の更新処理もこれに同期して統合して行われる。
【００１９】
一方、ＦＢ１１ｂの内容は、ＦＢ１１ａの書き替え完了に同期して書き替えられる。なお、全ての更新に同期するのではなく、フレームバッファドライバ１３ａまたはＬＣＤコントローラ１５ｂからの指示に基づいて、ＦＢ１１ａの書き替えタイミングより低い周期で、あるいは、これらの指示があった場合にのみ同期を行うようにしてもよい。
【００２０】
ＬＣＤコントローラ１５ｂは、ＦＢ１１ｂ〜１１ｅの出力側に格納されている描画データを合成することで、ＬＣＤへの画像出力を行う。ここで、合成に際しては、例えば、指定された順序で重ね合わせたり、指定した領域上にペーストする形式など各種の合成手法を採用することができる。
【００２１】
本実施形態によれば、各ＦＢ１１ａ、ｃ〜ｅは、各ＯＳ１〜ＯＳ４に対応して専用に設けられたものであるため、複数のＯＳからのアクセスを考慮する必要がなく、排他制御を行う必要がないので、無駄がない。一方、最終的な出力は、各ＦＢ１１ｂ〜１１ｅの画面合成を行うことで容易に生成できる。また、一般的なＯＳは、占有するＦＢの存在を前提としているため、既存のシステムの構成を変更することなくＯＳの流用が行える。
【００２２】
また、異なるハードウェア間をまたぐデータ転送についても、予め設けられたデータバッファに必要に応じてデータを転送しているため、ＬＣＤコントローラ１５ｂは内部のバッファとのデータ転送のみを行えば足り、合成に伴うデータ転送やオーバーヘッドの発生を抑制することができる。
【００２３】
さらに、共通したインターフェース方式を表示プラットフォームに採用することで、ＯＳに下位層の構造を意識させることなくシステムを構築することができる。そのため、ＯＳやハードウェアの選択自由度も向上する。また、ＯＳ間通信機能を用いることにより、必要に応じて描画装置への処理要求を伝達したり、アクセス状態情報を共有して排他制御を行うこともできる。
【符号の説明】
【００２４】
１１ｂ-１１ｅ…各フレームバッファ、１…描画ハードウェア群、２…ＧＰＵドライバ、３…ＯＳ間通信、４…表示プラットフォーム、５…ユーザーインターフェースミドルウェア、６、６１〜６４…アプリケーション、１１ａ〜１１ｅ…フレームバッファ、１２…ＯＳ間通信機能、１３ａ、１３ｂ…フレームバッファドライバ、１４…キャプチャー回路、１５ａ、１５ｂ…ＬＣＤコントローラ、１００…計算システム、２００…計算機。
【図１】
2010244324.tif 000003
【図２】
2010244324.tif 000004
【図３】
2010244324.tif 000005