0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從純粹軟件技術(shù)的角度看Windows CE

英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-09-30 09:43 ? 次閱讀

備注:本文節(jié)略自中國電力出版社2008年第1版《Windows CE工程實踐完全解析》(李大為編著)一書的“緒論”,我們認為作者對于Windows CE的見解深刻而適當(dāng),非常接近于我們對于Windows CE操作系統(tǒng)的看法,因而在此進行節(jié)略轉(zhuǎn)載,供廣大用戶參考。在此,一并對本文的作者致以敬意。

1、從純粹軟件技術(shù)的角度看Windows CE

從純粹軟件技術(shù)的角度看Windows CE,則可以說Windows CE就是嵌入式的Windows,雖然Windows CE不是微軟唯一的一款嵌入式操作系統(tǒng)產(chǎn)品,但無疑是最有代表性的一款。在純粹技術(shù)的方面,Windows CE和嵌入式的Linux、VxWorks等種類繁多的嵌入式操作系統(tǒng)沒有本質(zhì)區(qū)別。
包括windows CE在內(nèi)的所有類型的嵌入式操作系統(tǒng),其區(qū)別于桌面操作系統(tǒng)最本質(zhì)的特點,一是可裁剪,二是可移植。嵌入式操作系統(tǒng)的這兩個本質(zhì)特點是由運行嵌入式操作系統(tǒng)的嵌入式硬件的特點決定的。嵌入式的硬件平臺首先是由于成本的限制造成其硬件資源較為稀缺,以這樣的硬件平臺為基礎(chǔ)的嵌入式操作系統(tǒng)對硬件資源的使用就不得不精打細算;針對嵌入式的電子產(chǎn)品應(yīng)用功能比較專門化的特點,嵌入式操作系統(tǒng)實現(xiàn)不同功能的各個組成部分最好要能做到按需選用,即特定的產(chǎn)品需要的功能就留下,不需要則不留,這就是可裁剪。經(jīng)過裁剪的嵌入式操作系統(tǒng)不僅意味著較少地占用存儲空間,而且由于軟件的運行負荷較小,對于目標嵌入式系統(tǒng)的啟動速度和運行速度也會大有好處。
如果要說Windows CE相對于其它嵌入式操作系統(tǒng)在技術(shù)方面的優(yōu)勢所在,則幾乎可以一言以蔽之——Windows操作系統(tǒng)在桌面操作系統(tǒng)中的技術(shù)優(yōu)勢其實就是Windows CE在嵌入式操作系統(tǒng)中的技術(shù)優(yōu)勢。下面以Windows CE與嵌入式的Linux作比較,分四個方面說明Windows CE操作系統(tǒng)的技術(shù)優(yōu)勢。
(1)Windows CE可以保證操作系統(tǒng)的軟件產(chǎn)品質(zhì)量
Windows CE畢竟是由世界知名度最高的軟件廠商設(shè)計開發(fā)的操作系統(tǒng),質(zhì)量比較有保證。相比之下,Linux則主要是由一群組織松散的所謂“黑客”提供的程序軟件。負責(zé)組織和管理Linux開源項目的GNU組織希望打破軟件廠商對操作系統(tǒng)源代碼的壟斷,在他們看來這樣做不利于軟件技術(shù)的推廣和交流,所以鼓勵以開放源代碼的形式開發(fā)和使用嵌入式系統(tǒng)。這樣的目標在我們所處的這個時代雖然顯得有些不夠務(wù)實,卻也還算崇高。但是對于大多數(shù)的通過國際互聯(lián)網(wǎng)聯(lián)系起來的做基礎(chǔ)工作的Linux開源項目的開發(fā)者來說,除去純粹的興趣愛好以外,他們?yōu)長inux做事情的主要目的是出名。沒有人向他們付費,他們也不用為軟件的質(zhì)量問題承擔(dān)責(zé)任,于是重開發(fā)而輕測試就成了必然。此外,還有一個問題是由于組織松散以致各個開源項目之間缺乏協(xié)調(diào)一致,比如某個版本的Linux內(nèi)核只能或者不能用某個或者某些版本的GCC工具進行編譯,否則就會出錯。類似這樣的現(xiàn)象給Linux的使用者帶來了不少的麻煩。這些問題對于版本眾多、使用不夠充分、對提高開發(fā)者的知名度又幫助較小的嵌入式版本的Linux操作系統(tǒng)尤其嚴重,我曾經(jīng)親身經(jīng)歷過,從Linux的官方網(wǎng)站下載的源代碼,一字不改的情況下竟然編譯不能通過。
(2)Windows CE有大量的經(jīng)過嵌入式處理的應(yīng)用軟件和操作系統(tǒng)特性可供用戶靈活選用
任何的計算機系統(tǒng)總是要依靠應(yīng)用軟件才能向用戶提供使用價值,除用戶自己或者第三方開發(fā)以外,桌面版操作系統(tǒng)的廠商都會隨操作系統(tǒng)一起向用戶提供一些常用的應(yīng)用程序和操作系統(tǒng)特性(feature),前者主要包括網(wǎng)頁瀏覽器、媒體播放器、辦公軟件等,后者則以網(wǎng)絡(luò)協(xié)議棧、文件系統(tǒng)、多語言的支持庫、音視頻多媒體的編碼解碼器為代表。Windows CE是嵌入式的操作系統(tǒng),微軟也隨它一起向使用者提供了大量的這兩種類型的軟件,并且給它們起了一個更時髦、更有抽象意義的名字——用戶體驗(user experience)。操作系統(tǒng)的廠商無疑是想通過這些用戶體驗向用戶提供開發(fā)使用時的最大便利從而吸引客戶,應(yīng)用軟件可以代替用戶在需要時自己開發(fā)或者花錢另買,而操作系統(tǒng)特性可以在用戶自己或者第三方開發(fā)應(yīng)用軟件時提供強有力的支持。
客觀地說,Linux操作系統(tǒng)也不缺少豐富的應(yīng)用軟件和操作系統(tǒng)特性,但是與Windows CE相比較,它所欠缺的就是這個嵌入式處理。很多軟件就功能和性能來說也是很不錯的,可惜它沒有經(jīng)過精簡的版本可供嵌入式Linux的用戶直接使用。Linux的使用者們?nèi)绻胱约鹤鼍喌墓ぷ?,只能是逐行最多是逐個函數(shù)地裁剪開放源代碼,工作量之大可想而知。更嚴重的是,對原版代碼改動越大,引入新的錯誤的可能性也就越大,解決的辦法只有做大量的測試,而這又進一步地加大了所需的工作量。這不是GNU項目的組織者和開發(fā)者們考慮不周,他們的興趣和目標都只在軟件技術(shù),對于任何一個開源項目他們只管實現(xiàn)功能,至于是應(yīng)用桌面環(huán)境還是嵌入式的環(huán)境,那就是帶有商業(yè)色彩的產(chǎn)品運作的問題,那不是他們需要考慮的。
(3)微軟可以幫助Windows CE的用戶解決技術(shù)專利的問題
技術(shù)專利的問題主要集中在音視頻多媒體方面,比如MP3、MPEG-2、MPEG-4等。就我的經(jīng)驗來看,嵌入式電子產(chǎn)品的廠商對待技術(shù)專利的問題再怎么小心也做不到百分之百的放心,往往是一項技術(shù)會有多家公司或組織宣稱對它持有專利,比如MP3就有湯姆遜和Sysvel同時對它擁有專利,而MPEG-2和MPEG-4的情況就更復(fù)雜。比這更麻煩的情況是,隨著一項多媒體技術(shù)的應(yīng)用范圍不斷擴大和知名度不斷上升,就不斷地有廠家冒出來宣稱對它持有專利。微軟雖然不能幫客戶解決所有的技術(shù)專利問題,但是微軟承諾凡是在Windows CE開發(fā)工具里以操作系統(tǒng)特性的形式提供給使用者的多媒體編碼解碼器,用戶都不用擔(dān)心這個問題,如果用戶在這里遭遇了法律糾紛,微軟可以出面幫客戶打官司,微軟有專門的部門和經(jīng)費負責(zé)這件事。
(4)Windows CE有易于使用的集開發(fā)與調(diào)試于一體的集成開發(fā)環(huán)境
微軟正確地認識到原先只在高校和科研單位供專業(yè)技術(shù)人員使用的操作系統(tǒng)要進入普通人的工作、學(xué)習(xí)和生活當(dāng)中,穩(wěn)定性并不十分重要,安全性也可以先放一放,而操作簡單、易于使用的特點對于非專業(yè)的人士來說才是壓倒一切的優(yōu)點,Windows甚至因此而獲得了“傻瓜操作系統(tǒng)”的美名。這正是微軟的領(lǐng)導(dǎo)者的高瞻遠矚,抓住了這一點他們做成功了,操作簡單、易于使用的特色就在微軟后來的所有產(chǎn)品中被一直保持下來。雖然Windows CE的開發(fā)工具主要是給專業(yè)的技術(shù)人員使用的,但是操作簡單、易于使用的特點加上集開發(fā)與調(diào)試于一體的集成開發(fā)環(huán)境仍可以幫助用戶提高開發(fā)的效率和減少學(xué)習(xí)如何使用的時間。
這里需要指出的是,Linux的完全免費開源并不是絕對的無條件的,所有使用Linux開源項目的源代碼的人默認都接受了一個名為GPL的使用授權(quán)協(xié)議:凡是其中使用了GNU開源項目源代碼的使用者自己的軟件項目,其源代碼也必須是免費開源的。GNU組織不以收費賺錢為目的,卻以弘揚開源精神為宗旨。對以盈利為目的的嵌入式電子產(chǎn)品廠商來說,這樣的條款無論如何都難以接受。不知名的小廠商或許可以不去管它,尤其是在目前的中國,不過那樣的做法其后果也許沒有使用盜版Windows CE嚴重,性質(zhì)卻是相同的。

