• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      比選擇操作系統(tǒng)更重要的是用好選定的操作系統(tǒng)

      2017-04-16 16:47:22
      關(guān)鍵詞:死機內(nèi)核開源

      比選擇操作系統(tǒng)更重要的是用好選定的操作系統(tǒng)

      清華大學(xué)邵貝貝

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

      別人認(rèn)為好的未必適合自己

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

      用好操作系統(tǒng)更重要

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

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

      優(yōu)先選擇行業(yè)認(rèn)可的操作系統(tǒng)

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

      需要自選操作系統(tǒng)的工程師,首先得對各種不同操作系統(tǒng)的內(nèi)核調(diào)度策略有所了解,看看是否適合自己的項目應(yīng)用。若這方面的知識不夠,建議精讀一兩本關(guān)于操作系統(tǒng)的經(jīng)典教材,以加深對操作系統(tǒng)原理的理解。對于準(zhǔn)備使用Linux類型的、有復(fù)雜文件系統(tǒng)的、需要MMU硬件支持的非RTOS,建議首先認(rèn)真讀懂Andrew S. Tanenbaum所著的《操作系統(tǒng)設(shè)計與實現(xiàn)》一書。該書自1987年問世以來,至今已出到第3版,講的是一個專門用于教學(xué)的、由Unix簡化而來的Minix范例操作系統(tǒng)。正是這本書觸發(fā)了LinusB. Torvalds的靈感,寫成了Linux內(nèi)核,從而被稱作Linux之父。故該教材被公認(rèn)為Linux原理的權(quán)威教材,非常值得細(xì)讀。

      順便提一句,Linux是當(dāng)前最好的非實時開源操作系統(tǒng),似乎沒有之一。非要把它改成實時的所謂RT-Linux,我不認(rèn)為是一個好的做法,不如直接選用那些本來就是為實時系統(tǒng)設(shè)計的RTOS。

      嵌入式RTOS推薦學(xué)習(xí)μC/OS

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

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

      操作系統(tǒng)必須與硬件匹配

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

      2017-08-02)

      猜你喜歡
      死機內(nèi)核開源
      電腦死機時在干什么
      電腦報(2022年49期)2023-01-01 03:42:10
      提醒
      萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      五毛錢能買多少頭牛
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護機制研究
      臉?biāo)罊C了
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      霞浦县| 弥渡县| 公安县| 慈溪市| 日照市| 陇南市| 建湖县| 浦北县| 寻甸| 新干县| 孝昌县| 永城市| 兴城市| 宁蒗| 长泰县| 称多县| 阳原县| 桓台县| 高淳县| 班玛县| 武清区| 北辰区| 称多县| 应城市| 全南县| 炉霍县| 普安县| 会宁县| 米泉市| 竹北市| 韩城市| 玛多县| 海宁市| 普兰店市| 鲁甸县| 措美县| 辽源市| 浦城县| 贵港市| 汕尾市| 会泽县|