吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

從純粹軟件技術的角度看Windows CE

英創信息技術 ? 作者:英創信息技術 ? 2019-09-30 09:43 ? 次閱讀

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

1、從純粹軟件技術的角度看Windows CE

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

2、Windows CE與軟件工程

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

3、Windows CE與嵌入式產品廠商

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3625

    瀏覽量

    129756
  • WINDOWS
    +關注

    關注

    4

    文章

    3570

    瀏覽量

    89307
收藏 人收藏

    評論

    相關推薦

    LabVIEW軟件技術應用

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

    LabVIEW軟件技術應用

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

    數字傳感器的軟件技術介紹

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

    基于labview的windows ce開發軟件

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

    IC-CAP器件建模軟件技術綜述

    IC-CAP器件建模軟件技術綜述
    發表于 09-18 09:25

    如何安全的角度自動駕駛

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

    基于Windows CE的數控軟件開發與實現

    基于Windows CE的數控軟件開發與實現:本文介紹了嵌入式Windows CE 系統在數控加工應用領域的平臺定制,提出了在
    發表于 10-13 08:56 ?56次下載

    ARM嵌入式WINDOWS CE實踐教程

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

    Windows CE .NET 常見問題與解答

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

    什么是Windows CE,LynxOS是什么操作系統

    什么是Windows CE   Microsoft Windows CE整體上為有限資源的平臺設計的多線程、完整優
    發表于 06-17 00:36 ?1892次閱讀

    Windows CE簡介、特點及應用

    Windows CE簡介、特點及應用 一、Windows CE簡介  
    發表于 01-11 08:43 ?4200次閱讀

    基于Windows CE的SIP軟件電話設計

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

    Windows CE詳解

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

    基于Windows CE的通信技術研究

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

    基于Windows CE的移動GIS開發

    本文介紹了移動式GIS的硬件平臺與軟件平臺,針對移動式GIS的存儲、索引,與GPS的接口等幾個關鍵技術進行了闡述,并在Windows CE的環境下進行移動GIS開發。
    發表于 04-18 13:54 ?5次下載
    皇冠投注平台| 百家乐桌子租| 巴比伦百家乐的玩法技巧和规则| 南宁百家乐赌机| 总玩百家乐有赢的吗| 大发888游戏平台dafa888gw| 大发888下载亚洲城| 梁河县| 百家乐官网玩法的技巧| 百家乐官网赌钱| 百家乐官网玩法官网| 百家乐出千原理| 江山百家乐的玩法技巧和规则| 百家乐缩水工具| 足球心水| 太阳城百家乐官网怎么出千| 百家乐视频多开| 威尼斯人娱乐网代理注| 江口县| 闲和庄百家乐官网的玩法技巧和规则 | 永利百家乐娱乐场| 大发888真人体育| 现金百家乐官网| 网上百家乐官网的赌博网站| 百家乐软件骗人吗| 百家乐赌台| 清流县| 风水24山那个排第一| 威尼斯人娱乐场 新葡京| 班戈县| 爱赢百家乐官网的玩法技巧和规则| 百家乐如何买大小| 新奥博娱乐城体育投注| 百家乐官网龙虎台布作弊技巧| 网络百家乐公式打法| 利记娱乐场| 澳门百家乐官网长赢打| 百家乐娱乐城体验金| 百家乐官网真人娱乐场| 太阳百家乐官网破解| 大发888娱乐场下载iypuqrd|