一文教你RTOS和Android操作系統(tǒng)設(shè)計(jì)
兩個(gè)操作系統(tǒng)經(jīng)常一起應(yīng)用
Android手機(jī)的雙MCU
1. AP(Application Processor)是ARM架構(gòu)搭載Android,運(yùn)行系統(tǒng)和應(yīng)用,由于高功耗待機(jī)時(shí)和WIFI、LCD均休眠。
2. BP(BaseBand Processor)架構(gòu)搭載RTOS,運(yùn)行通信協(xié)議、射頻、GPIO,低功耗。
TP_Link小白路由的雙系統(tǒng)
1. 搭載Android4.2,運(yùn)行APP加強(qiáng)應(yīng)用功能。
2. 搭載RTOS,完成安全、嚴(yán)密、專業(yè)的路由功能。
高通驍龍810/7系列處理器
1. 一個(gè)ARM運(yùn)行基于Linux的Android OS。
2. 一個(gè)ARM運(yùn)行(RTOS)。
適用于 TI 處理器的可擴(kuò)展 Linux 和 TI RTOS 解決方案
查資料過程中,發(fā)現(xiàn)TI也提供了一套基于自己家處理器的可擴(kuò)展Linux、Android、RTOS解決方案,同樣的處理器,可選的SDK和操作系統(tǒng),也是棒。
當(dāng)然Android做為操作系統(tǒng)更為豐滿,更上層,而實(shí)時(shí)操作系統(tǒng)比如ucos,比如最近在學(xué)的rtos,都僅提供了任務(wù)調(diào)度、同步、互斥、時(shí)鐘等功能,所以必須內(nèi)核組,BSP&DSP,應(yīng)用軟件開發(fā)人員再向這個(gè)骨架中填充(移植)血肉:lwip(小型TCP/IP協(xié)議棧), fatfs(文件系統(tǒng)), driver(各種外設(shè)驅(qū)動(dòng)), framework, ucGUI, bsp等。
通用操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)
1.通用操作系統(tǒng)的設(shè)計(jì)注重每次執(zhí)行的平均響應(yīng)時(shí)間而不關(guān)心某次特定執(zhí)行的響應(yīng)時(shí)間。通用操作系統(tǒng)中采用的很多策略和技巧都體現(xiàn)出了這種設(shè)計(jì)原則。
大型的os代碼包括的內(nèi)容很多,就拿linux來說,它就包括了調(diào)度、文件、網(wǎng)絡(luò)、驅(qū)動(dòng)等完整的代碼內(nèi)容。
2.對(duì)于實(shí)時(shí)操作系統(tǒng),它除了要滿足應(yīng)用的功能需求以外,更重要的是還要滿足應(yīng)用提出的實(shí)時(shí)性要求,而組成一個(gè)應(yīng)用的眾多實(shí)時(shí)任務(wù)對(duì)于實(shí)時(shí)性的要求是各不相同的,此外實(shí)時(shí)任務(wù)之間可能還會(huì)有一些復(fù)雜的關(guān)聯(lián)和同步關(guān)系,如執(zhí)行順序限制、共享資源的互斥訪問要求等,這就為系統(tǒng)實(shí)時(shí)性的保證帶來了很大的困難。因此,實(shí)時(shí)操作系統(tǒng)所遵循的最重要的設(shè)計(jì)原則是:采用各種算法和策略,始終保證系統(tǒng)行為的可預(yù)測(cè)性predictability)
而一般的RTOS呢,就拿大家熟悉的ucos2來說,只是包含了調(diào)度、同步、互斥、時(shí)鐘等代碼。如果系統(tǒng)工程師需要拿ucos2來做一個(gè)項(xiàng)目,那么他還需要bsp、lwip、ucGUI、fatfs、driver、framework等很多代碼才能組成一個(gè)完成的系統(tǒng)。
可預(yù)測(cè)性是指在系統(tǒng)運(yùn)行的任何時(shí)刻,在任何情況下,實(shí)時(shí)操作系統(tǒng)的資源調(diào)配策略都能為爭(zhēng)奪資源(包括CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等)的多個(gè)實(shí)時(shí)任務(wù)合理地分配資源,使每個(gè)實(shí)時(shí)任務(wù)的實(shí)時(shí)性要求都能得到滿足。與通用操作系統(tǒng)不同,實(shí)時(shí)操作系統(tǒng)注重的不是系統(tǒng)的平均表現(xiàn),而是要求每個(gè)實(shí)時(shí)任務(wù)在最壞情況下都要滿足其實(shí)時(shí)性要求,也就是說,實(shí)時(shí)操作系統(tǒng)注重的是個(gè)體表現(xiàn),更準(zhǔn)確地講是個(gè)體最壞情況表現(xiàn)。
3.差別比較之處
幾個(gè)主要差別的地方:
(1)任務(wù)調(diào)度策略不同。
(2)內(nèi)存管理方式不同。
(3)中斷處理方式。
(3)系統(tǒng)管理方式不同。
(轉(zhuǎn)自嵌入式專欄)
1.2021年第8期《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》電子刊新鮮出爐!
2.為了興趣愛好,我該選嵌入式么?
3.編碼的終極意義:軟件工程師出身CEO的好處!
4.嵌入式工程師掌握編程的幾個(gè)要素
5.Cortex-M中斷向量表原理及其重定向方法~
6.如何在MCU上高效地管理內(nèi)存?
RTOS(Real-Time Operating System)是一種實(shí)時(shí)操作系統(tǒng),被廣泛應(yīng)用于嵌入式系統(tǒng)。相對(duì)于普通操作系統(tǒng),它具有更快的啟動(dòng)時(shí)間和更小的內(nèi)存占用,以及實(shí)時(shí)性、可靠性等方面的優(yōu)勢(shì)。
1.什么是RTOS系統(tǒng)
RTOS是一種實(shí)時(shí)操作系統(tǒng),不同于普通的桌面或服務(wù)器操作系統(tǒng),它專門為嵌入式設(shè)備而設(shè)計(jì),具有更高的實(shí)時(shí)性要求。
RTOS最大的特點(diǎn)是快速響應(yīng)外部事件的能力,當(dāng)外部事件(例如按鍵、傳感器數(shù)據(jù)等)發(fā)生時(shí),RTOS可在非常短的時(shí)間內(nèi)完成相應(yīng)的處理,并保證系統(tǒng)穩(wěn)定運(yùn)行,不會(huì)出現(xiàn)死機(jī)等問題。
2.RTOS與普通操作系統(tǒng)的區(qū)別
普通操作系統(tǒng)主要用于桌面電腦、服務(wù)器等大型計(jì)算設(shè)備上,重點(diǎn)關(guān)注用戶體驗(yàn)、多任務(wù)處理和資源管理等方面。
而RTOS則主要應(yīng)用于嵌入式設(shè)備上,關(guān)注實(shí)時(shí)性、響應(yīng)速度和資源占用等方面。由于嵌入式設(shè)備通常有較小的處理器和內(nèi)存,并且需要在特定時(shí)間內(nèi)完成一些任務(wù),因此RTOS的設(shè)計(jì)目標(biāo)是優(yōu)化執(zhí)行效率,盡可能減少資源消耗,并提高系統(tǒng)的可靠性和穩(wěn)定性。
3.RTOS的優(yōu)點(diǎn)
相對(duì)于普通操作系統(tǒng),RTOS具有以下優(yōu)點(diǎn):
快速啟動(dòng)時(shí)間:由于RTOS只需要加載必需的組件,因此通??梢栽趲缀撩雰?nèi)啟動(dòng)。
小內(nèi)存占用:RTOS適用于內(nèi)存較小的嵌入式設(shè)備,因此其內(nèi)存占用量通常比普通操作系統(tǒng)更小。
可預(yù)測(cè)性:RTOS保證任務(wù)完成的時(shí)間,當(dāng)出現(xiàn)高負(fù)載情況時(shí),它不會(huì)像普通操作系統(tǒng)那樣導(dǎo)致任務(wù)延遲。
實(shí)時(shí)性:RTOS響應(yīng)外部事件的速度非常快,一旦事件發(fā)生,可在非常短的時(shí)間內(nèi)完成相應(yīng)的處理。
穩(wěn)定性:RTOS的設(shè)計(jì)目標(biāo)是最大限度地減少錯(cuò)誤和故障,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。