2、Windows CE與軟件工程

有了顯著的技術(shù)優(yōu)勢,下面就是Windows CE的使用者如何開發(fā)的問題,或者叫做開發(fā)模式的問題。這里所說的開發(fā)主要指開發(fā)Windows CE操作系統(tǒng)的底層驅(qū)動軟件和上層應(yīng)用軟件,這是需要用戶自己編寫代碼的開發(fā)活動,它們占據(jù)了Windows CE全部開發(fā)工作中的絕大部分工作量。
先來看看在嵌入式Linux環(huán)境下的軟件開發(fā)方式,它代表了傳統(tǒng)的、一般的軟件開發(fā)模式。以BootLoader為例,如果是為嵌入式Linux系統(tǒng)開發(fā)一個起引導(dǎo)加載操作系統(tǒng)作用的BootLoader,則只需對開發(fā)者提出一些表達特點應(yīng)用需求的限定條件:從何處以什么方式獲取操作系統(tǒng)的鏡像文件;如何解析這個鏡像文件的內(nèi)容以獲得操作系統(tǒng)的運行數(shù)據(jù);將最終的操作系統(tǒng)運行時鏡像置于內(nèi)存何處。至于具體怎么實現(xiàn)的技術(shù)細節(jié)問題盡可以留給開發(fā)者自由發(fā)揮,這樣的軟件開發(fā)活動就像考試中的論述題,相當(dāng)自由、相當(dāng)靈活,同時也相當(dāng)隨意并且評分也相當(dāng)主觀。
與嵌入式Linux相對應(yīng),我將Windows CE這種開發(fā)模式命名為“填空題形式”的開發(fā)模式。還是以開發(fā)BootLoader來舉例,Windows CE的用戶沒有了那么大的自由度。微軟提供了一個支持庫,作用是為Windows CE的BootLoader提供一個與具體硬件無關(guān)的軟件框架,它把代碼實現(xiàn)中與硬件無關(guān)的,但是又帶有普遍通用性的內(nèi)容抽取出來,形成標準的函數(shù)庫。與具體硬件有關(guān)的、不具有普遍通用意義的BootLoader代碼,比如負責(zé)下載操作系統(tǒng)鏡像的外設(shè)端口讀寫數(shù)據(jù),則由微軟事先定義好標準的函數(shù)接口和函數(shù)功能定位,由Windows CE的使用者具體負責(zé)開發(fā)實現(xiàn)。這樣的軟件開發(fā)活動不再是開發(fā)者可以隨意自由發(fā)揮的,而是在所限定的軟件大框架之下的標準行為,開發(fā)者的自由度僅限于具體如何實現(xiàn)每一個單獨的預(yù)定義函數(shù)的功能。這種開發(fā)模式有什么好處呢?如果讀者是一位普通的軟件技術(shù)開發(fā)人員,他(她)的第一反應(yīng)也許就是“這種模式可以減少開發(fā)的工作量”。沒錯!在考試中做填空題當(dāng)然要比做論述題來的輕松。而談到廠商,涉及到盈利為目的的企業(yè),開發(fā)模式就不再僅具有技術(shù)層面的意義!
前述的Windows CE的開發(fā)模式就是以技術(shù)的手段確保在軟件開發(fā)工作中的紀律、工序與制度,是“麥當(dāng)勞模式”的軟件開發(fā)。反觀前述的嵌入式Linux環(huán)境下的軟件開發(fā)活動,就是沒有紀律、沒有工序、沒有制度的代表,是“中餐館模式”的軟件研發(fā)?,F(xiàn)在可以得出這樣的結(jié)論:單純地用“好”還是“不好”來評價Windows CE的這種“填空題”形式的開發(fā)模式是沒有意義的,只能說這種開發(fā)模式對使用Windows CE的嵌入式電子產(chǎn)品的廠商是最有利的。

