精華區beta MAC 關於我們 聯絡資訊
※ 引述《neoesque (Anti M$)》之銘言: : : 這樣的架構跟我拿兩台電腦用remote desktop相連有什麼不一樣? : : 只不過一個是用pci bandwidth比較高顯示的refresh rate比較快罷了 : : 還得解決一堆大大小小技術問題才能做到真的refresh rate加速 : : 我覺得並行運算不同的OS要到分享系統資源才有意義 : : 不過真的做到這樣感覺還是很愚蠢的設計就是了 : : 花一大堆功夫只為了把系統資源對砍解決無聊的使用者相容問題 : : 這才是為什麼沒有人去解決兩OS同時共用系統的問題關鍵 : 針對在同一台電腦上跑 Multi-OS 的理由其實並不是 "解決無聊的使用者相容問題" : 最原始的想法是:傳統的 Server 主機上面有很多顆 CPU,很大的記憶體,很多的硬碟 : 很多的網路卡 : [註] 我用 "Server 主機" 表示硬體;Server 表示軟體的伺服器 : 以傳統的觀點,想執行多種 Server 但是礙於預算妳就只能買一台IBM or Sun伺服器主機 : 在上面灌一個Unix,然後把所有的伺服器都灌在這台電腦上面,萬一這台電腦當機 : 抱歉!所有 Server 一起掛點 : 演變到後來開始發展出 VMWare 這樣的軟體(其實 Virtualization 也喊很久了 : 他讓一台主機,可以各自運行很多 OS,各自只 run 一個 Server,萬一一台主機當機 : 沒關西!其他可以活著運作~ : 但是因為 VMWare 畢竟只是 Virtual Machine,他做的就是把 Guest OS 執行的 x86 : machine code 去模擬出來並將結果交給 Guest OS 好像真的在做一樣 : 這樣有什麼缺點 1.IO 變慢,畢竟不是直接 Access : 2.x86 機器上還要考量 ring0 ring3 之類的問題 Guest OS 只能處在 : ring3 而非 Host OS 的 ring0 : 後來 CPU 製成進步(?) 也許是 Intel 大發慈悲 XD : Intel 的 Virtualization 叫做 VT 其後有 VT-d VT-x 等不同 Generation 的指令 : AMD 也不落人後,他們的技術叫 AMD-V : 透過這些指令可以輔助 VMWare 去加速 Guest 執行的 Performance : 演變到最近這兩年大家在想,傳統的 VMWare 是底下有一個 Host OS, 中間疊一層 VMWare : 最上面才是一堆地位相等的 Guest OS,這樣似乎還是不太好要是能夠直接有一堆 : 地位對等的 OS 不是很好嗎? : 於是乎 Linux 界目前產生了兩個計畫 Xen 與 KVM(Kernel-based Virtual Machine) : 他們原本前面提到的那種模型拿掉直接最下層是一個 Virtual Machine Monitor(VMM) : 然後在 VMM 上面就是一堆地位對等的 (Guest) OS : (不過這種架構沒有所謂的 Host OS : 透過 Xen 也好 KVM 也好每個 OS 都是一起運作而非 VMWare 那種架構 : 好像話提越離越遠總之這種對等"一起"執行的架構出發點不是 End-User 端 : 當初考量是大型伺服器市場,現在硬體越來越強,軟體架構也應當有所改變 : 話說我不知道 Mac OS X 是不是 Xen-aware 不然就可以在 Xen 上跑 Mac = =a : BTW,我覺得 eThink 的比喻很合理 : 雙開機本來e前輩就沒說可以同時執行 -> 需要重開機才能切換 : 另外 Mac 沒有同時(對等)執行兩套 OS 不代表其他作業系統沒有~ : 另外第二點你說的比較 VMWare 底層的工作,不過這樣說的確比較合理 : 至於 3 現在 Parallel Desktop 不是可以直接抓 Windows 的磁區近來執行了嗎? 我對xen發展背景所知有限,有錯歡迎更正 xen 還是一套virtualization,只不過比"machine"薄一點而已 基本上multi-OS地位再對等,還是得有一個host OS去掌管系統 這整個架構還是emulation,你說這樣就不會掛了嗎? 要是他的host OS掛了還不是一樣 基本上看一下機器工作的原理,OS是要幹嘛的? memory management,interrupt service, context switch, IPC, schdueling.. 這些工作控制是沒有辦法把權力下放的,就像一台車子不能有兩個駕駛一樣 去做virtualization完全就是相容問題 把一個OS降級成一個介於AP和kernel之間像driver的東西(這樣講沒錯吧?) 老實說在我看來如果不是為了相容性有更多更簡單performance更好的解決方案 你說server很多顆記憶體很多硬碟很大 嚴格來講那些東西也不是塞在一個機器裡面而是散在一個grid的每一個cell裡面 這樣要搞virtualization為何不用frontend/backend server的架構更簡單省事又穩定 高端機器就是要穩定,在一台機器裡這樣搞似乎不太符合其宗旨 我這樣除了guest OS要注意連host OS也得擔心 套之前的比喻,一個國家只能有一個元首,但是可以有很多自治地區領導或是州長 每一個地區也許可以安插民代到議會或是代表到行政組織裡 但是中央的管理決策還是在一個元首身上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.30.154.31