閱讀原文 .Net 無需操作系統直接運行

.NET三大家族(.Net Framework,.Net Compact Framework,.Net Micro Framework)中的.NET Micro Framework(簡稱.NET MF)可以不需要操作系統,直接在硬件上運行起來,而另外兩個則離不開操作系統的支持。
    
視頻:http://www.youtube.com/watch?v=id11Ilqvq4k&feature=related
      http://www.youtube.com/watch?v=Msog8JskoDk&feature=related
rurl4_b=2f6859287baacb28ccf4f0e65929114575f73aa65b2b7c53e92ccd80997e43baaaf98dc84be6e8e328c548d45ed0aa7a98a3c4d957091019753be1fae5f66e74be66e53b45129faad552b53b0fcc483d5219253c
    就.NET Micro Framework來說,“它是微軟公司基於.NET平臺,主要針對硬件資源非常稀少、有限的嵌入式應用而設計的快速嵌入式開發技術。它針對傳統的 SOC、MCU市場設計,可以運行在ARM7/ARM9之上,對於低端的ARM7處理器,可以不具備存儲器管理單元(MMU),而存儲器方面更是隻要 300KB左右的容量即可運作。特別適合Windows Vista Sideshow、遠程控制、智能家電、醫療電子、零售終端以及汽車電子等行業應用場景。並且用戶使用統一的Visual Studio .NET平臺和託管代碼(C#)開發產品應用(包括設備驅動)顯著的降低了廠商開發門檻,節約了大量開發時間和開發成本。”以上來自微軟官方介紹,參考http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx
      .NET MF面向的是CPU處理能力和存儲能力極其有限的設備。雖然微軟擁有Windows CEWindows XP Embedded.NET Compact Framework,可以完成絕大多數嵌入式開發,但對於更普遍的家用電器領域(如電視、手錶、洗衣機等),這些平臺還是顯得太大了些。可以想象,給你的電冰箱裝塊硬盤是多麼搞笑的事。而.NET MF的出現,則標誌着微軟又向百姓生活邁進了一步,讓所有家電都“智能”起來,已經是一個不遠的夢。因爲所需要的僅是便宜的,ARM處理器一些RAMFlash存儲器。

     .NET MF是微軟推出的嵌入式平臺、專門用於處理能力和存儲能力都更加有限的設備。既然微軟已經擁有.NET Compact Framework(簡稱.NET CF),爲什麼還要再提供.NET MF呢?設備的限制是一個很重要的原因,.NET CF畢竟還是要求設備有比較強的處理和存儲能力。兩者重要的一個區別在於,.NET CF需要有Windows CE系列OS的支持才能得以運作,而.NET MF則提供了一個可引導的運行時環境。
     在.NET MF中,操作系統倒成了可選的組成部分。
既然.NET MF是可引導的,那麼它實際上也相當於一個帶有運行時環境的操作系統。那麼,它又和Windows CEWindows XP Embedded操作系統有哪些區別呢?下面的表格對比了幾種平臺的區別。
Selecting An Embedded Platform .NET Micro FrameworkWindows CEWindows XPeExample DevicesSensor Nodes, Aux displays, Health Monitoring, Remote Controls, RoboticsGPS Handhelds, PDAs,
Automotive, Set Top Boxes
Thin Clients, ATMs, KiosksDevice FeaturesConnected, Small, Wearable, Graphical UIConnected, Graphical UI, Server, Browser, RAS, DirectXPCclass performance,
PC networking
Footprint250-500KB managed code
Full featured
300KB+ without managed code
12MB with managed code
40MB + Depending on featuresPowerVery low powerLow powerMains powerCPUARM7, ARM9, No MMUX86, MIPS, SH4, ARM,
with MMU
X86Real-timeNot Real-timeHard Real-timeReal-time capable through 3rd party extensionsManaged vs. Native CodeManaged via .NET Micro Framework,
native code through interop only.
Supports both,
managed code requires .NET Compact Framework
Supports both, managed code
requires .NET Framework


   從上表可以看出,無論是資源佔用還是耗電,.NET MF都要優於另外兩種OS。但是,我們也看到了,在實時性方面,.NET MF並不是一款實時的運行時環境。這可能需要我們注意的一個重要方面。

在工業應用中,實時性往往是評判一個嵌入式系統的重要因素,這就意味着,.NET MF並不適用於重要的控制領域。不過,一般工業用系統都不會面臨硬件過分有限的困境,完全可以使用WinCEXPe作爲基礎OS

反觀民用領域,嵌入式應用正在逐漸滲透人們的生活。而當面對普通消費者時,評判一個嵌入式系統的重要標準——AndersLiu認爲——就應該是:低成本。這包括兩個方面,一是低的造價(軟硬件成本,價格),另外一方面就是易用(這可以理解爲學習成本和時間成本)。畢竟老百姓買不起和機牀一樣價格的洗衣機,也不希望像操作機牀那樣操作微波爐。

因此,民用嵌入式設備往往通過較低的硬件配置來降低價格,並通過適量(通常比較少)的按鍵和顯示內容來降低使用複雜度。而這一切,都是.NET MF得以大顯身手的地方。

可以看出,微軟關於.NET MF的定位還是相當明確的——面向民用低成本嵌入式市場。下圖是流行過一陣的新聞圖片,傳聞Gates腕上的SmartWatch中安裝的,就是.NET MF的原型。
rurl4_b=2f6859287baacb28ccf4f0e6592911450109f33fe2d4847378d4bcaea06234843e33abf278dcd25dfc851ce234a3f23011434a09c155d0b4dd1ac564954328e5ac7b55a7c4e326f82278613aec3a4d42e42dc46f
    下圖給出了.NET MF的技術架構。相較於.NET Framework.NET MF多出了CLR之下的PAL(平臺適配層,Platform Adaptation Layer)和HAL(硬件適配層,Hardware Adaptation Layer,這兩層使得.NET MF可以直接運行在硬件上,並提供基本的TimerIO和內存管理等功能。而HAL也可以通過OS代替,在硬件資源相對充裕的情況下,這可以降低.NET MF的設計複雜度,並提供更多功能
    rurl4_b=2f6859287baacb28ccf4f0e659291145a58b2cc789d5addef273db8766f9ad9dc61d92427f655131e3d44958ee609f72659ba19069cf3203e6ab3cf7be485510e4b928b0f2a9c3f148af98cc2e75937fad06be73
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章