一個實時操作系統(tǒng)(RTOS)必須是可靠的;它必須是快速和響應(yīng)的,管理有限的資源和安排任務(wù),使它們按時完成,并確保功能是隔離的,不受其他功能的干擾。在本節(jié)中,你將了解更多關(guān)于什么是實時操作系統(tǒng),以及兩種類型的實時操作系統(tǒng)架構(gòu)的利弊,即單片機和微內(nèi)核。操作系統(tǒng)的主要職責(zé)是管理硬件資源和系統(tǒng)中的活動:調(diào)度應(yīng)用程序,將文件寫入磁盤,在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)等等。當(dāng)操作系統(tǒng)必須同時處理多個事件,并確保系統(tǒng)在可預(yù)測的時間范圍內(nèi)對這些事件做出反應(yīng)時,它被稱為實時操作系統(tǒng)(RTOS)。許多嵌入式系統(tǒng)需要實時行為,由于硬件資源的限制,性能和效率是首要任務(wù)。實時操作系統(tǒng)提供了嚴(yán)格的資源管理和調(diào)度,以滿足多任務(wù)、優(yōu)先級驅(qū)動的搶占式調(diào)度和快速上下文切換等應(yīng)用的需求,這些都是嵌入式實時系統(tǒng)的基本特征。
一個實時操作系統(tǒng)通常具有較小的占地面積,并對性能進行了優(yōu)化。然而,每個實時操作系統(tǒng)都必須根據(jù)它所支持的硬件和系統(tǒng)所需的功能進行定制。從管理少量任務(wù)的光禿禿的內(nèi)核配置到管理數(shù)百個任務(wù)和子系統(tǒng)(包括圖形、網(wǎng)絡(luò)、文件系統(tǒng)、音頻等)的全功能RTOS,一個RTOS應(yīng)該靈活地擴展以滿足系統(tǒng)要求和資源。
RTOS架構(gòu)會影響嵌入式系統(tǒng)的可靠性及其從故障中恢復(fù)的能力。有兩種RTOS架構(gòu):單片式和微內(nèi)核。
根據(jù)定義,單片機的內(nèi)核在內(nèi)核空間內(nèi)運行所有的操作系統(tǒng)組件。例如,一個單片式RTOS包括設(shè)備驅(qū)動、文件管理、網(wǎng)絡(luò)和圖形堆棧,作為內(nèi)核空間的一部分。然而,應(yīng)用程序則在用戶空間中運行。盡管將用戶應(yīng)用程序作為內(nèi)存保護進程運行可以保護單片機內(nèi)核不受錯誤用戶代碼的影響,但文件系統(tǒng)、協(xié)議?;蝌?qū)動程序中的一個編程錯誤就可以使系統(tǒng)崩潰。此外,對驅(qū)動程序或系統(tǒng)文件的任何改變都需要操作系統(tǒng)的修改和重新編譯。
自 1980 年以來,制造商一直依靠 QNX 實時技術(shù)為其任務(wù)關(guān)鍵型應(yīng)用提供動力--從醫(yī)療儀器和互聯(lián)網(wǎng)路由器,到車載信息娛樂設(shè)備和 911 呼叫中心,再到核監(jiān)控系統(tǒng)和軍事通信,無所不包。無論是小型還是大型,無論是簡單還是分布式,這些系統(tǒng)都有一個無與倫比的聲譽,那就是一年365天、一天24小時不停地運行。QNX Neutrino 實時操作系統(tǒng)經(jīng)受了時間的考驗和實踐的檢驗,它是在真正的微內(nèi)核架構(gòu)上建立的。在這種系統(tǒng)下,每個驅(qū)動程序、應(yīng)用程序、協(xié)議棧和文件系統(tǒng)都在內(nèi)核之外、受內(nèi)存保護的用戶空間安全運行。幾乎所有的組件都可以在不影響其他組件或內(nèi)核的情況下發(fā)生故障并被自動重新啟動。沒有其他商業(yè)實時操作系統(tǒng)能提供如此高水平的故障控制和恢復(fù)。QNX Neutrino 實時操作系統(tǒng)本身是模塊化的,它能讓你動態(tài)地升級模塊、引入新功能或部署錯誤修復(fù)程序,而無需花費昂貴的停機時間或系統(tǒng)中斷。人機界面技術(shù)變化很快。如果您的平臺跟不上,您可能會被過時的、不支持的軟件所困。QNX Neutrino 實時操作系統(tǒng)有一個獨特的組合管理器,能從多種技術(shù)中創(chuàng)建一個統(tǒng)一的界面。它的通用應(yīng)用平臺能夠在新的人機界面技術(shù)出現(xiàn)時添加這些技術(shù)。這使你可以使用最合適的圖形技術(shù),無論是視頻、OpenGL ES、HTML5還是Qt5。QNX Neutrino 實時操作系統(tǒng)按照 POSIX 標(biāo)準(zhǔn)(1003.1-2003 POSIX.1)設(shè)計,只需簡單地重新編譯,就能移植傳統(tǒng)的和開源的 UNIX、Linux 和互聯(lián)網(wǎng)代碼。通過標(biāo)準(zhǔn)的應(yīng)用程序接口,可以重復(fù)使用應(yīng)用程序代碼,避免代價高昂的延遲,并縮短其學(xué)習(xí)曲線--加快開發(fā)周期,縮短上市時間。此外,QNX Neutrino 實時操作系統(tǒng)還預(yù)先集成了對各種連接技術(shù)、安全和防故障文件系統(tǒng)以及內(nèi)置高可用性解決方案的開箱即用支持。QNX Neutrino 實時操作系統(tǒng)具有創(chuàng)新的安全機制,旨在幫助你輕松構(gòu)建不可攻破的設(shè)備。加密文件系統(tǒng)、內(nèi)存保護頁和有限的根權(quán)限是該操作系統(tǒng)的核心功能,可用于創(chuàng)建安全可靠的設(shè)備。它有自適應(yīng)分區(qū),在過載條件下保證你的應(yīng)用程序的系統(tǒng)資源,幫助你建立安全可靠的嵌入式系統(tǒng),而不影響實時性能或靈活性。利用 QNX Neutrino 實時操作系統(tǒng)對各種 ARM Cortex A 系列和 x86 平臺的支持,在選定的平臺上快速啟動開發(fā)。利用 QNX Neutrino 實時操作系統(tǒng)的資源管理器,簡化了定制硬件的驅(qū)動程序開發(fā)??蚣埽c傳統(tǒng)驅(qū)動程序不同,它能在受內(nèi)存保護的用戶空間中運行。BlackBerry QNX是一家值得信賴的安全操作系統(tǒng)、管理程序、框架和開發(fā)工具供應(yīng)商,并為構(gòu)建全球最關(guān)鍵的嵌入式系統(tǒng)提供專業(yè)支持和服務(wù)。該公司的技術(shù)在超過1.95億輛汽車中得到了信任,并被部署在世界各地的嵌入式系統(tǒng)中,涉及多個行業(yè)。黑莓QNX成立于1980年,總部設(shè)在加拿大渥太華,2010年被黑莓收購。黑莓QNX軟件和開發(fā)工具以標(biāo)準(zhǔn)為基礎(chǔ),使企業(yè)能夠在各產(chǎn)品線和業(yè)務(wù)部門采用可擴展的軟件平臺戰(zhàn)略。黑莓QNX軟件組合,包括我們的安全預(yù)認(rèn)證產(chǎn)品版本,是專門為嵌入式系統(tǒng)設(shè)計的,并可擴展到支持從單一用途的設(shè)備到高度復(fù)雜的混合關(guān)鍵性平臺。客戶依靠黑莓QNX的支持和專業(yè)服務(wù)團隊,在整個產(chǎn)品開發(fā)周期內(nèi)提供他們所需的專業(yè)知識。數(shù)以千計的公司已經(jīng)部署了QNX的實時操作系統(tǒng),以確保任務(wù)關(guān)鍵型系統(tǒng)的性能、安全和可靠性的理想組合。QNX 技術(shù)的核心是 QNX Neutrino? 實時操作系統(tǒng)(RTOS),它是一種功能全面、符合 POSIX 標(biāo)準(zhǔn)的實時操作系統(tǒng),能在每個注重可靠性的行業(yè)(包括汽車、醫(yī)療設(shè)備、機器人、運輸、重型機械和工業(yè)嵌入式系統(tǒng))中實現(xiàn)新一代產(chǎn)品。微內(nèi)核可靠性--QNX Neutrino 實時操作系統(tǒng)的微內(nèi)核架構(gòu)將每個應(yīng)用程序、驅(qū)動程序、協(xié)議棧和文件系統(tǒng)都隔離在內(nèi)核以外的獨立地址空間內(nèi)。這意味著,故障組件不會導(dǎo)致其他組件或內(nèi)核癱瘓;它能立即重新啟動,對系統(tǒng)性能的影響最小。實時可用性--QNX Neutrino 實時操作系統(tǒng)提供了只有實時操作系統(tǒng)才能提供的確定性。自適應(yīng)分區(qū)等技術(shù)能保證關(guān)鍵進程獲得按時完成任務(wù)所需的周期,同時保持復(fù)雜嵌入式系統(tǒng)所需的性能。全面的分層安全--利用 QNX Neutrino 實時操作系統(tǒng)的分層安全功能和 QNX 安全專家的幫助,可以采取全面的安全方法,準(zhǔn)確實施的嵌入式系統(tǒng)所需的安全配置文件。可擴展性--QNX Neutrino 實時操作系統(tǒng)可在最新一代多核系統(tǒng)芯片(包括 ARMv8 和 x86-64)上擴展,它支持非對稱多處理(AMP)和對稱多處理(SMP),以及綁定多處理(BMP),這是 QNX 對標(biāo)準(zhǔn) SMP 處理器親和力的改進。板卡支持包(BSP)--由一個廣泛的BSP庫支持,適用于各種ARMv8、x86-64和舊板卡。QNX 操作系統(tǒng)得到了經(jīng)過實踐檢驗的開發(fā)工具(QNX 軟件開發(fā)平臺)的支持,并通過功能豐富的中間件(用于 ADAS 的 QNX 平臺等)和工程服務(wù)得到了擴展。黑莓QNX還提供了符合IEC 61508 SIL 3、ISO 26262 ASIL D和其他功能安全標(biāo)準(zhǔn)(QNX OS for Safety、QNX Hypervisor for Safety)的嵌入式操作系統(tǒng)預(yù)認(rèn)證版本。QNX Neutrino 實時操作系統(tǒng)是一種高性能、多線程、適用于 SMP 的微內(nèi)核實時操作系統(tǒng),具有開放系統(tǒng)的 POSIX 應(yīng)用程序接口。QNX Neutrino 實時操作系統(tǒng)是一種高性能、多線程、適用于 SMP 的微內(nèi)核實時操作系統(tǒng),具有開放系統(tǒng)的 POSIX 應(yīng)用程序接口。QNX Neutrino 實時操作系統(tǒng)堅固耐用且可大規(guī)模擴展,適用于從小型、資源有限的系統(tǒng)到高端分布式計算環(huán)境。全面的 MMU 保護使它能有效地用于關(guān)鍵任務(wù)的應(yīng)用。可靠的架構(gòu)-QNX Neutrino 實時操作系統(tǒng)的卓越可靠性是其微內(nèi)核架構(gòu)的直接結(jié)果。內(nèi)核只包括一小部分核心服務(wù),包括線程服務(wù)、消息傳遞、互斥、條件變量、信號和調(diào)度。內(nèi)核可以通過動態(tài)地插入提供服務(wù)的進程來擴展,如文件系統(tǒng)、網(wǎng)絡(luò)、POSIX消息隊列和設(shè)備驅(qū)動程序。每個進程都在它自己的內(nèi)存保護的地址空間中運行。由于內(nèi)核中導(dǎo)致問題的代碼太少,內(nèi)核錯誤幾乎被消除了。當(dāng)軟件出現(xiàn)故障時,即使是驅(qū)動程序和其他關(guān)鍵程序出現(xiàn)故障,基于 QNX Neutrino 的系統(tǒng)也能智能地恢復(fù)--無需重啟。嵌入式系統(tǒng)開發(fā)人員還能依靠微內(nèi)核架構(gòu)的其他增強可靠性的功能,包括支持軟件和硬件熱交換,以及在網(wǎng)絡(luò)環(huán)境中分布組件的能力。與擁有專有應(yīng)用程序接口的實時執(zhí)行程序和操作系統(tǒng)不同,QNX Neutrino 實時操作系統(tǒng)是根據(jù)最新的 POSIX 1003.1 標(biāo)準(zhǔn)和草案(包括實時和線程選項)從頭設(shè)計的。熟悉 UNIX 或 Linux 的程序員不需要任何培訓(xùn)就能在這種 POSIX 環(huán)境中找到家的感覺。更重要的是,這種內(nèi)置的 POSIX 兼容性不需要額外的代碼就能實現(xiàn)?;?QNX Neutrino 的系統(tǒng)非常小巧、高效,這對可移植系統(tǒng)至關(guān)重要。因此,在不犧牲功能或性能的前提下,可以通過減少系統(tǒng)核心的代碼來提高整體性能和降低內(nèi)存需求。(歡迎申請加入智能駕駛交流學(xué)習(xí)群,加小編微信號zhijiashexiaoming)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。