并非所有的操作系統(tǒng)都是平等構(gòu)建的。事實(shí)上,在多任務(wù)處理、開銷、內(nèi)存使用等方面有很多不同。當(dāng)涉及到為設(shè)備選擇合適的系統(tǒng)時(shí),這一系列的選擇可能會使嵌入式開發(fā)人員感到困難。
一種特別適合連接設(shè)備(至少是基本設(shè)備)的類型是裸機(jī)。正如裸機(jī)服務(wù)器一次只能承載一個租戶一樣,裸機(jī)環(huán)境完全專用于運(yùn)行單個應(yīng)用程序。這與同時(shí)運(yùn)行多個程序的常規(guī)操作系統(tǒng)形成了鮮明對比。
RTOS:處理復(fù)雜的調(diào)度
與同類產(chǎn)品相比,裸機(jī)的簡單性尤為明顯。裸機(jī)系統(tǒng)的下一步是RTOS(實(shí)時(shí)操作系統(tǒng))。RTOS的設(shè)計(jì)相對簡單,但與裸機(jī)不同,它可以同時(shí)啟動和停止不同的進(jìn)程。另一方面,RTOS不如OS強(qiáng)大。最大的區(qū)別通常是內(nèi)存保護(hù)和虛擬化。
在高端操作系統(tǒng)中,應(yīng)用程序內(nèi)存是分開的,操作系統(tǒng)確保一個進(jìn)程(正在運(yùn)行的應(yīng)用程序)不會損壞另一個進(jìn)程的內(nèi)存,這是通過虛擬化內(nèi)存來實(shí)現(xiàn)的,這使得操作系統(tǒng)可以在不使用時(shí)將未使用的內(nèi)存交換到磁盤上。RTOS中通常不存在高級內(nèi)存處理。
這種級別的高級資源管理(內(nèi)存、磁盤、網(wǎng)絡(luò)、CPU)在應(yīng)用于一般系統(tǒng)(如PC)時(shí)非常有用。但是,在小型嵌入式設(shè)備上,這是不同的,因?yàn)槟阃ǔσ韵路矫嬗泻芎玫牧私猓?/span>
需要運(yùn)行多少個應(yīng)用程序/進(jìn)程
這些應(yīng)用程序/進(jìn)程需要什么內(nèi)存
確保這些過程不會相互干擾。
在某些領(lǐng)域,RTOS被物聯(lián)網(wǎng)應(yīng)用所青睞,因?yàn)樗梢蕴幚泶蠖鄶?shù)互聯(lián)網(wǎng)連接嵌入式系統(tǒng)所需的復(fù)雜調(diào)度。此外,將USB、TCP/IP和GUI組件集成到裸機(jī)系統(tǒng)中對于嵌入式開發(fā)人員來說非常耗時(shí)和復(fù)雜。
OS:在較重的方面
在RTOS之上的另一個步驟,或者更像是一個巨大的飛躍,是一個成熟的操作系統(tǒng)。此操作系統(tǒng)選項(xiàng)與裸機(jī)處于光譜的另一端。雖然裸機(jī)和RTSO有一些相似之處,例如減少了開銷和有效的內(nèi)存使用,但裸機(jī)和操作系統(tǒng)實(shí)際上沒有相似之處。
你可能會認(rèn)為傳統(tǒng)的操作系統(tǒng)受到開發(fā)者的反對,對于簡單的物聯(lián)網(wǎng)設(shè)備來說太重了,但是,你錯了。還有一個著名且廣泛使用的操作系統(tǒng)是Linux,它通常是嵌入式系統(tǒng)的固定設(shè)備。
決定什么適合你的物聯(lián)網(wǎng)設(shè)備將取決于使用情況。簡單的傳感器和基本設(shè)備根本不需要高端操作系統(tǒng)的處理能力,而且可能會從精簡的裸機(jī)方法中獲益。
另一個重要的注意事項(xiàng)是,盡管裸機(jī)開發(fā)非常耗時(shí),但許多嵌入式開發(fā)人員確實(shí)更愿意投入額外的工作。這是因?yàn)楣芾淼迷蕉啵憧刂剖虑榈哪芰驮綇?qiáng)。
當(dāng)然,并非所有的閃光都是金子,值得一提的是裸機(jī)環(huán)境的局限性。裸機(jī)的成本之一是性能損失,因?yàn)槟惚仨毻ㄟ^操作系統(tǒng)與硬件進(jìn)行通信,但跨平臺的所有硬件也需要統(tǒng)一,并且外觀相同。因此,某些功能可能會在操作系統(tǒng)驅(qū)動程序中丟失。
同時(shí),對于物聯(lián)網(wǎng)設(shè)備來說,這一點(diǎn)尤為重要,互聯(lián)網(wǎng)通信的需求有時(shí)會促使開發(fā)人員轉(zhuǎn)向RTOS而不是裸機(jī)。這是因?yàn)閕nternet通信要求單個應(yīng)用程序現(xiàn)在與TCP/IP通信堆棧進(jìn)行多路復(fù)用,TCP/IP通信堆棧有時(shí)需要自己的線程,在RTOS上處理起來可能更簡單。
但總的來說,裸機(jī)確實(shí)為那些有基本需求的設(shè)備提供了理想的功能。由于缺乏開銷、高效使用內(nèi)存以及對應(yīng)用程序硬件的完全控制,它成為當(dāng)今任何直接連接設(shè)備的競爭者。