讀了《架構之美》的第七八章以後啓發很大,第七章「Xen和虛擬化之美」,Xen,全稱Xenoservers,是一個虛擬化平臺,它來自於一項學術研究成果,現已發展成一個重要的開源項目,它容許用戶在單個物理機器上運行幾個操做系統,並特別強調性能、隔離性和安全性,是一個偉大的開源項目,被普遍應用於各個方面。從好久之前,開發者們就發現了一個不方便的狀況,每臺物理機器上只能運行一個操做系統,這就給用戶帶來了極大的不便,若是用戶想使用的應用不兼容這一平臺,須要用戶使用另外一個操做系統,用戶的使用極爲不便。虛擬化這時候就顯得極爲重要,一樣,它還能夠應用於其它事情,防止崩潰、計算等。可是虛擬化也存在一些問題,經過對問題的分析與處理,前人發現了半虛擬化的重要性和開源開發的優勢。任何虛擬化在解決一個問題的時候,都會帶來一個新問題,半虛擬化能夠很好地應對這種狀況;開源開發也給Xen注入了許多新鮮的血液,增長了使用壽命,同時造福於全世界。安全
第八章「講了一個容錯的操做系統環境」Tandem的架構首要含義是每種組件都必須至少兩個,以防一個發生故障,這也就是要求系統至少須要兩個CPU,經過共享內存進行通訊。它被設計出來是爲了與硬件並行以便使用最小的開銷提供容錯性。Tandem把計算機描繪成多個彼此不溝通的處理器,系統能夠從任何單個組件的故障中恢復。Tandem對於當一個組件出現故障時系統必須可以察覺這一問題的解決方案是:將軟件設計成多疑的,如何有些東西發生了故障,操做系統就會中止這個CPU,而由另外一個CPU接管工做。 對於讓有缺陷的組件儘快恢復,操做系統在一個CPU中崩潰後,必須可以在線重啓,重啓的方式是先從磁盤啓動一個處理器,而後經過IPB啓動其餘處理器。由這一假設所引發的一系列推導,關於硬件、物理佈局、處理器架構、處理器間總線、輸入輸出、進程結構等。對於目標而言,這是一次偉大的成功,可是缺點也顯而易見:性能限制了系統的速度,硬件的限制。架構