虛擬化:使軟件盡早插手系統(tǒng)設(shè)計(jì)
虛擬軟件開(kāi)發(fā)也避開(kāi)“codeís”固有限制,通過(guò)在需要逆向時(shí)執(zhí)行代碼,開(kāi)發(fā)了類似于“TiVo”的功能,且沒(méi)有任何的代碼儀表或者額外的硬件。虛擬化讓開(kāi)發(fā)者等待一個(gè)錯(cuò)誤,然后“倒帶”尋找到一個(gè)故障所在處的代碼的執(zhí)行。倒帶代碼執(zhí)行能力需要可以廉價(jià)的檢查整個(gè)系統(tǒng)的能力和高速仿真的能力。倒退一個(gè)指令實(shí)際上就是通過(guò)回復(fù)到檢查點(diǎn)和倒退到一個(gè)點(diǎn),倒帶點(diǎn)的指令之前完成的,如果仿真速度夠快,這個(gè)過(guò)程就像是在瞬間給使用者的。這種可逆式的調(diào)試環(huán)境與多處理器系統(tǒng)和多核處理器共同工作,使得開(kāi)發(fā)人員可以跟蹤缺陷,諸如競(jìng)爭(zhēng)情況,被兩個(gè)零錯(cuò)誤分開(kāi),鎖定重讀,死鎖和缺乏優(yōu)先級(jí),所有這些都將出現(xiàn),更多的是在多核架構(gòu)中。
虛擬化模型的建立使得通過(guò)確定一個(gè)有意義的平臺(tái)使得平臺(tái)更加標(biāo)準(zhǔn)化,這個(gè)平臺(tái)可以使得軟件和硬件可以使用,加強(qiáng)和分享。虛擬化軟件設(shè)計(jì)可以獲得無(wú)限量的虛擬指標(biāo),虛擬平臺(tái)(硬件的軟件代表)可以被在幾秒內(nèi)通過(guò)郵件發(fā)送到世界各地。因?yàn)橛商摂M模型產(chǎn)生的數(shù)據(jù)不是物理限制的,公司可以與合作伙伴和客戶簡(jiǎn)單的有效的分享他們的虛擬化軟件開(kāi)發(fā)知識(shí)產(chǎn)權(quán)。
虛擬化軟件開(kāi)發(fā)最近表現(xiàn)在另一個(gè)類似平臺(tái)的引入,Google的Android(Google 的手機(jī)操作系統(tǒng)和相關(guān)軟件的總稱),雖然在一個(gè)軟件開(kāi)發(fā)工具包的上下文。不過(guò),這樣的概念是一樣的,并構(gòu)成了一個(gè)仿真的虛擬平臺(tái),使得由上而下的方法在應(yīng)用層使得硬件基本上是不相關(guān)的。虛擬平臺(tái)提供了設(shè)計(jì)所有的必要的服務(wù),使得硬件可以被看作一種前端,而不是在后端考慮。一旦軟件發(fā)展,硬件優(yōu)化軟件,而不是與此相反。
實(shí)際虛擬軟件開(kāi)發(fā)
虛擬軟件開(kāi)發(fā)在主流的商業(yè)規(guī)模中顯示了它的好處。許多公司已經(jīng)在他們的設(shè)計(jì)過(guò)程中移植了這個(gè)方法,創(chuàng)造了一個(gè)全新的創(chuàng)新的基于虛擬化軟件開(kāi)發(fā)的基礎(chǔ)架構(gòu)。
IBM在其強(qiáng)大的Power6平臺(tái)中的復(fù)雜軟件開(kāi)發(fā)和測(cè)試中使用了虛擬化軟件開(kāi)發(fā)。通過(guò)使用這個(gè)方法,IBM的開(kāi)發(fā)團(tuán)隊(duì)能夠提高他們開(kāi)發(fā)復(fù)雜固件和系統(tǒng)管理程序的挑戰(zhàn),從而無(wú)需物理硬件可以啟動(dòng)和運(yùn)行多個(gè)操作系統(tǒng)上的虛擬系統(tǒng)模型。這反過(guò)來(lái),可以幫助降低整體的硬件花費(fèi)。IBM很快意識(shí)到可以使用虛擬軟件開(kāi)發(fā)優(yōu)化它的整個(gè)產(chǎn)品開(kāi)發(fā)生命周期,同時(shí)也可以最大限度的減少硬件和軟件設(shè)計(jì)團(tuán)隊(duì)的壁壘。
GE Aviation系統(tǒng)(前身為Smiths Aerospace)使用了虛擬化為它的過(guò)程模型發(fā)展了仿真模型。GE建立了最終目標(biāo)系統(tǒng)模型提供更多的好處,與傳統(tǒng)的開(kāi)發(fā)環(huán)境相比,包括降低開(kāi)發(fā)和測(cè)試成本,整合成本,收購(gòu)成本,維修保養(yǎng)的成本及成本的變化。虛擬軟件開(kāi)發(fā)確定性的能力使得GE的開(kāi)發(fā)者可以在他們?cè)谏钊霗z查和診斷的空閑再現(xiàn)性能問(wèn)題。
風(fēng)河系統(tǒng),領(lǐng)先的設(shè)備軟件優(yōu)化供應(yīng)商,使用了一段時(shí)間的虛擬軟件開(kāi)發(fā)以提高他們操作系統(tǒng)的開(kāi)發(fā)過(guò)程(如VxWorks中SMP),同樣公開(kāi)確定了虛擬軟件優(yōu)化在他們的開(kāi)發(fā)戰(zhàn)略中作為一個(gè)主要內(nèi)容。
最近,Monta Vista軟件公司,智能設(shè)備的Linux系統(tǒng)提供商,將虛擬軟件優(yōu)化更進(jìn)了一步,使得虛擬化成為它的軟件銷售和評(píng)價(jià)的一個(gè)關(guān)鍵部分。Monta Vista允許其潛在客戶在網(wǎng)上通過(guò)一個(gè)連接到使用者的TestDrive的評(píng)價(jià)服務(wù)提高Linux產(chǎn)品。并運(yùn)行于虛擬化軟件開(kāi)發(fā)平臺(tái)。這是一個(gè)虛擬軟件開(kāi)發(fā)鼓勵(lì)新的思維方式和經(jīng)商之道的成功例子。
作者:Michel Genard
評(píng)論