TWI425415B - 顯示系統及其顯示方法 - Google Patents

顯示系統及其顯示方法 Download PDF

Info

Publication number
TWI425415B
TWI425415B TW098141852A TW98141852A TWI425415B TW I425415 B TWI425415 B TW I425415B TW 098141852 A TW098141852 A TW 098141852A TW 98141852 A TW98141852 A TW 98141852A TW I425415 B TWI425415 B TW I425415B
Authority
TW
Taiwan
Prior art keywords
window
computer device
memory
data
display
Prior art date
Application number
TW098141852A
Other languages
English (en)
Other versions
TW201118717A (en
Inventor
Hsiang Tsung Kung
Teng Chang Chang
Shao Hsuan Kao
Original Assignee
Inst Information Industry
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 Inst Information Industry filed Critical Inst Information Industry
Publication of TW201118717A publication Critical patent/TW201118717A/zh
Application granted granted Critical
Publication of TWI425415B publication Critical patent/TWI425415B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

顯示系統及其顯示方法
本發明係有關於一種顯示系統及其方法,用以將屬於相同桌面或膝上型平台的多個電腦裝置所產生的視窗畫面同時顯示在這些電腦裝置中的其中一台的顯示裝置上。
目前而言,一個電腦裝置可同時顯示多個視窗在其上的應用係為非常普遍的。使用者可刪除來自視窗的資訊、將一個視窗的資料移到另一個視窗中以及於任何時間點操作任何一個視窗。隨著使用者的需求驅使之下,來自不同電腦裝置上執行的不同視窗系統所產生的多個視窗可能需要被顯示在相同電腦裝置,以方便使用者的操作。
一般來說,來自多個電腦裝置的視窗資料可顯示在一個單一電腦裝置的一顯示裝置上。舉例來說,利用虛擬網路電腦(Virtual Network Computing,VNC)系統的技術,由多個網路以網路方式連結的電腦裝置所產生的視窗可顯示在這些電腦裝置中的其中一個的顯示裝置上。然而,虛擬網路電腦系統技術需要在這些電腦裝置之間使用一個預先定義好的網路通訊協定以及一個用來連接這些電腦裝置的網路。然而,對屬於相同桌面或膝上型平台的多個電腦裝置所使用的視窗系統所產生的視窗而言,虛擬網路電腦系統技術並無法使用,這是因為虛擬網路電腦系統技術工作於網路連接的網路,而非共享的系統匯流排。這些包含多個電腦裝置的桌面或膝上型平台具有一些重要的優點。舉例來說,包含以x86-為主與以ARM為主的電腦裝置的此類 平台可使用ARM CPU來減少電源消耗,而仍能使用x86 CPU來執行x86應用程式。須注意的是,每一個這些電腦系統都具有其本身的視窗系統。在本發明之前,並沒有一個顯示系統能夠同時顯示在相同桌面或膝上型平台上的多個視窗系統所產生的視窗。
有鑑於此,本發明提供一種顯示系統以及方法,用以同時地顯示屬於相同桌上型或膝上型平台之複數電腦裝置之多重視窗系統所產生的多個視窗。
本發明實施例提供一種顯示系統,用以同時地顯示多重視窗,包括一主電腦裝置、至少一從電腦裝置、一共享記憶體、一輸入裝置以及一輸出裝置。主電腦裝置具有一顯示裝置以及一對應之視窗系統。至少一從電腦裝置具有一對應之視窗系統。共享記憶體係耦接至主電腦裝置以及至少一從電腦裝置。輸入裝置接收由主電腦裝置以及至少一從電腦裝置之視窗系統同時產生之複數視窗。輸出裝置顯示多重視窗於主電腦裝置之顯示裝置上,其中主電腦裝置以及至少一從電腦裝置同時地從共享記憶體讀取視窗資料及/或將視窗資料同時地寫入至共享記憶體。
本發明實施例另提供一種顯示方法,用以同時地顯示由一顯示系統內的一主電腦裝置以及至少一從電腦裝置所產生之複數視窗,其中顯示系統包含主電腦裝置,其具有一顯示裝置以及一對應之視窗系統、該至少一從電腦裝置,其具有一對應之視窗系統、以及一共享記憶體,其係可由該主電腦裝置以及該至少一從電腦裝置所存取。方法 包括下列步驟。首先,將至少一從電腦裝置之視窗資料儲存於共享記憶體。接著,由主電腦裝置從共享記憶體中得到至少一從電腦裝置之視窗資料。之後,利用得到之視窗資料產生一合成視窗資料,其中主電腦裝置係將合成視窗資料顯示於顯示裝置上。
本發明實施例更提供一種顯示方法,用以同時地顯示複數視窗於一顯示系統,其中顯示系統包含一主電腦裝置,其具有一顯示裝置以及一對應之視窗系統、至少一從電腦裝置,其具有一對應之視窗系統、以及一共享記憶體。方法包括下列步驟。首先,由主電腦裝置接收一用以啟動至少一從電腦裝置之一應用程式之啟動訊號。其次,執行應用程式以建立應用程式之視窗資料,其中應用程式之視窗資料係由至少一從電腦裝置之視窗系統寫入至共享記憶體中。之後,由共享記憶體中得到應用程式之視窗資料、對一目前視窗資料以及得到之應用程式之視窗資料執行一合成操作,以產生一合成視窗資料,其中合成視窗資料係由主電腦裝置之視窗系統顯示在顯示裝置上。
本發明上述方法可以透過程式碼方式收錄於實體媒體中。當程式碼被機器載入且執行時,機器變成用以實行本發明之裝置。
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖顯示一依據本發明實施例之顯示系統100。顯示 系統100至少包括兩個或多個電腦裝置110與120、一共享記憶體130、一顯示裝置140、一切換單元150、一輸入裝置160以及一輸出裝置170。每一電腦裝置可更包括一處理單元,用以控制並執行電腦裝置的操作、一用於電腦裝置的視窗系統以及一作業系統(operating system,OS),其中作業系統可執行前述視窗系統。須注意的是,視窗系統可更包括一視窗管理單元,其係用以控制視窗資料的顯示。舉例來說,如第1圖所示,電腦裝置110可包括一處理單元112,用以控制並執行電腦裝置110的操作、一用於電腦裝置110的視窗系統114以及一可執行視窗系統114的作業系統116。電腦裝置120可包括一處理單元122,用以控制並執行電腦裝置110的操作、一用於電腦裝置120的視窗系統124以及一可執行視窗系統124的作業系統126。於一實施例中,電腦裝置110與120可包括具有相同的處理單元類型的處理單元以及執行於相同作業系統上的視窗系統,例如兩者均為x86系列中央處理單元(CPU)的處理單元類型以及以微軟TM 視窗為主的視窗作業系統。於另一實施例中,顯示系統100可包含多個異質的電腦裝置在相同平台。舉例來說,電腦裝置110與120可包括具有不同的處理單元類型的處理單元及/或執行於不同作業系統上的不同視窗系統。舉例來說,電腦裝置110的處理單元類型可為x86系列中央處理單元(CPU)且電腦裝置120的處理單元類型可為一ARM處理器。此外,電腦裝置110的視窗系統114的類型可為一以微軟TM 視窗為主的視窗系統,而電腦裝置120的視窗系統124的類型可為一以Linux為 主的視窗系統。
共享記憶體130係耦接至電腦裝置110與120且可由電腦裝置110與120進行存取。電腦裝置110與120可透過一連接介面連接至共享記憶體130。舉例來說,連接介面可包括任何類型的匯流排裝置,例如一PCI-E匯流排裝置。可控制顯示裝置140(例如一LCD顯示裝置)的顯示的電腦裝置將視為一主電腦裝置(master computer device),而至少一個其他電腦裝置則視為從電腦裝置(slave computer device)。舉例來說,於本實施例中,由於電腦裝置110直接地控制顯示裝置140的顯示,電腦裝置110係視為主電腦裝置,而電腦裝置120則於之後視為該至少一從電腦裝置。注意的是,於另一實施例中,若顯示裝置140的顯示係可由電腦裝置120直接地控制時,電腦裝置120係視為主電腦裝置,而電腦裝置110則視為該至少一從電腦裝置。至少一從電腦裝置120將視窗資料寫入至共享記憶體130以及主電腦裝置110從共享記憶體130中讀取視窗資料的動作可同時地進行。
切換單元150係連接於電腦裝置110與120以及顯示裝置140之間,以根據一個用以選擇那一個電腦裝置為主電腦裝置的主選擇,選擇性地顯示電腦裝置110或電腦裝置120的視窗畫面在顯示裝置140上。舉例來說,若切換單元150接收到一個表示電腦裝置110設定為主電腦裝置的主選擇時,電腦裝置110的視窗畫面將顯示在顯示裝置140上。輸入裝置160係耦接至主電腦裝置110以及至少一從電腦裝置120,以接收主電腦裝置110以及至少一從 電腦裝置120的視窗系統所同時產生的多個視窗。輸出裝置170係用以產生並顯示多個視窗在顯示裝置140上。其中,輸入裝置160以及輸出裝置170係可由硬體、軟體或其組合加以實作且其實作方式係為熟悉此技藝人士所熟知,故細節不在此贅述。
共享記憶體130可被分為多個具有相同或不同記憶體大小的記憶體模組,且其中每一記憶體模組有一對應的記憶體控制器。每一記憶體模組可由其本身對應的記憶體控制器個別地進行存取,因此共享記憶體130可透過多個記憶體控制器來支援對記憶體模組中資料的同時讀取以及寫入操作。須注意的是,共享記憶體130係可為任何類型的可存取記憶體架構。於一實施例中,共享記憶體130係為一組的鏈結記憶體模組,其連同一管理系統,管理系統係用以識別下一個要寫入或讀取的記憶體模組。舉例來說,共享記憶體130可為一環狀緩衝器,其具有一管理系統,用以處理鏈結的資料檔案,以識別出下一個要寫入的記憶體模組,但本發明並不限於此。舉例來說,於一實施例中,每一記憶體模組的大小係可根據視窗系統114與124所使用的一最大視窗大小來決定。舉例來說,若視窗系統114與124所使用的最大視窗大小為1024*768解析度且具有32位元顏色深度,則每一記憶體模組的大小可定義為1024*768*32位元=3M位元組。由於每一記憶體模組的大小可以被定義為所有視窗系統中所支援的最大視窗大小,因此每一個視窗系統的每一筆視窗資料可只被寫入至記憶體模組中其中的一個記憶體模組或由前述其中的一個記憶 體模組中讀取資料。
第2圖係顯示一依據本發明實施例之一共享記憶體200之示意圖。如第2圖所示,共享記憶體200係被分為數個具有相同大小的記憶體模組,且其中三個記憶體模組分別包含顯示在主電腦裝置110的一桌面210上的視窗A、B、C的視窗資料,每一個視窗有一個對應的記憶體模組。參見第2圖,桌面210表示主電腦裝置110的桌面畫面,其係由電腦裝置120的視窗系統124所產生。於本實施例中,由於桌面210上的三個視窗A、B、C中所使用的最大視窗大小為1024*768解析度且具有32位元顏色深度,因此可將每一記憶體模組的大小定義為1024*768*32位元=3M位元組。因此,儘管視窗B以及C的視窗資料所需的大小係小於記憶體的大小,視窗A、B以及C的視窗資料可分別被寫入至記憶體模組201、203以及205中。至少一從電腦裝置120可產生每一視窗的視窗資料在桌面210上,並將產生的這些視窗資料寫入至共享記憶體130。主電腦裝置110可從共享記憶體130中讀出前述視窗的視窗資料。
共享記憶體130可更連接一視窗定位系統180,其係用以將一給定視窗映射至包含此給定視窗的資料的其中一記憶體模組的記憶體位址上。此外,視窗定位系統180係可提供對共享記憶體130的存取控制。
視窗定位系統180可包含一個可被多個電腦裝置(例如:主電腦裝置與從電腦裝置)讀取/寫入的快取記憶體。舉例來說,視窗定位系統180可更具有一個紀錄每一個模組 狀態的對照表,例如,是否一個記憶體模組為可用或不可用,其對應的記憶體位址以及儲存在記憶體模組中的內容相關資訊。對照表可被存在快取記憶體中,使得於資料欲被從共享記憶體130中讀出或寫入至共享記憶體130時,視窗定位系統180可因此利用對照表來得到一個給定視窗的記憶體位址,以將給定視窗映射至包含給定視窗的視窗資料的那一個記憶體模組。
第3A圖顯示依據本發明實施例之一由視窗定位系統180所使用對照表300之示意圖。由於共享記憶體130的模組大小可事先被決定,因此也可事先知道並計算出每一個模組的記憶體位址。因此,對照表300可用以記錄每一個視窗及其在共享記憶體130中的對應位置(例如,記憶體位址)的一個對應關係。如第3A圖所示,對照表300具有記錄的數個項目且每一個項目至少包括一個”模組號碼”欄位、一個”記憶體位址”欄位、一個”有效”欄位、一個”視窗號碼”欄位。”模組號碼”欄位表示模組所屬的號碼,”記憶體位址”欄位表示此模組在共享記憶體130中的記憶體位址,”有效”欄位係為一個有效旗標,用以表示是否此記憶體為可用或正被使用中,其中”是”表示記憶體為可用並且可用以儲存資料,而”否”表示模組正被使用中且不可以被用來儲存資料。”視窗號碼”欄位表示儲存在其中的視窗資料的內容。舉例來說,參見第3A圖的第一個項目,其表示系統一的視窗A係記錄於位於記憶體位址0x0100。若有任何新的視窗被建立時,視窗定位系統180可於對照表300找到一個可用旗標設定為”是”的一個可用模組,並且將資 料更新至對照表300中定位到的此模組。因此,新產生的視窗的視窗資料可被儲存在定位到的記憶體模組中。以一個例子進行說明,假設對照表300中目前記錄著由主電腦裝置或從電腦裝置所建立的三個視窗A、B以及C。其中視窗A、B以及C的視窗資料分別儲存在記憶體模組1、2以及4中。若一個新的視窗”視窗D”係建立在至少一從電腦裝置上時,視窗定位系統180可定位出在共享記憶體130中的一個可用模組以將視窗D的視窗資料儲存在其中。如第3A圖所示,模組3係顯示為一個可用模組,因此視窗d的視窗資料將儲存在模組3中且其可用旗標將被修改為”否”,如第3B圖所示。因此,至少一從電腦裝置120可接著將更新的視窗D的視窗資料寫入至模組3,而主電腦裝置110也可從模組3中讀取視窗資料來得到視窗D的最新視窗資料。
本發明之顯示系統100可更提供一個使用者介面,用以啟動在主電腦裝置以及從電腦裝置上的特定的應用程式。
參見第4圖,其顯示依據本發明實施例之一使用者介面,其係為具有一些可點選連結(例如,按鈕(button)或圖像(icon))以及視窗的一個桌面400。如第4圖所示,桌面400表示一個主電腦裝置110的桌面且桌面400包括2個同時顯示的視窗410以及420以及圖像430至470。於本實施例中,圖像430至450係預先定義為可執行在主電腦裝置110上執行的特定應用程式,而圖像460至470係預先定義為可啟動至少一從電腦裝置120上執行的特定應用程 式。一旦圖像460被使用者點選或按壓時,一個用以啟動在至少一從電腦裝置120上的應用程式的啟動訊號,由圖像460所表示,將被主電腦裝置110所產生。接著此啟動訊號將經由連接介面傳送至至少一從電腦裝置120。在接收到啟動訊號之後,至少一從電腦裝置120將啟動此應用程式並建立應用程式對應的視窗。至少一從電腦裝置120將所產生的視窗資料放入至共享記憶體130中,主電腦裝置110可由此共享記憶體130中讀出視窗資料。之後,主電腦裝置110的視窗系統114可將此視窗合成在桌面上。
第5圖顯示一依據本發明實施例之顯示方法之流程圖,用以由主電腦裝置啟動執行在至少一從電腦裝置的一個應用程式。每一個主電腦裝置以及至少一從電腦裝置包括一個對應的視窗系統。於本實施例中,主電腦裝置以及至少一從電腦裝置係為屬於同一個桌面或膝上型平台的同質或異質架構的電腦裝置。如第5圖所示,使用者可壓下顯示於第4圖的主電腦裝置110的桌面400上的按鈕470來,使得一個啟動訊號將被產生。因此主電腦裝置110(即第一電腦裝置)於接收到啟動訊號後將啟動至少一從電腦裝置120(即第二電腦裝置)上的一個應用程式(步驟S510)。主電腦裝置110接著可經由連接介面傳送至至少一從電腦裝置120。在接收啟動訊號之後,至少一從電腦裝置120的視窗系統124執行對應於此啟動訊號的應用程式以建立此應用程式的視窗資料並將應用程式的視窗資料寫入至共享記憶體130(步驟S520)。之後,主電腦裝置110的視窗系統114從共享記憶體130中得到應用程式的視窗 資料、對目前的視窗資料以及得到的視窗資料執行一個合成的操作,以產生一合成視窗資料以及將此合成視窗資料顯示在顯示裝置140上(步驟S530)。
第6圖顯示另一依據本發明實施例之顯示方法之流程圖,用以顯示將主電腦裝置以及至少一從電腦裝置所同時產生的多個視窗於一顯示系統(例如,第1圖所示的顯示系統100的一個顯示裝置上)。首先,於步驟S610,至少一從電腦裝置120將目前至少一從電腦裝置120上執行的所有視窗的視窗資料儲存在共享記憶體130中。之後,於步驟S620,主電腦裝置110從共享記憶體130中得到至少一從電腦裝置120的視窗資料。主電腦裝置110可利用本發明之視窗定位系統以及對照表來從共享記憶體130中得到至少一從電腦裝置120的視窗資料。
在得到至少一從電腦裝置120的所有視窗資料之後,於步驟S630,主電腦裝置110的視窗系統114合成所有得到的視窗資料以產生一合成視窗資料,並接著將合成視窗資料顯示在顯示裝置140的桌面上。舉例來說,請參見第8圖。
第8圖顯示依據本發明實施例之一個視窗合成操作的示意圖。如第8圖所示,視窗C以及視窗D係呈現在主電腦裝置110的一個桌面810上以及視窗A以及視窗B係呈現在至少一從電腦裝置120的一個桌面820上,其中視窗A係顯示在視窗B之下。至少一從電腦裝置120的視窗系統124可維持在至少一從電腦裝置120中目前啟動的視窗的位置以及z索引(z-index),其中z索引係用以表示啟動的 視窗之間的一個層次關系,例如一個視窗是顯示在另一個視窗的上方或下方。至少一從電腦裝置120的視窗系統124也可將關於視窗的位置以及z索引的索引資料寫入至共享記憶體130。因此,藉由得到視窗A以及視窗B的位置以及z索引,主電腦裝置110的視窗系統114將維持住所得到的視窗資料間原先位置以及層次關係。也就是說,利用索引資料,視窗A仍會顯示在視窗B的下方。此外,主電腦裝置110的視窗系統114將從重新排列所得到的視窗資料及其原來的視窗C以及視窗D的視窗資料以產生一個合成視窗資料在主電腦裝置110的桌面810上(如第8圖的右側所示)。因此,顯示裝置140的桌面不僅將顯示在主電腦裝置110中目前正執行視窗的視窗資料,同時也顯示在至少一從電腦裝置120中所有啟動中的應用程式所建麼的視窗資料。
由於共享記憶體130可同時被主電腦裝置110以及至少一從電腦裝置120所存取,有可能發生一個正被至少一從電腦裝置120寫入的記憶體模組會同時被主電腦裝置110所讀取的情形,造成所讀出記憶體模組的視窗資料可能是錯誤。為了避免這個問題,本發明更提供一種用以同步共享記憶體的存取的同步方法。
第7圖顯示另一依據本發明實施例之共享記憶體存取方法之流程圖,用於主電腦裝置上。如步驟S710,主電腦裝置110從共享記憶體130裡讀取資料,並如步驟S720,利用視窗定位系統180找到在共享記憶體130中的視窗。如步驟S730,判斷欲讀取的模組是否正被寫入。若是,如 步驟S740,對此欲讀取模組的視窗資料的讀取操作將被跳過,並讀取下一個未被讀取的視窗的記憶體模組。接著再次執行步驟S730。若判斷為欲讀取模組未被寫入時(步驟S730的否),如步驟S750讀取在此模組中的視窗的資料。如步驟S760,接著判斷是否所有的視窗都被讀取。若否,表示有些記憶體模組先前被跳過且需要重新進行檢查。因此,跳回步驟S730至S740以檢查是否跳過的視窗所對應的模組是否已為可用。若跳過的視窗所對應的模組為可用時,執行步驟S750來讀取模組中視窗的資料。當所有視窗的視窗資料都被讀取時,亦即,已經沒有跳過的視窗(步驟S760的是),如步驟S770,主電腦裝置110的視窗系統114將合成所有得到的視窗資料以產生一個合成視窗資料並接著將合成視窗資料顯示在顯示裝置的桌面上。於是,整個流程至此結束。當所有除了跳過的視窗以外的其它視窗的視窗資料都被讀取而跳過的視窗仍被寫入時,主電腦裝置110將持續等到整個寫入程序完成。因此,等待資料寫入至共享記憶體130所需的最大等待時間不會超過寫入一個全螢幕視窗至共享記憶體130的所需時間。因此,共享記憶體130可於更於不造成寫入/寫入或讀取/寫入衝突下,支援該等視窗的視窗資料的同時讀取及寫入操作,而在一讀取或寫入操作之前分別產生不超過寫入或讀取一視窗的資料所需之最大時間的一延遲。
需注意的是,為了簡化說明,於全數實施例中顯示系統100僅包含一個從電腦裝置(即電腦裝置120),但本發明並不限於此。換句話說顯示系統100中也可包含一個以上 從電腦裝置/系統且其將連接至共享記憶體130,使得這些從電腦裝置可將其所擁有的視窗資料寫入至共享記憶體130中,且主電腦裝置110可應用前述的顯示方法來顯示由主電腦裝置110以及所有其他從電腦裝置所同時產生的多個視窗於顯示系統100的顯示裝置140上。
綜上所述,依據本發明之顯示系統與顯示方法,利用存取在共享記憶體中的視窗資料,在同一個平台上的多個電腦裝置所同時產生的多個視窗可在不利用額外的硬體資源例如CPU資源之下,快速的顯示在顯示系統的一個單獨顯示裝置上,因此,可在任何一個視窗被更新或建立時,提供有效且立即的視窗顯示。此外,使用者可在不感受到使用的是不同作業系統情形下,操作或選取不同電腦裝置之間的應用程式及/或視窗於一個單一系統的單一顯示桌面上。
本發明之方法,或特定型態或其部份,可以以程式碼的型態包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。本發明之方法與裝置也可以以程式碼型態透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理器實作時,程式碼結合處理器提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧顯示系統
110、120‧‧‧電腦裝置
112‧‧‧處理單元
114‧‧‧視窗系統
116‧‧‧作業系統
122‧‧‧處理單元
124‧‧‧視窗系統
126‧‧‧作業系統
130‧‧‧共享記憶體
140‧‧‧顯示裝置
150‧‧‧切換單元
160‧‧‧輸入裝置
170‧‧‧輸出裝置
180‧‧‧視窗定位系統
200‧‧‧共享記憶體
201、203、205‧‧‧記憶體模組
A、B、C、D‧‧‧視窗
210‧‧‧桌面
300‧‧‧對照表
400‧‧‧桌面
410、420‧‧‧視窗
430-470‧‧‧圖像
S510-S530‧‧‧執行步驟
S610-S630‧‧‧執行步驟
S710-S770‧‧‧執行步驟
810、820‧‧‧桌面
第1圖係顯示一依據本發明實施例之顯示系統。
第2圖係顯示一依據本發明實施例之一共享記憶體之示意圖。
第3A圖與第3B圖係顯示依據本發明實施例之視窗定位系統所使用之對照表之示意圖。
第4圖係顯示依據本發明實施例之一使用者介面。
第5圖係顯示一依據本發明實施例之顯示方法之流程圖,用以由主電腦裝置啟動執行在至少一從電腦裝置的一個應用程式。
第6圖係顯示另一依據本發明實施例之顯示方法之流程圖,用以顯示將主電腦裝置以及至少一從電腦裝置所同時產生的多個視窗於一顯示系統。
第7圖係顯示另一依據本發明實施例之共享記憶體存取方法之流程圖,用於主電腦裝置上。
第8圖係顯示依據本發明實施例之一個視窗合成操作的示意圖。
S510-S530‧‧‧執行步驟

Claims (22)

  1. 一種顯示系統,用以同時地顯示多重視窗,包括:一主電腦裝置,其具有一顯示裝置以及一對應之視窗系統;至少一從電腦裝置,其具有一對應之視窗系統;一共享記憶體,其係耦接至該主電腦裝置以及該至少一從電腦裝置;一輸入裝置,接收由該主電腦裝置以及該至少一從電腦裝置同時產生之複數視窗;以及一輸出裝置,顯示該等視窗於該主電腦裝置之該顯示裝置上;其中該主電腦裝置以及該至少一從電腦裝置同時地從該共享記憶體讀取視窗資料及/或將視窗資料同時地寫入至該共享記憶體;其中該共享記憶體更包括複數記憶體模組,且每一該等記憶體模組有一對應之控制器。
  2. 如申請專利範圍第1項所述之顯示系統,其中該共享記憶體更於不造成寫入/寫入或讀取/寫入衝突下,支援該等視窗之視窗資料的同時讀取及寫入操作,而在一讀取或寫入操作之前分別產生不超過寫入或讀取一視窗之資料所需之最大時間之一延遲。
  3. 如申請專利範圍第1項所述之顯示系統,其中該共享記憶體係為一組之鏈結記憶體模組連同一管理系統,該管理系統係用以識別下一個要寫入或讀取之記憶體模組。
  4. 如申請專利範圍第1項所述之顯示系統,其中該共享 記憶體係更連接一視窗定位系統,其係用以將一給定視窗映射至包含該給定視窗之資料之該記憶體模組之記憶體位址上。
  5. 如申請專利範圍第1項所述之顯示系統,其中每一該等記憶體模組之大小係由該等視窗系統所使用之一視窗之最大資料大小所決定。
  6. 如申請專利範圍第1項所述之顯示系統,其中該主電腦裝置之一處理單元類型係不同於該至少一從電腦裝置之該處理單元類型。
  7. 如申請專利範圍第1項所述之顯示系統,其中該主電腦裝置之該視窗系統之類型係不同於該至少一從電腦裝置之該視窗系統之類型。
  8. 如申請專利範圍第1項所述之顯示系統,其中該主電腦裝置以及該至少一從電腦裝置係為屬於相同桌上型或膝上型平台之同質或異質電腦裝置。
  9. 一種顯示方法,用以同時地顯示由一顯示系統內的一主電腦裝置以及至少一從電腦裝置所產生之複數視窗,其中該顯示系統包含該主電腦裝置,其具有一顯示裝置以及一對應之視窗系統、該至少一從電腦裝置,其具有一對應之視窗系統、以及一共享記憶體,其係可由該主電腦裝置以及該至少一從電腦裝置所存取,該方法包括:將該至少一從電腦裝置之視窗資料儲存於該共享記憶體;由該主電腦裝置從該共享記憶體中得到該至少一從電腦裝置之該視窗資料;以及 利用得到之該視窗資料產生一合成視窗資料,其中該主電腦裝置係將該合成視窗資料顯示於該顯示裝置上;其中該共享記憶體更包括複數記憶體模組,且每一該等記憶體模組有一對應之控制器。
  10. 如申請專利範圍第9項所述之顯示方法,其中該共享記憶體更於不造成寫入/寫入或讀取/寫入衝突下,支援該等視窗之視窗資料的同時讀取及寫入操作,而在一讀取或寫入操作之前分別產生不超過寫入或讀取一視窗之資料所需之最大時間之一延遲。
  11. 如申請專利範圍第9項所述之顯示方法,其中該共享記憶體更包括複數記憶體模組,每一該等記憶體模組有一對應之控制器,且該將該至少一從電腦裝置之視窗資料儲存於該共享記憶體之步驟更包括:將該至少一從電腦裝置之每一視窗映射至該等記憶體模組中之一對應記憶體模組;以及當其中一視窗資料係被更新時,將更新之該至少一從電腦裝置之該視窗之資料儲存至該視窗之該對應記憶體模組。
  12. 如申請專利範圍第11項所述之顯示方法,其中該共享記憶體係為一組之鏈結記憶體模組連同一管理系統,該管理系統係用以識別下一個要寫入或讀取之記憶體模組。
  13. 如申請專利範圍第11項所述之顯示方法,其中該共享記憶體係更連接一視窗定位系統,其係用以將一給定視窗映射至包含該給定視窗之資料之該記憶體模組之記憶體位址上,且該由該主電腦裝置從該共享記憶體中得到該至 少一從電腦裝置之該視窗資料之步驟更包括:利用該視窗定位系統,找出儲存於該共享記憶體中之該至少一從電腦裝置之所有視窗資料;以及由該視窗定位系統所指定之該對應記憶體模組中讀取出每一該等定位到的視窗資料。
  14. 如申請專利範圍第13項所述之顯示方法,更包括:當目前記憶體模組係正被該至少一從電腦裝置執行寫入操作時,略過對該目前記憶體模組之讀取操作並讀取下一記憶體模組;以及於除了該略過之記憶體模組之外的所有其他記憶體模組皆被讀取或略過之後,判斷該略過之記憶體模組是否為有效;其中該主電腦裝置更於除了該略過之記憶體模組之外的所有其他記憶體模組皆被讀取或略過之後且該略過之記憶體模組仍被寫入時,繼續等待至該略過之記憶體模組之寫入操作完成。
  15. 如申請專利範圍第11項所述之顯示方法,其中每一該等記憶體模組之大小係由該等視窗系統所使用之一視窗之最大資料大小所決定。
  16. 如申請專利範圍第9項所述之顯示方法,其中該主電腦裝置之一處理單元類型係不同於該至少一從電腦裝置之該處理單元類型。
  17. 如申請專利範圍第9項所述之顯示方法,其中該主電腦裝置之該視窗系統之類型係不同於該至少一從電腦裝置之該視窗系統之類型。
  18. 如申請專利範圍第9項所述之顯示方法,其中該主電腦裝置以及該至少一從電腦裝置係為屬於相同桌上型或膝上型平台之同質或異質電腦裝置。
  19. 一種顯示方法,用以同時地顯示複數視窗於一顯示系統,其中該顯示系統包含一主電腦裝置,其具有一顯示裝置以及一對應之視窗系統、至少一從電腦裝置,其具有一對應之視窗系統、以及一共享記憶體,該方法包括:由該主電腦裝置接收一用以啟動該至少一從電腦裝置之一應用程式之啟動訊號;執行該應用程式以建立該應用程式之視窗資料,其中該應用程式之該視窗資料係由該至少一從電腦裝置之該視窗系統寫入至該共享記憶體中;以及由該共享記憶體中得到該應用程式之該視窗資料、對一目前視窗資料以及得到之該應用程式之該視窗資料執行一合成操作,以產生一合成視窗資料,其中該合成視窗資料係由該主電腦裝置之該視窗系統顯示在該顯示裝置上;其中該共享記憶體更包括複數記憶體模組,且每一該等記憶體模組有一對應之控制器。
  20. 如申請專利範圍第19項所述之顯示方法,其中該用以啟動該至少一從電腦裝置之該應用程式之啟動訊號係由按壓該主電腦裝置之一桌面上對應該應用程式之一既定可點選連結所產生。
  21. 如申請專利範圍第19項所述之顯示方法,其中該共享記憶體更包括複數記憶體模組,每一該等記憶體模組有 一對應之控制器,且該方法更包括:當執行於該至少一從電腦裝置上之該應用程式之一視窗之資料係被更新時,將更新之該應用程式之該視窗之資料儲存至一對應記憶體模組中。
  22. 如申請專利範圍第19項所述之顯示方法,其中該共享記憶體更於不造成寫入/寫入或讀取/寫入衝突下,支援該等視窗之視窗資料的同時讀取及寫入操作,而在一讀取或寫入操作之前分別產生不超過寫入或讀取一視窗之資料所需之最大時間之一延遲。
TW098141852A 2009-11-17 2009-12-08 顯示系統及其顯示方法 TWI425415B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/620,319 US20110119454A1 (en) 2009-11-17 2009-11-17 Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform

Publications (2)

Publication Number Publication Date
TW201118717A TW201118717A (en) 2011-06-01
TWI425415B true TWI425415B (zh) 2014-02-01

Family

ID=42084233

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098141852A TWI425415B (zh) 2009-11-17 2009-12-08 顯示系統及其顯示方法

Country Status (6)

Country Link
US (1) US20110119454A1 (zh)
JP (1) JP5268157B2 (zh)
CN (1) CN102063242A (zh)
DE (1) DE102010002288A1 (zh)
GB (1) GB2475358B (zh)
TW (1) TWI425415B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136157A (zh) * 2011-11-22 2013-06-05 联想(北京)有限公司 双系统显示方法和电子设备
KR101929297B1 (ko) * 2012-04-27 2019-03-12 삼성전자주식회사 터치 반응성 개선 방법 및 그 전자 장치
US8931101B2 (en) * 2012-11-14 2015-01-06 International Business Machines Corporation Application-level anomaly detection
CN103744637A (zh) * 2014-01-18 2014-04-23 浪潮电子信息产业股份有限公司 一种基于numa的多物理层分区计算机体系结构的vga信号输出切换方法
TWI511047B (zh) * 2014-05-08 2015-12-01 Pegatron Corp 作業系統切換方法以及使用此方法的雙作業系統電子裝置
US20170010762A1 (en) * 2015-07-10 2017-01-12 Honeywell International Inc. Controlling application windows with a hover pop-up panel
US20170242648A1 (en) * 2016-02-19 2017-08-24 RAPC Systems, Inc. Combined Function Control And Display And System For Displaying And Controlling Multiple Functions
US11085662B2 (en) * 2017-01-30 2021-08-10 Mitsubishi Electric Corporation Air-conditioning system
US10585689B1 (en) * 2017-12-20 2020-03-10 Cisco Technology, Inc. Shared memory interface for application processes
CN109062647B (zh) * 2018-07-20 2021-11-09 武汉斗鱼网络科技有限公司 活动窗口的数据共享方法、装置、设备及存储介质
CN109597595B (zh) * 2018-10-29 2022-03-22 广州市中海达测绘仪器有限公司 液晶显示屏的控制方法、装置、计算机设备和存储介质
CN112860005B (zh) * 2019-11-12 2023-08-08 宏碁股份有限公司 计算机装置及显示方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036315A (en) * 1988-09-06 1991-07-30 Spectragraphics, Inc. Simultaneous display of interleaved windowed video information from multiple asynchronous computers on a single video monitor
TW200526043A (en) * 2004-01-21 2005-08-01 Intergraph Hardware Tech Co Video analyzer
US20060064422A1 (en) * 2004-09-17 2006-03-23 Arthurs Brendan P Data sharing system, method and software tool
TW200627143A (en) * 2005-01-28 2006-08-01 Mitac Int Corp System for temporarily storing memory data using remote data storage medium and method thereof
US20070022234A1 (en) * 2005-07-20 2007-01-25 Quanta Computer Inc. Devices and methods for signal switching and processing

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
JPH0287224A (ja) * 1988-09-22 1990-03-28 Nec Corp 表示制御装置
DE69422324T2 (de) * 1993-03-29 2000-07-27 Koninkl Philips Electronics Nv Speicherarchitektur mit Fenstern zum Bildkompilieren
EP0870282B1 (en) * 1995-07-26 2003-05-28 Apple Computer Inc. Method for a span and subspan sorting rendering system
US5856826A (en) * 1995-10-06 1999-01-05 Apple Computer, Inc. Method and apparatus for organizing window groups and windows in a table
US6144992A (en) * 1997-05-09 2000-11-07 Altiris, Inc. Method and system for client/server and peer-to-peer disk imaging
US6380945B1 (en) * 1998-11-09 2002-04-30 Broadcom Corporation Graphics display system with color look-up table loading mechanism
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US20020089488A1 (en) * 2001-01-11 2002-07-11 International Business Machines Corporation Apparatus and method for controlling a picture whithin a picture display device
US20030100340A1 (en) * 2001-03-16 2003-05-29 Cupps Bryan T. Novel personal electronics device with thermal management
US7302648B1 (en) * 2002-07-10 2007-11-27 Apple Inc. Method and apparatus for resizing buffered windows
CA2406876A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for managing a collection of portlets in a portal server
US20050275641A1 (en) * 2003-04-07 2005-12-15 Matthias Franz Computer monitor
US7260784B2 (en) * 2003-05-07 2007-08-21 International Business Machines Corporation Display data mapping method, system, and program product
US7199802B2 (en) * 2003-10-24 2007-04-03 Microsoft Corporation Multiple-mode window presentation system and process
US20080163075A1 (en) * 2004-01-26 2008-07-03 Beck Christopher Clemmett Macl Server-Client Interaction and Information Management System
US8046712B2 (en) * 2004-06-29 2011-10-25 Acd Systems International Inc. Management of multiple window panels with a graphical user interface
US7594183B2 (en) * 2004-08-12 2009-09-22 International Business Machines Corporation Capturing a workflow
CN1782983A (zh) * 2004-12-01 2006-06-07 南京易思克网络安全技术有限责任公司 计算显示综合的装置及方法
US7921365B2 (en) * 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
US7657830B2 (en) * 2005-05-04 2010-02-02 Microsoft Corporation Layout size sharing in a grid layout for a user interface
US20080109758A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of event ticketing information
US20080109759A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of organizational research information
US20080109757A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of hyperlocal publishing information
US20080109761A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of travel and entertainment information
US20080109756A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of real-estate information
US20080104531A1 (en) * 2006-09-29 2008-05-01 Stambaugh Thomas M Spatial organization and display of enterprise operational integration information
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
JP2008293484A (ja) * 2007-04-27 2008-12-04 Panasonic Corp バッファメモリ共有装置
JP4780101B2 (ja) * 2007-12-26 2011-09-28 日本電気株式会社 画像表示システム、画像表示方法及びプログラム
JP5045428B2 (ja) * 2007-12-26 2012-10-10 日本電気株式会社 画像表示システム、画像表示方法及びプログラム
US8239340B2 (en) * 2008-04-11 2012-08-07 Trevor Hanson Message conduit systems with algorithmic data stream control and methods for processing thereof
US20090292589A1 (en) * 2008-05-22 2009-11-26 Marsh, Berry & Company, Inc. Systems and Methods for Sales Tracking, Accountability, and Reporting
US20100036734A1 (en) * 2008-08-11 2010-02-11 Yang Pan Delivering Advertisement Messages to a User by the Use of Idle Screens of Electronic Devices
US8656018B1 (en) * 2008-09-23 2014-02-18 Gogrid, LLC System and method for automated allocation of hosting resources controlled by different hypervisors
US20100082496A1 (en) * 2008-09-30 2010-04-01 Symmedian Technologies, Inc. Real estate site selection system and method
US9436482B2 (en) * 2009-03-25 2016-09-06 Microsoft Technology Licensing, Llc Input content to application via web browser
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036315A (en) * 1988-09-06 1991-07-30 Spectragraphics, Inc. Simultaneous display of interleaved windowed video information from multiple asynchronous computers on a single video monitor
TW200526043A (en) * 2004-01-21 2005-08-01 Intergraph Hardware Tech Co Video analyzer
US20060064422A1 (en) * 2004-09-17 2006-03-23 Arthurs Brendan P Data sharing system, method and software tool
TW200627143A (en) * 2005-01-28 2006-08-01 Mitac Int Corp System for temporarily storing memory data using remote data storage medium and method thereof
US20070022234A1 (en) * 2005-07-20 2007-01-25 Quanta Computer Inc. Devices and methods for signal switching and processing

Also Published As

Publication number Publication date
GB2475358B (en) 2012-06-20
CN102063242A (zh) 2011-05-18
US20110119454A1 (en) 2011-05-19
JP2011107667A (ja) 2011-06-02
GB201001551D0 (en) 2010-03-17
TW201118717A (en) 2011-06-01
GB2475358A (en) 2011-05-18
DE102010002288A1 (de) 2011-05-26
JP5268157B2 (ja) 2013-08-21

Similar Documents

Publication Publication Date Title
TWI425415B (zh) 顯示系統及其顯示方法
KR102427561B1 (ko) Fpga 기반 가속화를 위한 새로운 ssd 구조
EP2849076B1 (en) Dma transmission method and system
EP2849077B1 (en) Method for writing data into storage device and storage device
US11010859B2 (en) Display resource scheduling method and device for embedded system
JP6040101B2 (ja) ストレージ装置の制御方法、ストレージ装置及び情報処理装置
TW201040834A (en) Peer-to-peer dynamically appendable logical displays
JP2013542515A (ja) 異環境間リダイレクション
JP2007535006A (ja) システムメモリへのgpuのレンダリング
JP6858885B2 (ja) コンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法及び装置
US20080147931A1 (en) Data striping to flash memory
JP2006244415A (ja) データ制御装置
US20130152009A1 (en) Browsing Between Mobile and Non-Mobile Web Sites
CN109936716A (zh) 一种显示驱动的实现方法及系统
JP2008040529A (ja) サーバ装置、サーバベースコンピューティングシステムおよびプログラム
US20140082558A1 (en) Method and Apparatus For Providing a User Interface For a File System
KR20210110156A (ko) 캐시 장치, 캐시, 시스템, 데이터 처리 방법, 장치 및 매체
CN115101025B (zh) 一种支持虚拟帧缓冲的lcd控制电路及其控制方法
KR100453071B1 (ko) 프로세서 버스 연결 장치 및 방법
JP5228565B2 (ja) Cadシステム
JP5325637B2 (ja) 情報処理プログラムおよび情報処理装置
JPH09269886A (ja) 情報処理装置およびコントローラ
JP5652242B2 (ja) データ転送制御装置及びプログラム
CN101859307A (zh) 键盘-屏幕-鼠标切换器、计算机系统与文件搜寻方法
JP5790807B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム