JP2020504890A - マルチオペレーティングシステム用の表示方法、装置及び電子設備 - Google Patents

マルチオペレーティングシステム用の表示方法、装置及び電子設備 Download PDF

Info

Publication number
JP2020504890A
JP2020504890A JP2019553607A JP2019553607A JP2020504890A JP 2020504890 A JP2020504890 A JP 2020504890A JP 2019553607 A JP2019553607 A JP 2019553607A JP 2019553607 A JP2019553607 A JP 2019553607A JP 2020504890 A JP2020504890 A JP 2020504890A
Authority
JP
Japan
Prior art keywords
operating system
window
guest operating
area
guest
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.)
Granted
Application number
JP2019553607A
Other languages
English (en)
Other versions
JP6846537B2 (ja
Inventor
孔祥暁
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.)
Cloudminds Shenzhen Robotics Systems Co Ltd
Original Assignee
Cloudminds Shenzhen Robotics Systems Co 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 Cloudminds Shenzhen Robotics Systems Co Ltd filed Critical Cloudminds Shenzhen Robotics Systems Co Ltd
Publication of JP2020504890A publication Critical patent/JP2020504890A/ja
Application granted granted Critical
Publication of JP6846537B2 publication Critical patent/JP6846537B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Abstract

本願は、マルチオペレーティングシステム用の表示方法、装置及び電子設備を提供し、該方法は、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示する。本願は、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、且つ新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、PCMサブエリア内のデータに応じて、対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示し、表示効率を向上させる。【選択図】なし

Description

