国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

比選擇操作系統更重要的是用好選定的操作系統!

發布時間:2017-8-31 09:40    發布者:技術小白
關鍵詞: 嵌入式 , 操作系統
本文作者為清華大學教授邵貝貝,他本人與嵌入式操作系統有著特殊的感情,對μC/OS在中國的推廣起到了巨大的推動作用。應《單片機與嵌入式系統應用》之邀,邵老師精心梳理了多年來對嵌入式操作系統的理解和看法,希望能對所有嵌入式愛好者和從業者有所啟發。


回想過去,用過或多少了解一點兒的操作系統確有一些。20世紀80年代,一個叫做VMS的操作系統風靡全球,是DEC公司小型機上用的,我國也引進了不少DEC計算機。VMS功能齊全、用戶界面友好,比Unix好用很多,微機的DOS根本無法與之相比,1986年最先讓我們接入因特網的便是VMS。然而曾幾何時,VMS被Unix取代了,接著是Linux。VMS消失主要因為其不開源。后來世界公認最牛、想用卻用不起的VxWorks實時操作系統(RTOS)也不得不開源了。那時蘋果公司的Mac視窗操作系統比PC的Windows好用得多,在操作系統技術方面蘋果至少領先Intel五年,也是由于不開放,Mac輸給了PC。20世紀90年代以后,操作系統不再神秘,開源成為趨勢。

在國外工作期間也接觸過一些RTOS,例如OS-9、QNX等,都是不錯的RTOS,還有Nuclus,多年前開發Motorola的68K時有所接觸,感覺還不錯,是最早開放源碼的RTOS(如今如何就不了解了)。當年在歐洲,由于是客人,只能用主人選定的RTOS。然而,人家認為很好的未必適合你。曾經不得不用到一個歐洲很流行的RTOS,可文檔和程序注解中,英語夾雜著法語,讓我這個對法語一竅不通的人恨死那個操作系統了,盡管有法國朋友熱情幫忙。Freescale曾經力推MQX,很多事情集成開發環境中都已經做好了,也有不少朋友推薦。讀過其部分文檔和代碼后,就是感覺喜歡不起來。選擇操作系統的過程中也走過一段彎路,嘗試過將那個著名的非實時操作系統實時化成RTOS,結果事倍功半,只得放棄了。

目前可選用的操作系統的確很多,哪個好哪個不好,由于知識范圍所限,實在不敢妄加評論。存在的就是合理的。一些生存多年、有業績、口碑好、有團隊支持的操作系統肯定都是可選用的。不同操作系統有各自不同的定位,選擇時首先應考慮本行業認可的操作系統,比選擇操作系統更重要的似乎是如何用好選定的操作系統。

嵌入式RTOS通常僅指系統內核(Kernel),內核是操作系統的核心,用于建立多任務運行環境,管理任務及系統的共享資源。操作系統間的差異主要體現在任務調度策略與算法上,不同操作系統以各自的任務管理方式提供必要的實時性保證,解決多任務環境下可能出現的競爭與死鎖等問題,是嵌入式系統應用工程師開發嵌入式應用的有力工具。任務調度算法也有很多種,如時間片調度法、保證調度算法、最短任務優先、隨機調度法(也稱擲骰子)、多重隊列法、二級調度法等。這些算法基本上可分為兩大類:基于時間片的分時系統和基于優先級的實時系統。基于時間片的多為非實時系統,而嵌入式應用多使用基于優先級的RTOS。除內核外,操作系統通常還需提供與之配套的文件系統、圖形界面、互聯網協議棧、主從USB協議棧、CAN總線協議棧、系統調試工具等,供用戶選配使用。嵌入式RTOS應滿足可裁剪、可固化、可移植等基本要求。

行業認可并推薦的操作系統應該是首選。例如汽車行業,首選自然是符合OSEK標準的操作系統(OSEK-OS)。OSEK源自德國的汽車電子類開放系統和對應接口標準,除實時操作系統OSEK-OS外,還有通信子系統(OSEK-COM)和網絡管理系統(OSEK-NM)。若開發手機應用軟件,在我國自然首選以Java為編程語言的、基于Linux的Android操作系統。

需要自選操作系統的工程師,首先得對各種不同操作系統的內核調度策略有所了解,看看是否適合自己的項目應用。若這方面的知識不夠,建議精讀一兩本關于操作系統的經典教材,以加深對操作系統原理的理解。對于準備使用Linux類型的、有復雜文件系統的、需要MMU硬件支持的非RTOS,建議首先認真讀懂Andrew S. Tanenbaum所著的《操作系統設計與實現》一書。該書自1987年問世以來,至今已出到第3版,講的是一個專門用于教學的、由Unix簡化而來的Minix范例操作系統。正是這本書觸發了LinusB. Torvalds的靈感,寫成了Linux內核,從而被稱作Linux之父。故該教材被公認為Linux原理的權威教材,非常值得細讀。順便提一句,Linux是當前最好的非實時開源操作系統,似乎沒有之一。非要把它改成實時的所謂RT-Linux,我不認為是一個好的做法,不如直接選用那些本來就是為實時系統設計的RTOS。


