虛擬機器概論(五)——IBM虛擬機器模型

來源:互聯網
上載者:User

IBM虛擬機器模型



在IBM模型中,每個虛擬機器都是真正機器的完整拷貝,只是記憶體少了點。



IBM(International Business Machines)版的虛擬機器是現在仍然在使用的主流虛擬機器之一。在IBM模型中,每一個虛擬機器都是一台真正機器的完整拷貝,只是記憶體少了點。根據這一概念,一個功能強大的大型主機可以被分割成許多虛擬機器。這些虛擬機器僅比原來的主機少一點資源而已。



IBM的虛擬機器版本和其他虛擬機器流派類似,因為它也是提供功能映射的服務。這意味著虛擬機器負責解釋虛擬指令,並把它們映射為實際的機器指令。對於IBM流派的虛擬機器而言,這種指令的映射基本上是一種一一映射。這意味著一條虛擬指令僅僅與一條實際指令對應,並完成一條實際指令的工作。從本質上講,使用者實際上就是在訪問並執行機器的指令。



現在,你可能感到很疑惑:如果IBM VM作業系統實際上是把實際機器的所有功能都給了使用者,那麼它如何保證安全性呢?安全性也是通過映射來實現的。只要阻止或限制一個認為敏感的特定指令集就可以了,例如那些試圖訪問處理器儲存空間(寄存器)的指令。如果允許訪問這類指令,就等於允許使用者直接修改實際的機器,從而改變其它正在啟動並執行虛擬機器。如果這種情況允許發生,那麼每個使用者的虛擬機器就不是完全無關的了,並可能因此破壞其他使用者的環境。



本質上講,IBM VM系統直接執行所有非敏感指令,同時截獲敏感指令。當機器截獲這些敏感指令以後,它會試著類比出預期的操作,以使使用者不會察覺他們試圖進行一次非法操作。如果可能的話,VM系統為敏感指令提供一種虛擬執行,從而為使用者提供所有他們希望的功能,而同時還要維護OS/370硬體的系統完整性。所有這些功能都由運行在硬體上的虛擬作業系統提供。



它是如何工作的?




 


因此,IBM虛擬機器系統不僅允許共用資源,而且保護了系統資源。



虛擬機器作業系統是整個IBM虛擬機器體繫結構的“大腦”。包括作業系統和硬體在內的整個系統被稱作虛擬機器系統(VM System)。每個虛擬機器系統都被一個叫做控製程序的程式控制。控製程序除了管理實際的物理硬體,還要為每個系統使用者建立一個虛擬機器,這種虛擬機器是370系統或390系統的全真類比。IBM虛擬機器概念的重點在於:每個使用者都可以在他們的虛擬機器上運行程式,儲存資料,甚至使虛擬機器崩潰,這不會影響虛擬機器系統本身和其他的系統使用者。所以,IBM虛擬機器模型不僅允許資源共用,而且實現了系統資源的保護。



控製程序實際實際上直接運行在主機硬體上,是虛擬機器系統中最重要的一部分。控製程序要管理系統硬體,包括啟動和關機在內的系統支援任務,以及請求的排隊和執行。同時控製程序還要管理每個虛擬機器的編程特徵和每個虛擬機器的建立和維護。



除了控製程序以外,另一個和虛擬機器系統使用者互動的重要組件就是會話監視系統(Conversational Monitor System,CMS)。這個稱呼聽起來有點複雜,但CMS只提供使用者需要的作業系統的基本任務。其中包括檔案系統命令,程式載入和執行功能,記憶體管理,螢幕和視窗服務以及允許使用者書寫申請的服務。CMS是一種單使用者單任務的作業系統。儘管系統有能力在同一時間處理多個任務,但起初它被用做單任務系統。每個虛擬機器都有它自己的CMS拷貝,從而使所有使用者擁有同樣的介面和功能。



IBM虛擬機器系統的指令集實際上是一種一一對應



除了CMS以外,VM系統體系還有一些其他的組成部分,包括組控制系統(Group Control System),透明的系統訪問工具(Transparent System Access Facility),一些附加的服務,以及傾印視圖工具(Dump Viewing Facility)。我知道你可能正在想所有這些羅嗦的官方名詞究竟是什麼意思。老實說,上面提到的那些東西對於大體理解IBM虛擬機器系統並不重要。所以,我們將會集中精力來討論控製程序和會話監視系統是如何來映射指令的。



正如在綜述中提到的那樣,指令集實際上是一一映射的。基於速度和便利性的考慮,370系統和390系統上的大部分指令都是由系統直接啟動並執行。這意味著CMS使得使用者在沒有速度損失的情況下運行指令並獲得他們所希望的功能。現在我最想說的是一個小的指令子集,VM系統認為這個指令子集是敏感的。



一條敏感的指令實際上指的就是一條這樣的指令:它允許使用者改變另外一個使用者虛擬機器的狀態,改變系統硬體狀態,以及其他一些敏感或者受保護的函數。為了說明這個問題,現在讓我們看一個例子:



比如說一個使用者試圖執行一條可以訪問其他使用者虛擬機器和資源的指令。這條指令將會被CMS截獲,並標記為敏感指令。這意味著CMS將把這條指令當作一條受保護的指令,然後在將這條指令傳遞給控製程序的時候加上一個特殊的標誌,這個標誌將告訴控製程序:“這是一條受保護的指令。”電腦術語管這叫做中斷,但這對本文並不重要。



控製程序接收帶有標誌的指令,這個標誌告訴控製程序,這是一條敏感的指令。然後控製程序對這條指令執行一些特定的常式或檢查,以決定如何來處理它。這些常式可以告訴控製程序是否需要類比這條指令的執行,或者是否完全阻止這條指令的執行。如果控製程序類比這條指令,使用者將永遠不會知道他們剛剛試圖去執行一條敏感的指令,他們的系統也會象沒什麼特殊事情發生一樣而繼續執行。如果控製程序必須阻止這條指令的執行,那麼它會給使用者返回一條訊息,告訴他們發生了錯誤。使用者程式很可能因此而停止執行。



小結



閱讀完以上幾段以後,你現在已經對什麼是IBM虛擬機器模型和IBM虛擬機器如何工作有了基本的瞭解。這很好,但是我敢打賭,你一定在想這個模型真的能夠工作嗎?它真的像宣傳的那樣工作嗎?我曾經用過這個系統,老實說,它確實能夠工作。



IBM虛擬機器系統提供了一種安全環境下,多使用者共用大型系統的途徑。



IBM虛擬機器系統提供了一種安全環境下多使用者共用大型系統的途徑。通過為每個使用者建立一個真實機器的拷貝,IBM系統允許每個使用者獲得同樣的功能和資源,而不會危及任何使用者的封裝性和安全性。經過將近三十年的發展,這個系統已經足夠的穩定。這使得它作為一個資源共用系統在企業和大學裡得到廣泛的應用。


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。