免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
5G、IoT 爆發(fā)前夕,我們必須了解的操作系統(tǒng)! | 碼書

繼互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)之后,萬物互聯(lián)的物聯(lián)網(wǎng)時代正襲面而來。而作為開發(fā)者,想要入門物聯(lián)網(wǎng),首先需要對該領(lǐng)域的計算機及相關(guān)設(shè)備中唯一管理計算機硬件與軟件資源的計算機程序之操作系統(tǒng)有一個全面的了解。

在本文中,我們將以 IoT OS 的基石嵌入式實時操作系統(tǒng)為核心,解讀物聯(lián)網(wǎng)時代那些不容錯過的操作系統(tǒng)發(fā)展與應用。

何為嵌入式系統(tǒng)操作系統(tǒng)?

嵌入式系統(tǒng)是一種完全嵌入在裝置或設(shè)備內(nèi)部為滿足特定需求而設(shè)計的計算機系統(tǒng),生活中常見的嵌入式系統(tǒng)就有:電視機頂盒、路由器、電冰箱、微波爐與移動電話等。它們都具有某種特定的功能:對于電視機頂盒而言,它用來播放網(wǎng)絡(luò)中的電視節(jié)目;同樣,路由器用于選擇最優(yōu)路徑并正確轉(zhuǎn)發(fā)網(wǎng)絡(luò)報文。這類系統(tǒng)專用性強、功能相對單一,通常只針對特定的外部輸入進行處理,然后給出相應的結(jié)果,這樣的特點使得嵌入式系統(tǒng)只需具備相匹配的少量硬件資源,就可完成所需的特定功能,因而能使成本得到有效的控制。

通用計算機系統(tǒng)則恰恰相反,它們并不針對特定的需求,而是盡可能地去滿足各種需求,甚至在構(gòu)造硬件系統(tǒng)時還會考慮未來幾年的需求變化。例如,在人們購買電腦時,在自身有限的資金情況下,都希望盡可能獲得更高端的性能,用于多媒體、游戲及工作等。

嵌入式系統(tǒng)硬件框圖

嵌入式系統(tǒng)的硬件設(shè)備由一些芯片及電路組成,包括主控芯片、電源管理、開發(fā)調(diào)試時用到的JTAG接口,也可能包含一些數(shù)據(jù)采集模塊、通信模塊及音頻/視頻模塊等。

實時系統(tǒng)

系統(tǒng)的實時性指的是在固定的時間內(nèi)正確地對外部事件做出響應。在這段“時間內(nèi)”,系統(tǒng)內(nèi)部會做一些處理,例如輸入數(shù)據(jù)的分析計算、加工處理等。而在這段時間之外,系統(tǒng)可能會空閑下來,做一些空余的事。以一個手機終端為例:當一個電話撥入的時候,系統(tǒng)應當及時發(fā)出振鈴、聲音提示以通知主人有來電,詢問是否進行接聽;而在非電話撥入的時候,人們可以用它進行一些其他操作,例如聽音樂、玩游戲等。

從上面的例子我們可以看出,實時系統(tǒng)是一種需求傾向性的系統(tǒng),對于實時的任務需要在第一時間內(nèi)做出回應,而對非實時任務則可以在實時事件到達時為之讓路——被搶占。所以也可以將實時系統(tǒng)看成是一個等級系統(tǒng),不同重要性的任務具有不同的優(yōu)先等級:重要的任務能夠優(yōu)先被響應執(zhí)行,非重要的任務可以適當往后推遲。

實時計算可以定義成這樣一類計算,即系統(tǒng)的正確性不僅取決于計算的邏輯結(jié)果,還依賴于產(chǎn)生結(jié)果的時間。有兩個關(guān)鍵點,即正確地完成和在給定的時間內(nèi)完成,且兩者重要性是等同的。如果計算結(jié)果出錯,這將不是一個正確的系統(tǒng),而計算結(jié)果正確,但計算所耗費的時間已經(jīng)偏離需求設(shè)定的時間,那么這也不是一個實時系統(tǒng)。下圖中描述了一個實時系統(tǒng)。

對于輸入的信號、事件,實時系統(tǒng)必須能夠在規(guī)定的時間內(nèi)得到正確的響應,而不管這些事件是單一事件、多重事件,還是同步信號或異步信號。

舉一個例子說明:假設(shè)一顆子彈從20米外射向一個玻璃杯,子彈的速度是v米/秒,那么經(jīng)過t1=20/v秒后,子彈將擊碎玻璃杯。而如果有一個保護系統(tǒng)在檢測到子彈射出后,把玻璃杯拿走了,假設(shè)整個過程持續(xù)t2秒的時間,如果t2<t1,玻璃杯就不會被擊碎,那么就可以將這個系統(tǒng)看成是一個實時系統(tǒng)。

