程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 虛擬機概論(八)——UNIX虛擬機模型

虛擬機概論(八)——UNIX虛擬機模型

編輯:關於JAVA

使用和設計虛擬機的概念,成為建立可交互的、健壯的虛擬設備的有效方法。這種方法可用來解決計算機工程師所面臨的許多問題。在UNIX操作系統中,虛擬機的概念和進程模型高度統一起來。UNIX操作系統是現代計算機使用的最成功、最受尊重的操作系統之一。UNIX的廣泛使用,使得他的虛擬機特征被全部發掘,並歸類為真正的虛擬機。UNIX操作系統使用一系列的獨立進程來完成用戶的指令。UNIX可以安排並配置它所創建的進程來傳遞和操縱數據。從概念上講,UNIX的進程可以被看作一個虛擬機,因為它具備虛擬機的許多特征,這些特征是其他三種虛擬機模型的有機組成。UNIX虛擬機通過使用一致的用戶外殼(User Shell)來獲得和IBM虛擬機模型相似的特征,這些用戶外殼完成和IBM虛擬機系統的虛擬機相類似的動作。UNIX用戶外殼可以被認為是獨立的虛擬機,因為每個用戶接口都是一個具有完整硬件資源集的獨立實體。用戶外殼就像一個熟練的調度員,它生成新的進程,引導數據從一個進程流向另外一個進程,來完成用戶提交給用戶外殼的命令。外殼受到內存界限和一些共享資源坐標界限的限制,這樣可以防止臨界硬件設備的沖突。但是,用戶外殼仍然保留了IBM模型中獨立和分割的原理。

UNIX進程同時也具備Java虛擬機的一項特征,因為它利用了操作系統的分層設計所提供的統一平台庫函數。UNIX操作系統為執行中的用戶進程提供了一個統一的有不同庫服務程序的集合。UNIX操作系統是分層設計,每一層為它的上一層提供服務和函數。這種標准化的設計使得用戶可以使用一個標准的函數集在不同的平台上執行他們的程序。這在使用POSIX標准的UNIX上是可能的。這個標准由IEEE POSIX項目組在“信息技術可移植操作系統接口(POSIX?? 第二部分:外殼和功能程序)”中發表,它規定了UNIX外殼和應用例程的標准。盡管特定程序的代碼仍然需要在每個平台上重新編譯,但程序代碼真正是可移植的,因為每個服從標准的UNIX平台都支持同樣的函數集。

在UNIX操作系統的底層結構中,用戶外殼也體現了OSI虛擬機模型的一些特色。UNIX操作系統對硬件的擴展是UNIX的基本特征之一。例如,硬件可能會用一個磁盤陣列來提供一個大型的文件系統。這些獨立的磁盤對於用戶來說,就是一個磁盤,而指令層將用戶層命令傳遞給硬件,或者將硬件指令返回到用戶層。

UNIX虛擬機模型集成了所有以上三種虛擬機模型的特點,生成了一個非常可靠和通用的方法——創建其它進程並傳遞進程輸出來完成用戶任務。通過這種方法,UNIX進程可以像虛擬機那樣工作。UNIX用戶進程獲得用戶輸入,然後創建一系列的虛擬機。每一台虛擬機的輸出,都將是下一台虛擬機的輸入。

數據操縱和輸出重定向的最終結果就是用戶指定任務的完成。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved