虛擬機器概論(四)——虛擬機器的曆史

來源:互聯網
上載者:User

虛擬機器的曆史



在今天的電腦世界中,虛擬機器的概念已經被用來解決許多問題。從機器的分割(IBM模型),到“半平台無關”的程式設計語言(Java模型),到開發作業系統(UNIX模型和OSI模型),虛擬機器的概念在構成現代電腦的過程中已經被證明是一個強大的工具。然而,這個概念對每個人來說並非總是清晰,並且直到20世紀60年代中期,它才被用於實踐。

1965年前後,IBM的研究人員試圖去測量一些電腦科學領域新概念的實際效果。為了能夠測量到這些新特性開啟和關閉後機器的兩種效能,研究人員需要一種方式來關閉這些新的特性。這些人是IBM約克鎮(美國維吉尼亞州東南部城鎮)研究中心的研究人員。他們設計了一種方案,需要把機器分割成“更小的組件”。這些組件要求能夠管理他們自己的資源,以使得研究人員能夠在同一時間在系統中測試測試許多不同的條件,而不用改變系統的其他“組件”。他們相信,對於這個實驗來講,一個虛擬機器的實現會工作的非常好。

在這次實驗之後,IBM繼續他們的工作,並最終開發出了一個虛擬機器概念的實現。他們把它當作一個多使用者環境的作業系統來賣。許多企業和大學都使用這個作業系統,因為它允許他們共用主機的計算能力和資源。每個使用者在他們自己的虛擬機器中工作,從而可以和其他人共用資源而不影響其他人的工作。這台虛擬機器現在被稱做IBM370系統(S/370)和IBM390系統(S/390)。這些機器利用IBM VM/ESA作業系統,並且都被歸為IBM虛擬機器派系。

這個虛擬機器的實現被證明非常的強大,因為至今它都還在銷售。虛擬機器的概念從那以後開始被用來解決許多其他的計算問題,如電腦程式的可移植問題和作業系統的設計問題。 UNIX作業系統是最早利用虛擬機器概念解決這些問題的實現之一。

UNIX作業系統源自貝爾實驗室的Denise Richie和Ken Thompson在1974年發表的一篇論文。他們關於UNIX的這一思想很快被用在了PDP-11電腦上。PDP-11是一種大學使用的機器。通過大學畢業生,這一思想又很快被應用於商業電腦領域。從1980年到1985年,IEEE標準化委員會實施POSIX(Portable Operating System 可移植作業系統)項目來為UNIX庫函數提供一個標準。他們的想法是:任何軟體供應商都可以使用標準庫函數書寫他們的代碼,並且可以和任何UNIX系統對接。1990年,IEEE POSIX項目組發表了“資訊技術可移植作業系統介面”。這為UNIX外殼和應用常式規定了一個標準,使得UNIX應用介面成為一種正式的規範,從而使UNIX進程作為一個獨立的虛擬機器來工作。

創造一種真正可移植的電腦程式是長期困擾程式員的問題之一。或者說,程式員希望能夠寫出可以在任何平台上工作的程式。上世紀90年代中期,利用虛擬機器的概念創造的JAVA語言使得這一想法幾乎成為現實。

但是,在上世紀90年代,JAVA程式語言的思想並不是一個新的想法。它實際上是上世紀70年代,一個叫Bill Joy的紳士的想法。Joy想通過創造一種語言來整合MESA和C最好的優點。但是後來其他項目組(如Sun)攙和進來,並且實現這一想法需要很多年。到90年代早期,Joy對大型程式開始變的疲倦。在90年代後期,Joy寫了一篇叫“更進一步”的論文。(譯者按:可能作者在此處的時間問題上有點錯誤,應該是80年代後期。待查證。)在這篇論文中,他列出了對Sun工程師的建議,認為他們應該基於C++創造一個對象環境。也正是在這個時候,James Gosling已經在一個叫做“Imagination”的SGML編輯器上使用C++工作幾個月了。因為Gosling在“Imagination”項目中使用C++時受到挫折,這使他創造了Oak程式設計語言。

