1. vdi架構
vdi架構提供了一種可以通過軟體元件發布虛擬裝置的方法,其它軟體元件可以與這些裝置進行互動。後端暴露了像display port、mouse input等介面,前端插入display output並根據特定實現進行渲染,以及插入mouse input並傳送滑鼠事件給後端處理。
此外很多其它介面可以通過後端(back-end)暴露出來,另乙個例子就是物理機上的遠端顯示系統:後端使用現有的技術與原生os互動,來接收顯示跟新和推送輸入訊息。後端暴露了像顯示輸出、滑鼠輸入一樣的介面。前端(front-end)的作用就像之前的例子。使用vdi後端可以不用做任何**改動就可以使用很多態別的前端。
後端與前端的互動是由後端來初始化的。後端使用vdi_init將核心介面傳給前端,通過核心介面,後端也將選項引數傳給前端。核心介面與其它vdi介面一樣,就是乙個包含資料成員和成員函式的資料結構。核心介面提供了接收變化事件的方法。通過這些,前端可以找到並與後端暴露的接**互。
spice server實現了vdi前端,qemu提供了後端介面。
2. 基本架構
spice基本模組包括spice protocol, spice server, spice client。另外還包括qxl裝置和guest qxl驅動。
spice agent模組是在guest os中執行的模組。spice server和client用agent來完成需要在guest os中執行的任務,例如配置guest os顯示設定。上圖顯示了spice client和server利用vdiport裝置和驅動來通訊的過程。virtio驅動通過input/output rings與guest os通訊,client和server產生的訊息寫入同乙個server中的佇列,稍後寫入到裝置的output ring,然後從裝置input ring中讀取訊息到server的read buffer。訊息埠決定了是由server處理還是傳給client。
2.3 spice client
spice client是終端使用者直接使用,來連線spice虛擬機器的。
2.4 spice server
spice server作為vdi動態庫實現的。vdi提供了一種以軟體元件形式發布虛擬裝置介面的標準,其它軟體元件可以與這些裝置互動。
參考:1.
2.
桌面虛擬化VS虛擬桌面基礎架構
我想很多人都對桌面虛擬化和虛擬桌面基礎架構這兩種技術的區別感到困惑。從名字上看兩者的區別確實不是很明顯,但隱藏在它們後面的技術卻是有很大不同。我們可以利用桌面虛擬化技術在自己的pc上執行乙個虛擬機器,而虛擬桌面基礎架構為遠端使用者提供桌面映象資料中心,推送桌面環境到使用者終端。從以上看出,兩種技術的...
虛擬桌面現狀
1 目前雲桌面廠商中領導者幾乎清一色技術出身,技術方面自然沒問題,但是銷售方面普遍欠缺。在進行產品路線規劃中主要想著做一款技術領先的產品,而不是設計一套銷售模式領先的產品。2 廠商中負責銷售的領導對雲桌面三大作用理解不夠,無法明白為使用者解決安全問題和管理問題的重要性遠比解決客戶成本問題要重要的多。...
C 虛擬桌面
c 開啟乙個虛擬桌面的 看不明白的地方 請檢視demo 群 103197177 c 高階討論 歡迎喜歡程式設計朋友加入進來一起討論學習 run.cpp 定義應用程式的入口點。include stdafx.h include run.h include include shellapi.h pragm...