如何選擇一個(gè)實(shí)時(shí)操作系統(tǒng)
實(shí)時(shí)操作系統(tǒng)已經(jīng)進(jìn)入了50%以上的嵌入式項(xiàng)目。實(shí)時(shí)操作系統(tǒng)可以幫助您管理系統(tǒng)的時(shí)間、資源、內(nèi)存等等。它們?yōu)槟峁┝烁咝д{(diào)度的工具,如時(shí)間切片和線程搶占,同時(shí)簡(jiǎn)化任務(wù)間的通信。
隨著越來(lái)越多的團(tuán)隊(duì)轉(zhuǎn)向32位微控制器,并繼續(xù)采用iot技術(shù),對(duì)實(shí)時(shí)操作系統(tǒng)的需求只會(huì)增加。如果你正在過(guò)渡到一個(gè)RTOS或者最近已經(jīng)這樣做了,你知道選擇RTOS是一個(gè)重大的挑戰(zhàn)。那么,你如何選擇一個(gè)RTOS?
避免常見(jiàn)的選擇錯(cuò)誤。
當(dāng)你選擇一個(gè)RTOS時(shí),你應(yīng)該避免一些常見(jiàn)的錯(cuò)誤。
首先,對(duì)于團(tuán)隊(duì)來(lái)說(shuō),立即排除商業(yè)性轉(zhuǎn)軌并不少見(jiàn)。既然有這么多的開(kāi)源ROS,為什么會(huì)有人追求商業(yè)的RTOS操作系統(tǒng)呢?原因通常歸結(jié)為認(rèn)證、質(zhì)量、安全和支持等方面的考慮。由于這些原因,你不應(yīng)該馬上排除商業(yè)慣例。
第二,不要僅僅因?yàn)槟愕膍cu供應(yīng)商直接支持而選擇你的實(shí)時(shí)操作系統(tǒng)。雖然這種支持通常是令人鼓舞的,但你會(huì)發(fā)現(xiàn)它們往往落后于最新版本的RTOS。當(dāng)這種情況發(fā)生時(shí),您可能無(wú)法像直接訪問(wèn)源那樣快速地獲得關(guān)鍵的安全更新。
最后,不要僅僅因?yàn)楫?dāng)前的潮流而選擇RTOS。在我的職業(yè)生涯中,我看到了許多潮流的來(lái)來(lái)往往。在某些情況下,它們會(huì)以年度遞增或更少的方式變化??萍枷矚g他們新的閃亮玩具,但是如果你正在開(kāi)發(fā)一個(gè)需要支持多年的產(chǎn)品,你可能無(wú)法采用時(shí)尚的,未經(jīng)證實(shí)的解決方案。
選擇實(shí)時(shí)操作系統(tǒng)的正確方法
選擇實(shí)時(shí)操作系統(tǒng)應(yīng)該是一項(xiàng)工程上的追求。這意味著你要以科學(xué)的、以工程為中心的方式去做這件事。首先,您可以識(shí)別RTOS系統(tǒng)中需要的關(guān)鍵特性??赡苁切阅堋⒋a大小、安全特性等。從清單開(kāi)始是個(gè)好主意。
接下來(lái),回顧你的列表,給他們一個(gè)數(shù)字的重要性。例如,如果授權(quán)成本是必要的,您可能會(huì)將其排在第5位。如果許可成本不重要,給它一個(gè)甚至零值。這些級(jí)別使人了解什么是甄選過(guò)程的關(guān)鍵。它告訴你,你希望在RTOS中有什么特性和特性。畢竟,沒(méi)有任何兩個(gè)轉(zhuǎn)軌是相同的或以相同的方式傳遞相同的特性。
只有當(dāng)您確定了一個(gè)功能列表,然后對(duì)它們進(jìn)行排序之后,您才準(zhǔn)備好評(píng)估哪個(gè)RTOS適合您的應(yīng)用程序。每個(gè)開(kāi)發(fā)人員自己的偏見(jiàn)會(huì)扭曲選擇過(guò)程。我經(jīng)常建議團(tuán)隊(duì)使用kt矩陣來(lái)進(jìn)行評(píng)估。每個(gè)開(kāi)發(fā)人員都可以對(duì)考慮中的每個(gè)RTOS與所需特性列表的匹配程度進(jìn)行評(píng)估。它們可以提供0-5之間的評(píng)級(jí),然后與功能排序一起使用,生成加權(quán)值。然后,可以使用加權(quán)特性和來(lái)比較每個(gè)RTOS如何很好地滿足應(yīng)用程序的需要。
結(jié)果是一個(gè)公正的決定,選擇適合你的團(tuán)隊(duì)需要的實(shí)時(shí)操作系統(tǒng)。您可能會(huì)發(fā)現(xiàn),有不止一個(gè)RTOS工作基于您的應(yīng)用程序。當(dāng)這種情況發(fā)生時(shí),你可以使用你的個(gè)人偏見(jiàn)來(lái)選擇你想使用的東西。
結(jié)論
選擇一個(gè)與您的應(yīng)用程序一起工作并在可預(yù)見(jiàn)的將來(lái)繼續(xù)這樣做的RT操作系統(tǒng)并非易事。通常情況下,只在幾個(gè)月或幾個(gè)季度之后才會(huì)發(fā)現(xiàn)RTOS并不完全符合你的期望。正如我們所看到的,提前花一點(diǎn)時(shí)間,并定義您對(duì)從實(shí)時(shí)操作系統(tǒng)中需要什么的期望是至關(guān)重要的。一旦您了解了您的需求,您就可以仔細(xì)地評(píng)估哪些機(jī)制最能滿足您的應(yīng)用程序需求。
只有這樣,你才能真正地滿意你的RTOS選擇。如果你選擇了最流行的,時(shí)尚的,或提供的RTOS,你可能會(huì)發(fā)現(xiàn)你未來(lái)的開(kāi)發(fā)努力有點(diǎn)不穩(wěn)定。