實時系統(tǒng)

和嵌入式系統(tǒng)類似,實時系統(tǒng)中也存在一定的計算單元,這些單元可對系統(tǒng)的環(huán)境及其內(nèi)部的應用做出預計,這也就是很多關(guān)于實時系統(tǒng)的書中所談及的可確定性,即系統(tǒng)可以在給定的時間(t秒)內(nèi)對一個給定事件做出響應。多個事件、多個輸入的系統(tǒng)響應的可確定性構(gòu)成了整個實時系統(tǒng)的可確定性(實時系統(tǒng)并不代表著對所有輸入事件具備實時響應,而是在指定的時間內(nèi)完成對事件的響應)。嵌入式系統(tǒng)的應用領(lǐng)域十分廣泛,我們并不是要求所有的專用功能都具備實時性,只有當系統(tǒng)對任務有嚴格時間限定時,我們才關(guān)注它的實時性問題。具體的例子包括實驗控制、過程控制設(shè)備、機器人、空中交通管制、遠程通信、軍事指揮與控制系統(tǒng)等。而對打印機這樣一個嵌入式應用系統(tǒng),人們并沒有嚴格的時間限定,只有一個“盡可能快”的期望要求,因此,這樣的系統(tǒng)稱不上是實時系統(tǒng)。

軟實時與硬實時

正如上面所描述的,實時系統(tǒng)關(guān)注的不外乎兩點,即時間的正確性和功能的正確性。事實上,衡量一個實時系統(tǒng)的正確性正是如此,就是要求系統(tǒng)能在給定的時間內(nèi)正確地完成相應的任務。但現(xiàn)實中也存在這樣一種系統(tǒng),即在多數(shù)情況下,它能夠嚴格地在規(guī)定的時間內(nèi)完成任務,但偶爾它也會稍微超出這個給定的時間范圍才能正確地完成任務,我們通常把這種系統(tǒng)稱為軟實時系統(tǒng)。從系統(tǒng)對規(guī)定時間的敏感性的要求來看,實時系統(tǒng)可以分為硬實時系統(tǒng)和軟實時系統(tǒng)。

硬實時系統(tǒng)嚴格限定在規(guī)定的時間內(nèi)完成任務,否則就可能導致災難的發(fā)生,例如導彈攔截系統(tǒng),汽車引擎系統(tǒng)等,當這些系統(tǒng)不能滿足規(guī)定的響應時間時,即使只是偶爾,也將導致車毀人亡等重大災難的發(fā)生。

軟實時系統(tǒng),可以允許偶爾出現(xiàn)一定的時間偏差,但是隨著時間的偏移,整個系統(tǒng)的正確性也會隨之下降,例如可以將一個DVD播放系統(tǒng)看成一個軟實時系統(tǒng),允許它偶爾出現(xiàn)畫面或聲音延遲。

下圖繪制了這三種系統(tǒng)(非實時系統(tǒng)、軟實時系統(tǒng)和硬實時系統(tǒng))的時效關(guān)系。

時間與效用的關(guān)系

從上圖中我們可以看出,當事件觸發(fā),在時間t內(nèi)完成,則三類系統(tǒng)的效用是相同的。但是當完成時間超出時間t時,則效用發(fā)生了變化。

  • 非實時系統(tǒng):超過規(guī)定的時間t后,其效用緩慢下降。

  • 軟實時系統(tǒng):超過規(guī)定的時間t后,其效用迅速下降。

  • 硬實時系統(tǒng):超過規(guī)定的時間t后,其效用立即歸零。

嵌入式實時操作系統(tǒng)

在嵌入式設(shè)備中,除嵌入式操作系統(tǒng)之外,還有裸機程序,在主函數(shù)中編寫一個大循環(huán),循環(huán)中是各個任務的功能實現(xiàn),而所有的任務都是平級順序執(zhí)行,下一個任務必須等待上一個任務運行完畢才能開始運行,這個運行著的大循環(huán)我們稱之為后臺程序。中斷可以打斷系統(tǒng)當前的后臺任務優(yōu)先執(zhí)行,等中斷處理完畢,再回到原先后臺被中斷處繼續(xù)執(zhí)行后臺程序,中斷處理程序稱為前臺程序。下圖所示是一個前后臺系統(tǒng)。

前后臺系統(tǒng)

這樣的前后臺系統(tǒng)在實時性處理方面存在缺陷,例如任務1是重要任務,需要能夠得到及時響應,在運行任務4的時候,產(chǎn)生中斷,執(zhí)行任務1的條件被滿足,最理想的快速響應方式是任務1立即被投入運行,但是在前后臺程序中做不到,因為任務是被順序執(zhí)行的,即使任務1焦急萬分,也必須等待任務4處理完畢后才能被運行。

