虛擬機器的概念

qingfeng_96發表於2018-11-03

這裡我給大家先普及一下虛擬機器的概念。在論壇裡很多機友不清楚虛擬機器是什麼。
     “虛擬機器”這個概念在實際應用中有兩種語境。第一種是“虛擬主機”的概念,第二種是“執行環境”的概念。這兩種概念是不同的。

 

1. “虛擬機器”在作“虛擬主機”講的時候,指的是作業系統內安裝另一個作業系統。你如在Windows裡,你可以裝一個VMWare,然後在VMWare裡安裝一個Ubuntu Linux。這就是虛擬主機。Windows是一個作業系統,是裝在硬體上的。VMWare是個軟體,它模擬了一個和硬體相似的環境,讓另一個作業系統可以安裝執行在這個環境上。我們看Windows和Ubuntu Linux的關係,它們都是作業系統,是一個級別的。這種關係就像媽媽肚子裡懷的寶寶,寶寶生活在媽媽的肚子裡,媽媽和寶寶都是人,是一種寄生關係。 

2. “虛擬機器”在做“執行環境”講的時候,指的是作業系統被安裝一個支援其他軟體包執行的軟體。最明顯的例子就是“Java虛擬機器”。所謂“Java虛擬機器”是一個安裝在作業系統上的軟體,用於支援用Java程式語言編寫的軟體包的執行。它負責給java程式分配資源,幫助java程式做一些底層的工作,讓java程式在它搭建的環境裡執行。這時Java虛擬機器也是作業系統上的一個軟體,其他java如阿健要依賴它才能執行。它是一個底層的支援環境。微軟有個仿照java架構的開發環境,即.NET Framework。這裡就沒有使用“Virtual Machine(虛擬機器)”這個術語,而是用了“Framework(框架)”。這兩個詞實際的意義是一樣的,都是Runtime Environment(RE,執行時環境),但是可能Framework更容易理解。它就是一個框架,其他程式可以在這個框架的支援下執行。現在除了技術界,Java官方對公眾也儘量使用JRE(Java Runtime Environment),而不是JVM(Java Virtual Machine)的概念了。

 

轉載摘抄——http://blog.sina.com.cn/s/blog_5b01213501019qzd.html

 

 

 

相關文章