對于擬選用嵌入式RTOS的工程師,有必要精讀一本Jean J. Labrosse 所著的《嵌入式實時操作系統 μC/OS-II》或《嵌入式實時操作系統 μC/OS-III》,這兩個操作系統都可以直接拿來使用。對于ARM Cortex-M單片機,如果使用Cortex-M3及以上,應使用μC/OS-III,而對于精簡掉CLZ指令的Cortex-M0/M1/M0+等,則仍建議使用μC/OS-II。Cortex-M單片機中的CLZ指令就是專門為優先級算法提供的硬件指令,所用單片機是否帶有專門為操作系統設計的硬件指令,也是選擇操作系統時要考慮的。讀書的同時,特別要注意閱讀并欣賞一下書中所附源代碼,至少是代碼的核心部分。上述推薦讀物中的源碼寫作風格經典規范,注釋清晰易懂,非常漂亮,值得學習。操作系統要選好,更要用好。


既然選了開源系統,就要讀一讀該操作系統的核心代碼,弄清楚該操作系統的特點、大致結構,以判斷任務調度算法是否符合自己的任務要求。讀代碼是對代碼可讀性、代碼質量的最好檢驗。你或許會喜歡上這個操作系統的代碼風格,或許對其感到厭惡而棄之。我的體會,個人感覺也很重要。

所選操作系統必須能和項目的硬件匹配。對于手機類應用,系統偶爾死機未必不可接受。但對于嵌入式應用,若系統死機可能造成難以預料的嚴重后果,那么選擇操作系統和寫開發及測試程序等就要格外小心了。這類系統被稱作安全緊要系統(Safety Critical System),要確保系統安全,不死機或者有故障也能安全,是對這類系統的最低要求。理論上,計算機總是能被“搞死”的,如果操作系統能有什么措施,使系統被搞死的幾率低于硬件損壞的幾率,那就足夠好了。但實踐證明,單靠操作系統和應用軟件并不能保證系統不死機。硬件的可靠性是需要硬件工程師來保證的。那些自稱面向多核單片機的操作系統,在解決系統受到強電磁干擾而出錯的問題上,顯然不及兩套獨立供電的單核系統更為可靠。

如果采用C語言開發對系統安全性要求特別高的安全緊要系統,還要特別注意所選RTOS與MISRA-C編程規范的符合程度,該規范雖然是由汽車工業軟件可靠性聯合會制定的,但在國防、航空航天、電信、鐵路、醫療等領域的用戶遠多于汽車領域。當然首先是嵌入式應用工程師本人開發的C程序,要經得起MISRA檢驗。

以下課程可免費試聽C語言、電子PCBSTM32、Linux、FPGA、JAVA、安卓等。
想學習的你和我聯系預約就可以免費聽課了。
宋工企鵝號:3524-6590-88   Tel/WX:173--1795--1908




本文地址:http://m.qingdxww.cn/thread-516411-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 三叶草未满十八岁| 天天综合天天综合色在线| 一级片视频在线观看| 日本免费在线观看视频| 色综合久久丁香婷婷| 亚洲精品国产专区一区| 91久久综合精品国产丝袜长腿| 蜜桃传媒一区二区亚洲AV | 久久天天婷婷五月俺也去| 亚洲 欧美 中文 日韩 另类| 日本一区二区三区四区五区| 日韩r片| 亚洲人成网站色7799在线播放 | 亚洲精品视频在线观看免费| 国产精品视频国产永久视频| 亚洲国产成人私人影院| 亚洲jjzz| 日本片免费观看一区二区| 手机看片福利永久| 又黄又湿| 果冻传媒AV精品一区| 用快播看av的网站| 香港三级网站| 四虎成人在线视频| 四季影院视频在线完整版观看| 99热这里只有精品9| 日本无码免费久久久精品| 四虎网址在线| 欧美一级免费片| 色网在线视频| a视频在线观看| 欧美性情一线免费http| 色的综合| 色香蕉在线观看| 亚洲视频一| 国产高清视频青青青在线| 谁有成人网站地址| 一本色道久久综合亚洲精品高清| 手机在线播放av| 亚洲天堂影视| 久久全国免费观看视频|