本願は、仮想化技術の分野に関し、特に、マルチオペレーティングシステム用の表示方法、装置及び電子設備に関する。
モバイル仮想化(例えば図1に示される仮想化モデル)技術は、Hypervisor(ハイパーバイザ)を使って下層ハードウェアで安全に独立したソフトウェア実行環境を構築することで、端末上で複数の仮想マシンを同時に実行できる。モバイル仮想化により、ユーザーは複数の端末を携帯せずに単一の端末上で複数の仮想マシンにアクセスすることができる。端末ハードウェアが1つしかないが、仮想マシンが複数存在する可能性があるため、複数の仮想マシンのウィンドウをどのように効率的且つ円滑に表示するかということは、ユーザー体験に影響を及ぼす重要な問題となる。
現在、QEMU(アナログプロセッサ)によって仮想マシンが表示するウィンドウをメインオペレーティングシステムに複製し、メインオペレーティングシステムがCPU(Central Processing Unit、中央処理装置)によって該ウィンドウのコンテンツをFrameBuffer(フレームバッファ)に直接書き込むことで、該ウィンドウを表示することが一般的な方法である。
この方法では、データ複製プロセスがあり、複製プロセスにおけるデータ伝送速度は表示効率に深刻な影響を及ぼすため、製品化の要件を満たすことができない。
本願の実施例は、主に表示効率を向上させるために、マルチオペレーティングシステム用の表示方法、装置及び電子設備を提供する。
第1の態様によれば、本願の実施例は、
メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるステップと、
ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成された前記ウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請するステップと、
メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てるステップと、
ゲストオペレーティングシステムでは、新たに作成された前記ウィンドウをレンダリングするとき、レンダリングしたデータを前記PCMサブエリアに記憶するステップと、
メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、前記PCMサブエリア内のデータに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示するステップと、を含むマルチオペレーティングシステム用の表示方法を提供する。
第2の態様によれば、本願の実施例は、
メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割り当てモジュールと、
ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成された前記ウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請するための申請モジュールと、
メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てるための第2の割り当てモジュールと、
ゲストオペレーティングシステムでは、新たに作成された前記ウィンドウをレンダリングするとき、レンダリングしたデータを前記PCMサブエリアに記憶するための記憶モジュールと、
メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、前記PCMサブエリア内のデータに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示するための表示モジュールと、を含むマルチオペレーティングシステム用の表示装置を提供する。
第3の態様によれば、本願の実施例は、
通信バスを介してプロセッサに接続されるストレージと、
ストレージ内の命令を実行するように配置される1つ又は複数のプロセッサと、を含み、
記憶媒体に第1の態様に記載の方法の各ステップを実行するための命令が記憶されている電子設備を提供する。
第4の態様によれば、本願の実施例は、
コンピュータ可読記憶媒体に埋め込まれ、前記電子設備に第1の態様に記載の方法の各ステップを実行させるための命令を含むコンピュータプログラムを含む電子設備と組み合わせて使用されるコンピュータプログラム製品を提供する。
本願の実施例は、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当て、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示し、表示効率を向上させる。
以下、図面を参照しながら本願の具体的な実施例を説明する。
本願の実施例における既存の仮想化モデルの構造概略図である。 本願の実施例におけるマルチオペレーティングシステム用の表示を適用するシステムの構造概略図である。 本願の実施例におけるマルチオペレーティングシステム用の表示方法のフローチャートである。 本願の実施例における別のマルチオペレーティングシステム用の表示装置の構造概略図である。 本願の実施例におけるマルチオペレーティングシステム用の表示構造の概略図である。
本願の技術的解決手段及び利点をより明らかにするために、以下では図面を参照しながら本願の例示的な実施例についてさらに詳細に説明するが、説明される実施例は本願の一部の実施例だけであり、すべての実施例ではないことは明らかである。且つ矛盾しない状況において、本願における実施例及び実施例における特徴は相互に組み合わせることができる。
出願する際に、出願人は、以下のことを発見した。
既存の表示方法は、QEMUによって仮想マシンが表示するウィンドウデータをメインオペレーティングシステムに複製し、メインオペレーティングシステムがCPUによって該ウィンドウデータをFrameBufferに直接書き込むことである。該方法のデータ複製プロセスにおけるデータ伝送速度が表示効率に深刻な影響を及ぼすため、該方法は製品化の要件を満たすことができない。
これに鑑みて、本願は、マルチオペレーティングシステム用の表示方法を提供し、該方法は、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当て、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示し、表示効率を向上させる。
本願が提供するマルチオペレーティングシステム用の表示方法は、図2に示されるシステムに適用され、該システムは、複数のゲストオペレーティングシステム201と、1つのメインオペレーティングシステム202と、を含む。メインオペレーティングシステム202は、1つのPCM(Physical Continuous Memory Allocator、連続的物理メモリ)2026を含む。このほか、メインオペレーティングシステム202は、例えば最終的な表示設備であるFrameBuffer、すべての画像レンダリング及び合成操作を担当するGPU(Graphics Processing Unit、画像処理装置)のような表示関連設備をさらに含む。
PCM2026は、すべてのゲストオペレーティングシステム201及びメインオペレーティングシステム202により共有され、各ゲストオペレーティングシステム201は、いずれもデータをPCM2026に書き込むことができ、メインオペレーティングシステム202は、PCM2026からデータを読み取ることができる。
ゲストオペレーティングシステム201が本物のハードウェア設備を持たないため、本表示システムは、表示関連設備の仮想化を実現することができる。
図2に示すように、
1)各ゲストオペレーティングシステム201は、メインオペレーティングシステム202内の1つのネイティブウィンドウに対応し、各ゲストオペレーティングシステム201は、1つの仮想化されたPCMA(Physical Continuous Memory Allocator、連続的物理メモリアロケータ)―vPCMA2011と、1つの仮想化されたGPU―vGPU2012と、を含む。
このほか、各ゲストオペレーティングシステム201は、1つの表示システムGuest Display System2013をさらに含み、該Guest Display System2013は、一般的に、ゲストオペレーティングシステム201自らによって実現され、例えば、ゲストオペレーティングシステム201のオペレーティングシステムがAndroidシステムであれば、surfaceflingerはGuest Display System2013である。
また、ゲストオペレーティングシステム201には、Front−End(フロントエンド)ドライバがインストールされている。
2)メインオペレーティングシステム202は、1つの仮想化されたPCMA―vPCMA2021と、1つの仮想化されたGPU―vGPU2022と、を含む。
このほか、メインオペレーティングシステム202は、1つの表示システムHost Display System2023をさらに含む。
また、メインオペレーティングシステム202には、Back−End(バックエンド)ドライバがインストールされている。且つメインオペレーティングシステム202は、メインオペレーティングシステムでGuest Display Systemサービスを実現するサーバGuest Display System Server2024をさらに含む。
なお、メインオペレーティングシステム202は、例えばPCM2026内の1つのPCMサブエリア(物理アドレスが連続するメモリ空間)を申請してvideo及びcameraなどのDMA(Direct Memory Access、ダイレクトメモリアクセス)設備の使用に備えるようにPCM2026を管理できるPCMA2025をさらに含む。
3)ゲストオペレーティングシステム201は、Front−EndドライバとBack−Endドライバとの間のデータ対話に基づいてメインオペレーティングシステム202との通信を実現する。
例えば、ゲストオペレーティングシステム201は、Front−EndドライバとBack−Endドライバとの間の通信によってPCM2026を共有する。
図2に示される表示システムは、図3に示すように、本願が提供するマルチオペレーティングシステム用の表示方法によってウィンドウの一般的なフローを表示する。
301、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てる。
302、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請する。
具体的には、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに共有メモリ申請を送信する。例えば、いずれかのゲストオペレーティングシステム201では、ウィンドウを新たに作成し、メインオペレーティングシステム202に新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請する。
本ステップは、いずれかのゲストオペレーティングシステム201がvPCMA2011及びフロントエンドドライバとバックエンドドライバとの間の通信によって、メインオペレーティングシステム202内のvPCMA2021を経て、PCMA2025にPCMサブエリア申請を送信し、PCMA2025が申請により、PCM2026において1つのサブエリアを割り当てるという形態で実現されてもよい。
303、メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てる。
具体的には、メインオペレーティングシステムでは、共有メモリ申請を受信すると、Gralloc(共有メモリ管理モジュール)によってゲストオペレーティングシステムに1つのPCMサブエリアを割り当て、PCMサブエリアをテクスチャに変換し、且つテクスチャのインデックス値をゲストオペレーティングシステムに返す。
304、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶する。
具体的に実現する際に、インデックス値に応じてレンダリングしたデータをPCMサブエリアに記憶する。
PCM2026は、すべてのゲストオペレーティングシステム201及びメインオペレーティングシステム202により共有され、各ゲストオペレーティングシステム201は、いずれもデータをPCM2026に書き込むことができ、メインオペレーティングシステム202は、PCM2026からデータを読み取ることができる。したがって、いずれかのゲストオペレーティングシステム201は、レンダリングしたデータをPCMサブエリアに記憶することができる。
例えば、いずれかのゲストオペレーティングシステム201は、vPCMA2011及びフロントエンドドライバとバックエンドドライバとの間の通信によって、メインオペレーティングシステム202内のvPCMA2021を経て、最終的にPCMA2025によりレンダリングしたデータをPCMサブエリアディスクリプタに対応するPCMサブエリアに記憶する。
305、メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示する。
ここで、ゲストオペレーティングシステムからの表示要求が監視されることを実現するための形態は種々ある。例えば、いずれかのゲストオペレーティングシステム201がメインオペレーティングシステム202にウィンドウ表示指示を送信することが監視されると、ゲストオペレーティングシステムからの表示要求が監視されると確定する。
該ネイティブウィンドウを表示することは種々の形態で実現できる。例えば、該ネイティブウィンドウを一番上に置く。
ステップ301〜ステップ305によってネイティブウィンドウを一番上に置くという形態でゲストオペレーティングシステムのウィンドウ表示を実現でき、データ複製に起因する表示効率の低下を回避する。
本提案が提供する表示方法の利点をより明確に説明するために、以下、ゲストオペレーティングシステム201をGuest側とし、メインオペレーティングシステム202をHost側とすることを例として、従来技術の表示方法と本願が提供する表示方法とを比較する。
一、従来技術の表示方法
従来技術では、各Guest側はそれぞれのWindow(ウィンドウ)を作成した後、多層WindowをFrameBufferに重ね合わせて表示することでGuest側のウィンドウ表示を実現する。具体的には以下のとおりである。
1)Guest側は1つのWindowを作成し、Guest側のVMA(Virtual Memory Allocater、仮想メモリアロケータ)によってGuest側で必要なサイズのメモリエリアを1つ申請し、同時にHost側のGuest Display System ServerでHost側のVMAを呼び出して必要なサイズのメモリエリアを1つ申請し、該メモリエリアは、通常のメモリエリアであり、すなわち物理アドレスが連続しないメモリエリアである。
2)Guest側は該Windowでコンテンツを埋め、Guest側のFront−Endドライバ及びHost側のBack−EndドライバによってコンテンツデータをHost側のGuest Display System Server内に伝送し、そして該データを該WindowにHost側で対応するメモリエリア内にレンダリングし、ここで、レンダリングしたデータフォーマットがいずれもRGBAである。
3)必要に応じてGuest側で1)及び2)の操作を順次繰り返す。
4)Guest側がすべてのWindowを重ね合わせて表示するとき、vGPUによってHost側を呼び出して各Windowに対応するメモリエリアを1つのOff−ScreenのFrameBufferに順次レンダリングし、そしてこのFrameBuffer内のデータを1つの一時メモリにコピーし、次に該メモリ内のデータを本物のFrameBufferにコピーして表示する。
ここまでは、Guest側のウィンドウ表示を1回完了する。
二、本願が提供する表示方法
本願が提供する表示方法は、各Guest側の表示ウィンドウをすべてHost側に収めて一括管理でき、あるGuest側に切り替える際に、Host側は該Guest側のウィンドウに対応するHost側のネイティブウィンドウ(Native Window)を一番上のウィンドウとして設置し、これにより複数のGuest側のウィンドウ切り替えを迅速に実現できる。具体的には以下のとおりである。
1)Guest側内で、各層のウィンドウはHost側の1つのPCMサブエリアに対応し、すなわち、Guest側で1つのWindowを作成するごとに、Host側でPCMAにより1つのPCMサブエリアを申請し、Guest側がこのWindowをレンダリングする際に、実際にはHost側のこのPCMサブエリア内でレンダリングし、レンダリングしたデータはこのPCMサブエリアに記憶される。
2)多層ウィンドウを重ね合わせてレンダリングして表示するとき、Host側は対応して各Guest側のWindowに対応するPCMサブエリア内のデータを本システムの各Guestシステムに対応するNative Windowに重ね合わせてレンダリングし、これらのNative WindowはまたHostシステムの表示管理システムに本物の表示設備に順次重ね合わせてレンダリングされる。ここで、PCMサブエリアはGuest側の各Windowに1対1で対応し、Native WindowはGuestシステムに1対1で対応する。すなわち、各Native Window内の表示コンテンツは、いずれも対応するGuest側のすべてのWindowを重ね合わせて表示するコンテンツである。
3)あるNative Windowが一番上に置かれると、Host側の表示システムは該Native Windowを表示し、すなわち該Native Windowに対応するGuest側のデスクトップを表示する。
ここまでは、Guest側のウィンドウ表示を1回完了する。
上記従来技術の表示方法と本願が提供する表示方法とを比較することにより、本解決策が提供する表示方法において、Guest側がPCMの申請及びPCMエリアへのデータ書き込みなどの操作をサポートし、且つGuest側及びHost側がこのメモリを共有でき、このようにして、DMA設備に対する物理アドレスが連続するメモリの申請及び管理をサポートでき、またGuest側及びHost側でデータを複製することに起因する時間消費を節約することができる。
また、Host側でNative Windowを追加することにより、CPUの介入なしでGPUによってレンダリングしたデータをFrameBufferに直接書き込むことができ、従来技術では、レンダリングした後にまずCPUによってデータをメモリに複製し、さらにメモリからCPUによってFrameBufferに書き込むため、本解決策が提供する表示方法は表示効率を大幅に向上できる。
なお、1つのGuest側の表示デスクトップが1つのNative Windowに対応するため、複数のGuest側の各デスクトップを切り替えて表示する場合、あるGuest側のデスクトップに対応するNative Windowを一番上に設置すればよい。このようにしてGuest側のウィンドウ間の切り替えを効率的、柔軟、円滑に実現でき、また複数のGuest側のウィンドウ表示を良好に管理できる。
有益な効果は以下のとおりである。
本願の実施例は、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当て、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示し、表示効率を向上させる。
同じ発明思想に基づき、本実施例は、マルチオペレーティングシステム用の表示装置を提供し、該マルチオペレーティングシステム用の表示装置が課題を解決する原理は、マルチオペレーティングシステム用の表示方法と類似するため、該マルチオペレーティングシステム用の表示装置の実施はマルチオペレーティングシステム用の表示方法を参照でき、重複する説明は省略する。
図4に示すように、該マルチオペレーティングシステム用の表示装置は、
メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割り当てモジュール401と、
ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請するための申請モジュール402と、
メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てるための第2の割り当てモジュール403と、
ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶するための記憶モジュール404と、
メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示するための表示モジュール405と、を含む。
選択的に、申請モジュール402は、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに共有メモリ申請を送信し、
第2の割り当てモジュール403は、メインオペレーティングシステムでは、共有メモリ申請を受信すると、共有メモリ管理モジュールGrallocによってゲストオペレーティングシステムに1つのPCMサブエリアを割り当て、PCMサブエリアをテクスチャに変換し、且つテクスチャのインデックス値をゲストオペレーティングシステムに返し、
記憶モジュール404は、インデックス値に応じてレンダリングしたデータをPCMサブエリアに記憶する。
選択的に、表示モジュール405は、ゲストオペレーティングシステムからの表示要求が監視されると、ゲストオペレーティングシステムのネイティブウィンドウに対応する各PCMサブエリアに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングする。
有益な効果は以下のとおりである。
本願の実施例は、メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成されたウィンドウに対応する1つのPCMサブエリアを申請し、メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当て、ゲストオペレーティングシステムでは、新たに作成されたウィンドウをレンダリングするとき、レンダリングしたデータをPCMサブエリアに記憶し、メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、PCMサブエリア内のデータに応じて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示し、表示効率を向上させる。
さらに他の態様によれば、本願の実施例は、電子設備をさらに提供し、図5に示すように、電子設備は、通信バスを介してプロセッサに接続されるストレージ501と、ストレージ内の命令を実行するように配置される1つ又は複数のプロセッサ502と、を含み、記憶媒体に上記のいずれか1つに記載のマルチオペレーティングシステム用の表示方法における各ステップを実行するための命令が記憶されている。
さらに他の態様によれば、本願の実施例は、コンピュータ可読記憶媒体に埋め込まれ、前記電子設備に上記のいずれか1つに記載のマルチオペレーティングシステム用の表示方法における各ステップを実行させるための命令を含むコンピュータプログラムを含む電子設備と組み合わせて使用されるコンピュータプログラム製品をさらに提供する。
当業者であれば、本願の実施例は方法、システム、又はコンピュータプログラム製品で提供可能であることが分かろう。したがって、本願は、完全なハードウェアによる実施例、完全なソフトウェアによる実施例、又はソフトウェアとハードウェアの組み合わせによる実施例の形態を採用することができる。さらに、本願は、コンピュータで使用可能なプログラムコードが含まれる1つ又は複数のコンピュータ使用可能な記憶媒体(磁気ディスクストレージ、CD−ROM、光メモリなどを含むが、これらに限られない)で実行されるコンピュータプログラム製品の形態を採用することができる。
本願は、本願の実施例に係る方法、設備(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照しながら説明した。コンピュータプログラム命令により、フローチャート及び/又はブロック図における各フロー及び/又はブロック、及びフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせを実現できることを理解されたい。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組込式プロセッサ、又は他のプログラマブルなデータ処理設備のプロセッサに提供することにより機器を作製し、コンピュータ又は他のプログラマブルなデータ処理設備のプロセッサで実行する命令により、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックで指定された機能を実現するための装置を作製する。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルなデータ処理設備に特定の方式で動作するよう指示できるコンピュータ可読ストレージに記憶してもよく、それにより該コンピュータ可読ストレージに記憶された命令により命令装置を含む製造品を作製し、該命令装置は、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックで指定された機能を実現する。
これらのコンピュータプログラム命令をコンピュータ又は他のプログラマブルなデータ処理設備にインストールしてもよく、それによりコンピュータ又は他のプログラマブルな設備で一連の操作ステップを実行することによりコンピュータで実現する処理を生成し、さらにコンピュータ又は他のプログラマブルな設備で実行する命令により、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックで指定された機能を実現するステップを提供する。
以上、本願の好適な実施例を詳述したが、当業者であれば本願の基本的な概念が分かると、これらの実施例に対して他の変更及び修正を行うことができる。したがって、添付した請求項は好適な実施例及び本願の範囲に属するすべての変更及び修正を包含するように解釈されるように意図されている。

Claims (8)

  1. マルチオペレーティングシステム用の表示方法であって、
    メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるステップと、
    ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成された前記ウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請するステップと、
    メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てるステップと、
    ゲストオペレーティングシステムでは、新たに作成された前記ウィンドウをレンダリングするとき、レンダリングしたデータを前記PCMサブエリアに記憶するステップと、
    メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、前記PCMサブエリア内のデータに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示するステップと、を含むことを特徴とするマルチオペレーティングシステム用の表示方法。
  2. ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成された前記ウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請する前記ステップは、
    ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに共有メモリ申請を送信することを含み、
    メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てる前記ステップは、
    メインオペレーティングシステムでは、共有メモリ申請を受信すると、共有メモリ管理モジュールGrallocによって前記ゲストオペレーティングシステムに1つのPCMサブエリアを割り当て、前記PCMサブエリアをテクスチャに変換し、且つ前記テクスチャのインデックス値をゲストオペレーティングシステムに返すことを含み、
    レンダリングしたデータを前記PCMサブエリアに記憶する前記ステップは、
    インデックス値に応じてレンダリングしたデータを前記PCMサブエリアに記憶することを含むことを特徴とする請求項1に記載の方法。
  3. メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、前記PCMサブエリア内のデータに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングする前記ステップは、
    ゲストオペレーティングシステムからの表示要求が監視されると、ゲストオペレーティングシステムのネイティブウィンドウに対応する各PCMサブエリアに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを含むことを特徴とする請求項2に記載の方法。
  4. マルチオペレーティングシステム用の表示装置であって、
    メインオペレーティングシステムでは、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割り当てモジュールと、
    ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに新たに作成された前記ウィンドウに対応する1つの連続的物理メモリPCMサブエリアを申請するための申請モジュールと、
    メインオペレーティングシステムでは、ゲストオペレーティングシステムにPCMサブエリアを割り当てるための第2の割り当てモジュールと、
    ゲストオペレーティングシステムでは、新たに作成された前記ウィンドウをレンダリングするとき、レンダリングしたデータを前記PCMサブエリアに記憶するための記憶モジュールと、
    メインオペレーティングシステムでは、ゲストオペレーティングシステムからの表示要求が監視されると、前記PCMサブエリア内のデータに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、且つ該ネイティブウィンドウを表示するための表示モジュールと、を含むことを特徴とするマルチオペレーティングシステム用の表示装置。
  5. 前記申請モジュールは、ゲストオペレーティングシステムでは、ウィンドウを新たに作成するとき、メインオペレーティングシステムに共有メモリ申請を送信し、
    前記第2の割り当てモジュールは、メインオペレーティングシステムでは、共有メモリ申請を受信すると、共有メモリ管理モジュールGrallocによって前記ゲストオペレーティングシステムに1つのPCMサブエリアを割り当て、前記PCMサブエリアをテクスチャに変換し、且つ前記テクスチャのインデックス値をゲストオペレーティングシステムに返し、
    前記記憶モジュールは、インデックス値に応じてレンダリングしたデータを前記PCMサブエリアに記憶することを特徴とする請求項4に記載の装置。
  6. 前記表示モジュールは、ゲストオペレーティングシステムからの表示要求が監視されると、ゲストオペレーティングシステムのネイティブウィンドウに対応する各PCMサブエリアに応じて、前記ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを特徴とする請求項5に記載の装置。
  7. 電子設備であって、
    通信バスを介してプロセッサに接続されるストレージと、
    ストレージ内の命令を実行するように配置される1つ又は複数のプロセッサと、を含み、
    記憶媒体に請求項1から請求項3のいずれか一項に記載の方法の各ステップを実行するための命令が記憶されていることを特徴とする電子設備。
  8. 電子設備と組み合わせて使用されるコンピュータプログラム製品であって、
    コンピュータ可読記憶媒体に埋め込まれ、前記電子設備に請求項1から請求項3のいずれか一項に記載の方法の各ステップを実行させるための命令を含むコンピュータプログラムを含む電子設備と組み合わせて使用されるコンピュータプログラム製品。
JP2019553607A 2016-12-27 2016-12-27 マルチオペレーティングシステム用の表示方法、装置及び電子設備 Active JP6846537B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112499 WO2018119713A1 (zh) 2016-12-27 2016-12-27 用于多操作系统的显示方法、装置和电子设备

Publications (2)

Publication Number Publication Date
JP2020504890A true JP2020504890A (ja) 2020-02-13
JP6846537B2 JP6846537B2 (ja) 2021-03-24

Family

ID=59623902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019553607A Active JP6846537B2 (ja) 2016-12-27 2016-12-27 マルチオペレーティングシステム用の表示方法、装置及び電子設備

Country Status (4)

Country Link
US (1) US11204790B2 (ja)
JP (1) JP6846537B2 (ja)
CN (1) CN107077375B (ja)
WO (1) WO2018119713A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656993A (zh) * 2017-09-15 2018-02-02 上海斐讯数据通信技术有限公司 一种实现进程间avl树使用的方法及系统
CN109725867A (zh) * 2019-01-04 2019-05-07 中科创达软件股份有限公司 虚拟化屏幕共享方法、装置及电子设备
CN111309649B (zh) * 2020-02-11 2021-05-25 支付宝(杭州)信息技术有限公司 一种数据传输和任务处理方法、装置及设备
US11204833B1 (en) * 2020-06-19 2021-12-21 Western Digital Technologies, Inc. NVM endurance group controller using shared resource architecture
CN113176899A (zh) * 2021-03-15 2021-07-27 西安神鸟软件科技有限公司 一种多安卓操作系统的运行方法及终端设备
CN112988103B (zh) * 2021-05-13 2021-08-20 统信软件技术有限公司 一种数据显示方法及计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588838A (ja) * 1991-09-30 1993-04-09 Matsushita Electric Ind Co Ltd マルチウインドウ表示装置
JP2009157635A (ja) * 2007-12-26 2009-07-16 Nec Corp 画像表示装置、表示制御方法及びプログラム
JP2012038039A (ja) * 2010-08-05 2012-02-23 Ntt Docomo Inc 情報処理端末及び画面切替制御方法
JP2012141728A (ja) * 2010-12-28 2012-07-26 Nikon Corp 情報処理表示装置
JP2016212874A (ja) * 2015-05-08 2016-12-15 飛捜股▲ふん▼有限公司 アプリケーションプログラムとバーチャルマシンとの間のコミュニケーションのシステムと方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506265B1 (en) * 2000-07-17 2009-03-17 Microsoft Corporation System and method for displaying images of virtual machine environments
US7222221B1 (en) * 2004-02-06 2007-05-22 Vmware, Inc. Maintaining coherency of derived data in a computer system
US7644407B2 (en) * 2004-03-05 2010-01-05 Intel Corporation Method, apparatus and system for seamlessly sharing a graphics device amongst virtual machines
US7681200B2 (en) * 2005-07-22 2010-03-16 Microsoft Corporation Secure hardware desktop buffer composition
US7432934B2 (en) * 2005-10-19 2008-10-07 Hewlett-Packard Development Company, L.P. System and method for display sharing
US8065687B2 (en) * 2007-01-05 2011-11-22 Moka5, Inc. Bypass virtualization
JP5246388B2 (ja) * 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
CN101464843B (zh) * 2007-12-17 2011-05-25 联想(北京)有限公司 在多操作系统中共享显示卡的方法和计算机系统
CN101477510B (zh) * 2008-01-02 2011-07-27 联想(北京)有限公司 在多操作系统中共享显示卡的方法和计算机系统
TWI372352B (en) * 2008-01-04 2012-09-11 Asustek Comp Inc Method for assisting in calculation of data using display card
CN101794237B (zh) * 2009-02-02 2014-12-31 联想(北京)有限公司 一种实现通用显示的计算机和方法
CN102541618B (zh) * 2010-12-29 2015-05-27 中国移动通信集团公司 一种通用图形处理器虚拟化的实现方法、系统及装置
US9792136B2 (en) * 2011-04-28 2017-10-17 Microsoft Technology Licensing, Llc Hardware assisted inter hypervisor partition data transfers
US8843926B2 (en) * 2012-06-11 2014-09-23 Pristine Machine Guest operating system using virtualized network communication
CN103226490A (zh) * 2013-04-23 2013-07-31 深圳市京华科讯科技有限公司 多桌面系统
CN103491188B (zh) * 2013-09-30 2016-06-01 上海沃帆信息科技有限公司 利用虚拟桌面和gpu透传实现多用户共享图形工作站的方法
CN103593185B (zh) * 2013-11-04 2017-01-04 浙江大学 基于单Linux内核的多Android系统共享输入显示设备的方法
US20150281679A1 (en) * 2014-03-28 2015-10-01 Qualcomm Incorporated Pixel data generation for autostereoscopy images
US20160044139A1 (en) * 2014-08-07 2016-02-11 Hsiu-Ping Lin Methods and systems for communications between apps and virtual machines
CN105404547A (zh) 2014-09-12 2016-03-16 阿里巴巴集团控股有限公司 一种操作系统的融合方法及装置
KR102535825B1 (ko) * 2015-06-03 2023-05-23 삼성전자주식회사 시스템 온 칩 및 시스템 온 칩의 동작 방법
CN105183551B (zh) * 2015-09-10 2019-12-10 电子科技大学 基于Linux容器技术的多Android系统之间切换方法
WO2018111014A1 (en) * 2016-12-14 2018-06-21 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
US10049625B1 (en) * 2016-12-21 2018-08-14 Amazon Technologies, Inc. Context-based rendering
CN109240677B (zh) * 2017-07-07 2020-10-16 阿里巴巴集团控股有限公司 一种图层处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588838A (ja) * 1991-09-30 1993-04-09 Matsushita Electric Ind Co Ltd マルチウインドウ表示装置
JP2009157635A (ja) * 2007-12-26 2009-07-16 Nec Corp 画像表示装置、表示制御方法及びプログラム
JP2012038039A (ja) * 2010-08-05 2012-02-23 Ntt Docomo Inc 情報処理端末及び画面切替制御方法
JP2012141728A (ja) * 2010-12-28 2012-07-26 Nikon Corp 情報処理表示装置
JP2016212874A (ja) * 2015-05-08 2016-12-15 飛捜股▲ふん▼有限公司 アプリケーションプログラムとバーチャルマシンとの間のコミュニケーションのシステムと方法

Also Published As

Publication number Publication date
CN107077375A (zh) 2017-08-18
JP6846537B2 (ja) 2021-03-24
US11204790B2 (en) 2021-12-21
CN107077375B (zh) 2020-08-04
WO2018119713A1 (zh) 2018-07-05
US20190317784A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
JP6846537B2 (ja) マルチオペレーティングシステム用の表示方法、装置及び電子設備
US10127628B2 (en) Method and system to virtualize graphic processing services
CN107003892B (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
Lagar-Cavilla et al. VMM-independent graphics acceleration
US9811366B2 (en) Dynamically using system memory as video memory for virtual graphics processing units
US10310879B2 (en) Paravirtualized virtual GPU
US10635468B2 (en) Displaying graphics for local virtual machine by allocating and mapping textual buffer
TWI696952B (zh) 資源處理方法及裝置
CN105786589A (zh) 一种云渲染系统、服务器及方法
US20050210158A1 (en) Method, apparatus and system for seamlessly sharing a graphics device amongst virtual machines
US20180024938A1 (en) Allocating physical pages to sparse data sets in virtual memory without page faulting
CN105830026A (zh) 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法
JP2020503609A (ja) マルチオペレーティングシステム用のメモリアクセス方法、装置及び電子設備
JP2016529593A (ja) 立体シーンのインターリーブ方式のタイル型レンダリング
US10929079B2 (en) Video display method, electronic device and computer program product
CN107077376B (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN109766179B (zh) 一种显存分配方法以及装置
US11256530B2 (en) Targeted page migration for guest virtual machine
CN107250980A (zh) 具有图形和系统存储器冲突检查的计算方法和设备
CN110941408B (zh) 一种kvm虚拟机图形界面输出方法及装置
US20200201758A1 (en) Virtualized input/output device local memory management
CN104765637A (zh) 一种在监护仪上安全运行桌面应用程序的系统
JP2018077564A (ja) 情報処理装置、及び情報処理システム
US20150154732A1 (en) Compositing of surface buffers using page table manipulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210301

R150 Certificate of patent or registration of utility model

Ref document number: 6846537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250