3、Windows CE與嵌入式產(chǎn)品廠商

企業(yè)是以盈利為目的的商業(yè)組織。但是,當(dāng)以賺錢為目的的企業(yè)活動中加入了高科技研發(fā)的成分之后,企業(yè)中有不少人,特別是企業(yè)里的一些專業(yè)技術(shù)人員,潛意識中不再以賺錢為目的,轉(zhuǎn)而以高科技研發(fā)為目的。高科技企業(yè)里的產(chǎn)品研發(fā)活動不是企業(yè)的目的,只是手段,賺錢才是目的,把手段當(dāng)目的,那是本末倒置。高科技企業(yè)里的產(chǎn)品研發(fā)活動的性質(zhì)完全不同于高校和國家科研機構(gòu)里的科研活動。高校和科研機構(gòu)的科研是一種對未知知識的探索過程,科研允許失敗,而且失敗的幾率相當(dāng)大,但是無論失敗還是成功都是都是科研的成果,因為失敗的科研就是一種對科學(xué)假設(shè)的反證??蒲谢顒邮且环N社會性質(zhì)的活動,一般由國家投資,科研成果歸全社會共享。而高科技企業(yè)的產(chǎn)品研發(fā)活動是一種將已知的知識轉(zhuǎn)變成產(chǎn)品使用價值、進而轉(zhuǎn)化成市場財富的過程,研發(fā)不允許失敗,失敗的研發(fā)就是企業(yè)決策和管理的失誤。
高科技的企業(yè)之所以采用高科技作為賺錢的主要手段,是因為高科技能帶來高收益,而伴隨著高收益的往往就是高風(fēng)險。高科技產(chǎn)品帶給企業(yè)的高風(fēng)險主要在于3個方面:①高科技產(chǎn)品研發(fā)失敗,產(chǎn)品沒有做出來;②產(chǎn)品做出來了,但是質(zhì)量不好,導(dǎo)致賣得不好;③產(chǎn)品做出來了,質(zhì)量也很好,但是沒有市場或者有市場卻沒有賣好。前2個技術(shù)層面的風(fēng)險,使高科技企業(yè)的決策者和管理者們要嚴格對產(chǎn)品的研發(fā)管理,就是要做好兩個方面:一是盡快把產(chǎn)品做出來;二是盡可能地把產(chǎn)品的質(zhì)量做好。
顯而易見,微軟以Windows CE操作系統(tǒng)自身的軟件質(zhì)量優(yōu)勢和先進的軟件開發(fā)模式所帶來的管理優(yōu)勢可以確保目標產(chǎn)品的質(zhì)量;除此之外,Windows CE的質(zhì)量優(yōu)勢與開發(fā)模式上的優(yōu)勢也能在一定程度上確保電子廠商順利地快速把產(chǎn)品做出來。
設(shè)想一個消費電子廠商使用嵌入式Linux操作系統(tǒng)來開發(fā)他們的產(chǎn)品會是一個什么樣的狀況。裁剪操作系統(tǒng)內(nèi)核和開發(fā)底層驅(qū)動軟件的工作并不難,一兩個技術(shù)高手就可以解決全部的問題,但是消費電子產(chǎn)品所需要的豐富多彩的用戶體驗從哪里獲得?也許從GNU的開源項目中都能找到嵌入式產(chǎn)品所需要的適用于Linux的應(yīng)用軟件和操作系統(tǒng)特性,拋開GPL的限制條款暫且不談,我想問的是誰來做嵌入式精簡的工作?所有這些軟件的開發(fā)工作需要多長時間?等到產(chǎn)品面世,黃花菜都涼了。那些黑客們,那些軟件高手們,無論個體的技術(shù)如何高超,面對這樣的任務(wù),只能徒呼奈何。
對于大多數(shù)廠商來說,研發(fā)除了要保證“做出來”以外,還有“要做好”的目標。而要做到這兩點,管理完善的高科技企業(yè)通行的方法是盡量將新產(chǎn)品中的新技術(shù)成分減至最低,“不熟的不做”、“只做自己最擅長的”。換言之,企業(yè)管理的觀點認為,高科技帶給企業(yè)的高風(fēng)險并不來源于產(chǎn)品技術(shù)之“高”,而是來源于技術(shù)之“新”。這里的“新”并不是相對于全社會而言的,是指企業(yè)以前沒有用過的技術(shù)。根據(jù)國外高科技企業(yè)研發(fā)新產(chǎn)品的經(jīng)驗,產(chǎn)品中的新技術(shù)的比率超過三分之一,就屬于高風(fēng)險項目,失敗的概率極大。也就是說,一方面要控制產(chǎn)品高技術(shù)的高風(fēng)險,另一方面又不能失去有利的商機,所以必要時他們一般會選擇尋找合作伙伴或者成熟可靠的技術(shù)進行優(yōu)勢互補;那么對于嵌入式領(lǐng)域來說,微軟乃至于它提供的嵌入式Windows CE操作系統(tǒng),就是最好的選擇。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    40

    文章

    3520

    瀏覽量

    128805
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3503

    瀏覽量

    87885