嵌入式實時操作系統(tǒng)被設(shè)計成為一個搶占式系統(tǒng),能夠解決上述的實時性問題,它把任務分為不同的優(yōu)先級,當運行條件被滿足時,高優(yōu)先級任務可以打斷低優(yōu)先級任務優(yōu)先運行,從而極大地提高了系統(tǒng)實時性。實時操作系統(tǒng)執(zhí)行任務示意圖如下圖所示。

實時操作系統(tǒng)

當然,嵌入式實時操作系統(tǒng)相比前后臺程序,不僅有實時性方面的進步,它在多任務管理、任務間通信、內(nèi)存管理、定時器管理、設(shè)備管理等方面,也提供了一套完整的機制,極大程度上便利了嵌入式應用程序的開發(fā)、管理和維護。如果要和桌面操作系統(tǒng)進行類比,那么前后臺程序開發(fā)好比直接使用BIOS進行開發(fā),而使用嵌入式實時操作系統(tǒng)好比在Windows上進行應用開發(fā)。

總體來說,嵌入式操作系統(tǒng)是應用于嵌入式系統(tǒng)的軟件,用來對接嵌入式底層硬件與上層應用軟件,操作系統(tǒng)將底層驅(qū)動封裝起來為開發(fā)者提供功能接口,極大地提高了應用程序的開發(fā)效率。

主流嵌入式實時操作系統(tǒng)

uC/OS是美國的一款RTOS,發(fā)布于1992年。2001年,北航的邵貝貝教授第一次將有關(guān)uC/OS的書籍翻譯成中文,該書出版后獲得了大量好評,當時該書遇上了“嵌入式系統(tǒng)開發(fā)”風口,大量的高校學生開始學習嵌入式系統(tǒng),將該書作為學習嵌入式操作系統(tǒng)的入門書籍,將學習的內(nèi)容帶入各類項目和產(chǎn)品后,它的特點才漸漸嶄露頭角。在2010年以前,uC/OS一直是國內(nèi)大多企業(yè)的首選RTOS。2010年以后,開源免費的RTOS開始流行,而uC/OS本身的商業(yè)收費策略一直未能及時調(diào)整,導致很多廠商轉(zhuǎn)而選擇開源免費的操作系統(tǒng),如FreeRTOS、RT-Thread。

FreeRTOS誕生于2003年,按照開源、免費的策略發(fā)布,可用于任何商業(yè)和非商業(yè)場合。2004年,英國的ARM公司推出第一款基于ARMv7-M架構(gòu)的Cortex-M3 IP核,主打高性價比的MCU市場,隨后美國德州儀器公司推出了第一款基于Cortex-M3內(nèi)核的MCU,接下來意法半導體、恩智浦、飛思卡爾、愛特梅爾等歐美廠商相繼推出了基于Cortex-M內(nèi)核的MCU,出于性價比的考慮,這些廠商都選擇了FreeRTOS作為芯片默認使用的嵌入式操作系統(tǒng),趁著這波熱潮,F(xiàn)reeRTOS迅速崛起,在國內(nèi)外流行開來。

RT-Thread是國內(nèi)的一款嵌入式實時操作系統(tǒng),誕生于2006年,許可證類似FreeRTOS,以開源、免費的方式進行發(fā)布。與FreeRTOS和uC/OS不同的是,RT-Thread自創(chuàng)建之初的定位就不僅是一個RTOS內(nèi)核,而是包含網(wǎng)絡(luò)、文件系統(tǒng)、GUI界面等組件的中間件平臺,它秉承開源、免費的思想,積聚吸收社區(qū)的力量來不斷發(fā)展壯大。經(jīng)過十多年的積淀,RT-Thread已經(jīng)成為一款知名度較高、口碑極佳、高度穩(wěn)定可靠的實時操作系統(tǒng)。RT-Thread支持市面上所有的主流編譯工具,如IAR、GCC、Keil等;在硬件支持方面,它完成了超過50款MCU芯片和所有主流CPU架構(gòu)上的移植工作,包括ARM、MIPS、C-Sky、Xtensa、Andes與RISC-V等。在行業(yè)應用上,因為RT-Thread的高可靠性和組件豐富等特點,它被廣泛應用于安防、醫(yī)療、新能源、車載、北斗導航以及消費電子等眾多行業(yè)。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
掌握這五大嵌入式操作系統(tǒng),你就是STM32牛人
嵌入式系統(tǒng)簡介
嵌入式操作系統(tǒng)簡介以及發(fā)展史
嵌入式系統(tǒng)
uc-OS和linux
嵌入式實時多任務操作系統(tǒng)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服