<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 高端訪談 > 微軟Windows Embedded首席架構(gòu)師談嵌入式軟件(3)

          微軟Windows Embedded首席架構(gòu)師談嵌入式軟件(3)

          —— 微軟Windows Embedded事業(yè)部首席軟件架構(gòu)師Mike Hall訪談(3)
          作者:迎九等 時間:2008-06-05 來源:電子產(chǎn)品世界 收藏

            *本文根據(jù)2008年3月采訪改寫而成。:Windows CE 7.0的首席架構(gòu)師,長期從事Windows CE的技術(shù)傳播工作,在嵌入式開發(fā)者中有很高的威望,屬于偶像級人物。同時他也是英國的兼職警察,白天在上班,晚上到街上巡邏。
          他的BLOG:
          http://blogs.msdn.com/mikehall/  
            
            Windows CE和XP Embedded開發(fā)的整體理念

          本文引用地址:http://www.ex-cimer.com/article/83753.htm

            在開發(fā)時有一點很重要,那就是要給開發(fā)人員提供足夠好的工具和技術(shù),才能確保他們設(shè)計上的生產(chǎn)效率,與此同時,還可以幫助他們在需要的情況下增加價值。

            例如在嵌入式設(shè)備的環(huán)境里有一個發(fā)展的趨勢,那就是從原來低端的8位變成現(xiàn)在的16位,不同的設(shè)備之間可以相互連接。
             
            但是我們看到,光有這種連接是不夠的,設(shè)備如果要連接的話,要連接到網(wǎng)絡(luò)或者是其他的設(shè)備上面,在整個連接過程中,我們要提供相關(guān)的工具和相關(guān)的架構(gòu),從而保證連接之后的設(shè)備更加易于管理、更新、監(jiān)控,而且可以保證在更新以后,可以輕易地連接到其他的設(shè)備上提供相關(guān)服務(wù)。
             
            在去年11月份發(fā)布的 CE 6.0 R2版本里有一些新的特點,其中一個重要的是WSD(設(shè)備上的Web服務(wù)),WSD是幫助用戶在設(shè)備上能夠使用Web服務(wù)。在這里面,我們可以幫助企業(yè)更好地建立一些設(shè)備。比如說我們現(xiàn)在用的插頭,你現(xiàn)在要使用首先要插上相關(guān)的線和電源,然后設(shè)置要調(diào)的一些程序。但是使用的WSD技術(shù),就可以讓筆記本自動在網(wǎng)上搜尋可用的投影儀,找到設(shè)備以后自己就可以操作。

            家里與企業(yè)的情況是同樣的。目前家里有許多設(shè)備,我們需要把這些設(shè)備連接在一起。這樣就可以更好地管理。要監(jiān)控家里的情況并進行管理,每當(dāng)家里出現(xiàn)一些新的設(shè)備的時候。需要想怎么控制這個設(shè)備,是通過遙控的方式,還是其他方式。通過WSD這樣新其他,我們可以輕易添加新設(shè)備,而且在現(xiàn)在的網(wǎng)絡(luò)里面可以找到,而且可以通過廣播的形式,讓電腦控制他們。比如家里的取暖、照明和其他設(shè)備,可以通過網(wǎng)絡(luò)實現(xiàn),此外,這些新技術(shù)還可以實現(xiàn)人與物設(shè)備之間的對話。微軟的軟件是為了讓用戶能夠更加輕易發(fā)現(xiàn)新產(chǎn)品和新設(shè)備。他們可以使用微軟提供的工具和基礎(chǔ)的框架,能夠把精力更好地關(guān)注在設(shè)計產(chǎn)品,以及怎樣讓這個產(chǎn)品體現(xiàn)更大的價值,而不是關(guān)注怎樣調(diào)整操作系統(tǒng)。
             
            組件化開發(fā)
             
            在過去,我們構(gòu)建一個消費設(shè)備或者是嵌入式設(shè)備的時候,我們采取是單一的設(shè)備方式,這就意味著這些產(chǎn)品可能被新產(chǎn)品淘汰,如果我們在設(shè)計的時候,一開始在理念上可以想到可以采用組件化的方式,整個設(shè)計過程會更加簡單,也可以更加輕易地重新使用相應(yīng)的組件和相應(yīng)技術(shù)。對Windows CE和Windows XP Embedded來說,開發(fā)人員可以很容易在硬件層次,以及在驅(qū)動層面進行設(shè)計。在組件化的環(huán)境里面,他們可以一方面設(shè)計一個產(chǎn)品使用一種芯片組,使用這種外設(shè),在設(shè)計另外一個產(chǎn)品的時候,可以使用同樣的芯片組,只是更換不同的外設(shè),這樣的話在設(shè)計第二個產(chǎn)品的時候,工作就比較簡單,因為他可以采用原來芯片上所采用的技術(shù),只要把工作的重點放在采用新的外設(shè)上,這就更加地簡便。
             
            Windows CE和Windows XP Embedded是組件化的操作系統(tǒng),我們一般發(fā)布新操作系統(tǒng)的周期是兩年。每兩年我們會推出一些新的操作系統(tǒng),兩年之間,我們有一些技術(shù)方面的改進。比如我們的功能包,我們剛宣布的 CE 6.0 R2版本,這些都給我們提供一些新的組件和新技術(shù),可以用在我們產(chǎn)品之上,對開發(fā)人員來講,他面臨比較多的選擇,一方面他可以看一些新的特點,新的特性,如果覺得他們適合,他可以在開發(fā)新產(chǎn)品使用,如果覺得不適合,可以完全不考慮這些,可以繼續(xù)使用現(xiàn)有的技術(shù)和架構(gòu)。這對他們來說,一方面可以有效的重新使用原來的技術(shù),而另一方面可以使用一些新的特性和新技術(shù),能夠把現(xiàn)有產(chǎn)品升級,讓他們發(fā)揮新的功能,增加新的價值。我覺得這對設(shè)計人員,對相關(guān)公司來講是非常重要的??梢蕴岣吖ぷ餍剩屗麄兏玫氖褂迷械慕M件,可以讓他們的產(chǎn)品可以更快地上市。
           
            我們看到在組件方面,對于第三方來講是非常重要的。這里可以舉兩個例子,一個是關(guān)于Windows CE,我們知道,在這里一方面有系統(tǒng)的集成商。還有一些硅供應(yīng)商,這些硅供應(yīng)商主要工作是把相關(guān)組件導(dǎo)入到硅上面,然后就變成一個BBST技術(shù)。然后變成一個組件,使用在硬件上面。這樣的話,這個組件可以輕易在相應(yīng)操作系統(tǒng)上,通過插拔來發(fā)揮作用。對開發(fā)人員來講,他們就可以比較快的實現(xiàn)這個過程。之前我講Windows CE的設(shè)計人員可以把重點放在兩個層面的工作上,一方面是硬件,另一方面是獨立硬件的工作,通過這點,可以在一個硬件的層面上進行自定義的工作,進行檢查和測試。而硅供應(yīng)商可以在另外一個層面上,對這個產(chǎn)品進行生產(chǎn)。在Windows CE的開發(fā)人員,他們?nèi)绻敫淖冇布膶哟危麄円部梢暂p易地做到,從而建立一個新的操作系統(tǒng)。在做出的同時,不需要改變原有的操作系統(tǒng)就可以做到。
             
            在Windows XP Embedded里面也有一些第三方公司,他們可以設(shè)計一些程序,可以把它變成一個Windows XP Embedded里面組件文件。這樣的話就可以把這個組件加入到現(xiàn)有的組件范疇之內(nèi),為Windows XP Embedded增加新的功能。



          關(guān)鍵詞: 微軟 Windows Embedded Mike Hall SMP WinCE

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();