收藏 人收藏

    評論

    相關(guān)推薦

    LabVIEW軟件技術(shù)應(yīng)用

    應(yīng)廣大工程技術(shù)人員的要求,我單位在綜合汲收學(xué)員們的寶貴建議下,決定舉辦“LabVIEW軟件技術(shù)應(yīng)用”。通知相關(guān)事宜如下:咨詢電話:*** QQ: 1329337303時間地點: 2017年7月20日
    發(fā)表于 06-24 16:37

    LabVIEW軟件技術(shù)應(yīng)用

    `在綜合汲收學(xué)員們的寶貴建議下,我單位決定舉辦“LabVIEW軟件技術(shù)應(yīng)用”。通知相關(guān)事宜如下: E_mail:1329337303@qq.com `
    發(fā)表于 06-26 09:28

    數(shù)字傳感器的軟件技術(shù)介紹

    距離遠、穩(wěn)定性好這些優(yōu)點,因為它是被用來將數(shù)字信息技術(shù)融入傳感器的,而傳感器的軟件技術(shù)水平也因此在里面發(fā)揮著重要的作用,一般情況下我們有五種軟件技術(shù),下面扭矩傳感器給您介紹: 標度換算技術(shù)
    發(fā)表于 07-27 09:51

    基于labview的windows ce開發(fā)軟件

    最近在windows ce系統(tǒng)上開發(fā)了一個監(jiān)控軟件,把效果分享給大家,希望對有研究windows ce 系統(tǒng)的朋友一定的啟發(fā)??!照片是用照相
    發(fā)表于 05-24 07:40

    IC-CAP器件建模軟件技術(shù)綜述

    IC-CAP器件建模軟件技術(shù)綜述
    發(fā)表于 09-18 09:25

    如何安全的角度自動駕駛

    安全的角度自動駕駛
    發(fā)表于 01-25 06:42

    基于Windows CE的數(shù)控軟件開發(fā)與實現(xiàn)

    基于Windows CE的數(shù)控軟件開發(fā)與實現(xiàn):本文介紹了嵌入式Windows CE 系統(tǒng)在數(shù)控加工應(yīng)用領(lǐng)域的平臺定制,提出了在
    發(fā)表于 10-13 08:56 ?56次下載

    ARM嵌入式WINDOWS CE實踐教程

    ARM嵌入式WINDOWS CE實踐教程 安裝WINDOWS CE 4.2本節(jié)講述如何安裝Windows
    發(fā)表于 03-01 15:45 ?81次下載

    Windows CE .NET 常見問題與解答

    Windows CE .NET 常見問題與解答 1. Microsoft Windows ® CE .NET®是什么?Microsoft
    發(fā)表于 07-07 10:09 ?1502次閱讀
    <b class='flag-5'>Windows</b> <b class='flag-5'>CE</b> .NET 常見問題與解答

    什么是Windows CE,LynxOS是什么操作系統(tǒng)

    什么是Windows CE   Microsoft Windows CE整體上為有限資源的平臺設(shè)計的多線程、完整優(yōu)
    發(fā)表于 06-17 00:36 ?1838次閱讀

    Windows CE簡介、特點及應(yīng)用

    Windows CE簡介、特點及應(yīng)用 一、Windows CE簡介  
    發(fā)表于 01-11 08:43 ?3808次閱讀

    基于Windows CE的SIP軟件電話設(shè)計

    本文提出了一種基于SIP協(xié)議的軟件電話的軟件結(jié)構(gòu)和設(shè)計實現(xiàn)方案。該方案以嵌入式Windows CE為平臺,中間件采用開源的SIP協(xié)議棧oSIP/eXosip,通過協(xié)議棧的移植和在協(xié)議棧
    發(fā)表于 04-19 15:53 ?26次下載
    基于<b class='flag-5'>Windows</b> <b class='flag-5'>CE</b>的SIP<b class='flag-5'>軟件</b>電話設(shè)計

    Windows CE詳解

    純粹軟件技術(shù)角度 Windows CE ,則可
    發(fā)表于 06-09 15:51 ?67次下載

    基于Windows CE的通信技術(shù)研究

    討論Windows CE所支持的兩種基本通信技術(shù),即串行通信和網(wǎng)絡(luò)通信,如何建立各種串行連接和網(wǎng)絡(luò)連接。
    發(fā)表于 02-14 10:55 ?1279次閱讀
    基于<b class='flag-5'>Windows</b> <b class='flag-5'>CE</b>的通信<b class='flag-5'>技術(shù)</b>研究

    基于Windows CE的移動GIS開發(fā)

    本文介紹了移動式GIS的硬件平臺與軟件平臺,針對移動式GIS的存儲、索引,與GPS的接口等幾個關(guān)鍵技術(shù)進行了闡述,并在Windows CE的環(huán)境下進行移動GIS開發(fā)。
    發(fā)表于 04-18 13:54 ?5次下載