微軟Windows Embedded首席架構(gòu)師談嵌入式軟件(1)
*本文根據(jù)2008年3月采訪Mike Hall改寫而成。Mike Hall:Windows CE 7.0的首席架構(gòu)師,長期從事Windows CE的技術(shù)傳播工作,在嵌入式開發(fā)者中有很高的威望,屬于偶像級人物。同時他也是英國的兼職警察,白天在微軟上班,晚上到街上巡邏。
他的BLOG:http://blogs.msdn.com/mikehall/
WinCE和Windows XP Embedded開發(fā)的異同
操作系統(tǒng)必須用在硬件上面,所以我們必須要使開發(fā)人員在開發(fā)過程中,能夠在使用源代碼時遇到最小的障礙,從而保證其開發(fā)性能。
每次我們推出一個新版本的操作系統(tǒng),實際上會開發(fā)更多的源代碼,在Windows Embedded CE 6.0的時候,微軟把整個內(nèi)核用源代碼的形式分配出去,這樣開發(fā)人員一方面能夠更好地對系統(tǒng)進(jìn)行檢查,另一方面能夠幫助他們修改和調(diào)整軟件,從而滿足在開發(fā)和發(fā)展過程中的不同需要。
例如Windows CE架構(gòu)的操作系統(tǒng)分為兩層,第一層叫內(nèi)核內(nèi)層,主要把操作系統(tǒng)導(dǎo)入設(shè)備里面,另外高的一層是技術(shù)層面。一般來說,在開發(fā)人員使用的時候主要關(guān)注內(nèi)核層。實際上,我們在提供源代碼的時候,很多部分是符合應(yīng)用于較高技術(shù)層面的一層。
對于開發(fā)人員來說,可以輕易訪問源代碼是非常重要的。這樣的話,技術(shù)人員可以比較方便地把操作系統(tǒng)導(dǎo)入到他們的硬件之中。
但是對于Windows XP Embedded,開發(fā)人員卻并不需要知道源代碼,因為開發(fā)人員使用的是傳統(tǒng)的PC主板,來應(yīng)對這個目標(biāo)設(shè)備,它不需要把相關(guān)的操作系統(tǒng)導(dǎo)入進(jìn)去,只要選擇原來的操作系統(tǒng),建立一個相關(guān)的運行項目就可以。
Windows CE架構(gòu)過程中,因為我們要把它植入一個新的操作系統(tǒng)和新的硬件之中,因此取決于這個硬件的復(fù)雜性和整個導(dǎo)入過程,可能需要好幾個月甚至幾年的時間。但是Windows XP Embedded相對來說時間比較快。從概念成型到發(fā)貨,一般只需12個星期就夠了。
源代碼的使用
Windows CE版本分兩個:一個是評測版;另外一個是完整版。它們里面有更小的源代碼,源代碼包括所有內(nèi)核方面的代碼,還有一部分操作系統(tǒng)方面的。
這些源代碼不包括其他第三方軟件許可,所以開發(fā)人員在開發(fā)的時候,所能夠使用的源代碼,就是包括內(nèi)核和操作系統(tǒng)里面的一部分,還包括管理器,WEB服務(wù)器等,這在使用的評估版本和完整版本都可以獲得。但是如果想獲得更多的源代碼,必須要取得第三方軟件的許可。這里面有一個申請的過程。
實際上,在這兩種層次上,開發(fā)人員獲取源代碼是完全相同的:他們一方面可以觀察源代碼,了解它,為它做進(jìn)一步調(diào)整改進(jìn),或者是重新構(gòu)建,同時可以把修改的結(jié)果進(jìn)行分享,在所有分享過程中,客戶不需要向微軟匯報,客戶可以把所有的改進(jìn)與微軟分享,所有的改進(jìn)所體現(xiàn)出的知識產(chǎn)權(quán),是由客戶自己保持的。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論