1990年12月5日,Patrick Naughton開始了綠色項目(Green Project)。Naughton是這樣定義這個項目的:為實現“做的越少越好”而努力。在那年12月,他招募了Gosling和Mike Sheridan來幫忙啟動這個項目。Joy給他們看了自己“更進一步”的論文,並且用C為圖形學和使用者介面的問題工作了幾個月。

1991年4月,綠色項目組(Naughton,Gosling和Sheridan)開始以“智能家電”(smart consumer electronics)為目標市場。而Gosling開始為Oak程式設計語言而努力工作。Gosling用C寫了最早的編譯器,而Naughton,Gosling和Sheridan完成的運行時解釋程式也是用C完成的。1991年8月,Oak的第一個程式誕生了。

到1992年秋天,一種在PDA和遠端控制之間的交叉互連器“*7”準備好了。是年10月,他們向Sun的董事長Scott McNealy展示了這個系統。接著,Sun以綠色項目為主體成立了一個全資子公司,叫First Person Inc.。1993年早些時候,綠色項目組聽說時代華納(Time-Warner)需要一個關於機頂盒作業系統的計劃書。First Person迅速從智能家電轉向機頂盒作業系統市場,並且向時代華納遞交了標書。幸運的是Sun沒有中標。(譯者按:這應該是個不幸的事件。)First Person繼續研究機頂盒作業系統。直到1994年早些時候,他們意識到機頂盒和智能家電一樣華而不實。

1994年,因為看不到市場前景,First Person被母公司Sun兼并。也正是在那個時候,他們意識到,智能家電和機頂盒上需要的軟體(它們的特點是:短小,平台無關,安全可靠)在新生的web上也同樣需要。綠色項目組第三次轉變他們的方向,這次是web。Patrick Naughton寫了一個叫WebRunner的瀏覽器雛形。經過Naughton和Jonathan Payne增補,這個瀏覽器成為Hot Java。1995年,Oak更名為Java。1995年,Java第一個開發工具JDK1.0alpha版發布。從那時起,已經有許多修訂版陸續發布,直到最近的JDK1.2。

附錄:重大歷史事件



大約1965年



約克鎮IBM研究中心獲得一台IBM7044機器。他們為系統的每一部分建立一個7044鏡像。每個鏡像叫做7044/44X。這是為了使IBM更好地理解多編程(multiprogrammed)作業系統。這是IBM虛擬機器概念的開端。他們認為,虛擬機器就是真實機器的副本,只是記憶體減少了。




 


1967年



Djiskstra在THE大學開發一個作業系統。它由一系列分層的虛擬機器組成。每層虛擬機器抽象出機器的不同層次,而每一層又是由它的下一層抽象而來。這是虛擬機器第一個主要的流派。




 


大約1968年



一個IBM小組在劍橋麻薩諸塞州建立了一個作業系統,並把它叫做劍橋監視系統(Cambridge Monitoring System,CMS)。CMS是分時系統的一個實驗,並最終成為VM/370所採用的體系構架。VM/370被當作分時系統來銷售。




 


1974年



貝爾實驗室的Denise Ritchie和Ken Thompson發表了關於Unix作業系統的裡程碑式的論文。因為在Unix作業系統上的工作,他們在1984年獲得了著名的ACM圖靈獎。




 


1980年-1985年



IEEE標準化委員會為了給Unix庫函數提供一個標準,啟動POSIX(Portable Operating System,可移植作業系統)項目。




 


1990年



IEEE POSIX項目組發表了“資訊技術可移植作業系統借口(Information Technology Portable Operating System Interface)”。這為UNIX外殼和應用常式規定了一個標準。




 


1990年



1990年12月5日,Patrick Naughton啟動了綠色項目。這個項目吸引了James Gosling和Mike Sheridan的參與,標誌著JAVA的早期發展。當時JAVA被叫做Oak程式設計語言。




 


1995年



1995年,綠色項目組轉向web,並開發了一個瀏覽器雛形。同時,Oak更名為JAVA。




 


1999年



1995年5月,JAVA的第一個開發工具JDK1.0alpha版發布。從那時起,已經有許多修訂版陸續發布,直到最近的JDK1.2。






相關文章

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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。