在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            十分鐘了解RTOS!

            作者: 時(shí)間:2022-10-17 來(lái)源:網(wǎng)絡(luò) 收藏

              實(shí)時(shí)操作()是管理微處理器或微控制器時(shí)間的軟件。實(shí)時(shí)指如果的邏輯和時(shí)序正確性無(wú)法滿足,可能會(huì)導(dǎo)致嚴(yán)重后果的系統(tǒng)。實(shí)時(shí)多任務(wù)應(yīng)用是一個(gè)必須同時(shí)處理多個(gè)時(shí)間關(guān)鍵活動(dòng)的系統(tǒng)。實(shí)時(shí)多任務(wù)內(nèi)核(也稱為實(shí)時(shí)操作系統(tǒng))是確保盡可能高效地處理時(shí)間關(guān)鍵事件的軟件。的使用,通過(guò)將應(yīng)用程序劃分為多個(gè)獨(dú)立的任務(wù),簡(jiǎn)化了系統(tǒng)設(shè)計(jì)過(guò)程。

            本文引用地址:http://www.biyoush.com/article/202210/439158.htm

            1.前/后臺(tái)系統(tǒng)

              不使用的系統(tǒng)通常設(shè)計(jì)如圖1所示,這類系統(tǒng)稱為前/后臺(tái)系統(tǒng)。應(yīng)用程序由一個(gè)無(wú)限循環(huán)組成,該循環(huán)調(diào)用不同的應(yīng)用模塊來(lái)執(zhí)行所需的操作。模塊按順序執(zhí)行(后臺(tái)),由中斷服務(wù)程序(ISR)處理異步事件(前臺(tái))。關(guān)鍵操作必須由ISR執(zhí)行,以確保及時(shí)處理。由ISR提供的數(shù)據(jù)信息在相應(yīng)的后臺(tái)模塊執(zhí)行之前不會(huì)被處理,其延遲時(shí)間取決于后臺(tái)循環(huán)執(zhí)行所需的時(shí)間。

            2.實(shí)時(shí)內(nèi)核

              1、多任務(wù)處理

              多任務(wù)處理是在多個(gè)任務(wù)之間調(diào)度和切換CPU的過(guò)程,單個(gè)CPU在多個(gè)順序任務(wù)之間切換使用。多任務(wù)處理提供了將應(yīng)用程序分解為一組共享處理器的小型專用任務(wù)的能力。實(shí)時(shí)內(nèi)核使應(yīng)用程序更易于設(shè)計(jì)和維護(hù)。任務(wù)是一個(gè)簡(jiǎn)單的程序,認(rèn)為自己擁有整個(gè)CPU。實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)過(guò)程涉及將要完成的工作拆分為負(fù)責(zé)部分問(wèn)題的任務(wù)。

              2、內(nèi)核

              內(nèi)核負(fù)責(zé)任務(wù)管理和任務(wù)之間的通信。當(dāng)內(nèi)核決定運(yùn)行另一個(gè)任務(wù)時(shí),它將當(dāng)前任務(wù)的上下文(CPU寄存器)保存到當(dāng)前任務(wù)的獨(dú)立堆棧區(qū)域。新任務(wù)的上下文將從其堆棧區(qū)域恢復(fù),恢復(fù)新任務(wù)的代碼執(zhí)行。這個(gè)過(guò)程稱為上下文切換或任務(wù)切換。每個(gè)任務(wù)的堆頂?shù)刂返刃畔⒈淮鎯?chǔ)在任務(wù)控制塊(TCB)數(shù)據(jù)結(jié)構(gòu)中。TCB在創(chuàng)建任務(wù)時(shí)分配,并由RTOS管理。

              3、中斷

              實(shí)時(shí)系統(tǒng)中的一個(gè)重要問(wèn)題是從中斷響應(yīng)到實(shí)際開始執(zhí)行用戶中斷處理代碼需要時(shí)間。在處理臨界代碼時(shí),RTOS都會(huì)禁用中斷。禁用中斷的時(shí)間越長(zhǎng),中斷延遲就越大。RTOS通常在短于50 uS的時(shí)間內(nèi)禁用中斷,越短越好。

              4、調(diào)度

              調(diào)度是內(nèi)核的主要職責(zé),負(fù)責(zé)確認(rèn)運(yùn)行哪個(gè)任務(wù)以及何時(shí)運(yùn)行。大多數(shù)實(shí)時(shí)內(nèi)核采用優(yōu)先級(jí)策略,每個(gè)任務(wù)根據(jù)其重要性分配一個(gè)優(yōu)先級(jí)。任務(wù)的優(yōu)先級(jí)由應(yīng)用指定。在基于優(yōu)先級(jí)調(diào)度的內(nèi)核中,CPU的控制權(quán)將始終交給就緒的最高優(yōu)先級(jí)任務(wù)。然而,最高優(yōu)先級(jí)任務(wù)何時(shí)獲得CPU取決于所使用的調(diào)度類型。有兩種類型調(diào)度:非搶占式調(diào)度和搶占式調(diào)度。

              非搶占式調(diào)度

              非搶占式調(diào)度要求每個(gè)任務(wù)主動(dòng)放棄對(duì)CPU的控制。為了保持任務(wù)并發(fā),這個(gè)過(guò)程必須經(jīng)常進(jìn)行。非搶占式調(diào)度也稱為協(xié)作式多任務(wù)處理。當(dāng)一個(gè)任務(wù)放棄CPU時(shí),內(nèi)核會(huì)執(zhí)行下一個(gè)就緒的最重要的任務(wù)代碼。異步事件由ISR處理。ISR可以使更高優(yōu)先級(jí)任務(wù)就緒,但I(xiàn)SR完成后將返回到被中斷的任務(wù)。只有當(dāng)前任務(wù)自愿放棄CPU時(shí),新的更高優(yōu)先級(jí)任務(wù)才會(huì)獲得CPU的控制權(quán)。如圖2所示。非搶占式調(diào)度的延遲遠(yuǎn)低于前后臺(tái)系統(tǒng);延遲由最長(zhǎng)任務(wù)的時(shí)間確定。

              搶占式調(diào)度

              在搶占式內(nèi)核中,當(dāng)一個(gè)事件使高優(yōu)先級(jí)的任務(wù)就緒時(shí),當(dāng)前任務(wù)立即掛起,較高優(yōu)先級(jí)的任務(wù)獲得CPU控制權(quán)。如果ISR使更高優(yōu)先級(jí)的任務(wù)就緒,則被中斷的任務(wù)掛起,恢復(fù)執(zhí)行新的更高優(yōu)先級(jí)的任務(wù)。大多數(shù)實(shí)時(shí)系統(tǒng)采用搶占式調(diào)度,其響應(yīng)速度更快。搶占式調(diào)度如圖3所示。

              5、重入

              可重入函數(shù)是可以由多個(gè)任務(wù)使用而不必?fù)?dān)心數(shù)據(jù)損壞的函數(shù)。相反,不可重入函數(shù)不能被多個(gè)任務(wù)共享,但可以通過(guò)使用信號(hào)量或在臨界段中代碼中禁用中斷來(lái)互斥使用不可重入函數(shù)??芍厝牒瘮?shù)可以被隨時(shí)中斷并恢復(fù),不會(huì)丟失數(shù)據(jù)??芍厝牒瘮?shù)使用局部變量(CPU寄存器或堆棧變量),如果使用全局變量需保護(hù)其數(shù)據(jù)。專門為軟件設(shè)計(jì)的編譯器通常會(huì)提供可重入的運(yùn)行時(shí)庫(kù)。非搶占式調(diào)度不需要可重入函數(shù),除非函數(shù)在任務(wù)和ISR之間共享。如果函數(shù)由多個(gè)任務(wù)共享,則搶占式調(diào)度需要函數(shù)可重入。

              6、內(nèi)核服務(wù)

              實(shí)時(shí)內(nèi)核為應(yīng)用程序提供各種服務(wù)。內(nèi)核提供的最常見的服務(wù)之一是信號(hào)量管理。信號(hào)量是一種協(xié)議機(jī)制,用于控制對(duì)共享資源的訪問(wèn)(互斥)、發(fā)布事件的發(fā)生或允許兩個(gè)任務(wù)同步它們的活動(dòng)。信號(hào)量通常是代碼能否繼續(xù)執(zhí)行的開關(guān)。如果信號(hào)量已在使用中,則請(qǐng)求任務(wù)將被掛起,直到信號(hào)量被其當(dāng)前所有者釋放。掛起的任務(wù)通常不消耗CPU時(shí)間。

              內(nèi)核還提供與時(shí)間相關(guān)的服務(wù),允許任務(wù)自身延遲整數(shù)個(gè)系統(tǒng)時(shí)鐘。時(shí)鐘節(jié)拍通常每10到200毫秒發(fā)生一次,具體取決于應(yīng)用要求。

              任務(wù)或ISR將信息傳遞給另一個(gè)任務(wù),這稱為任務(wù)間通信,用于發(fā)送和接收消息的服務(wù)通常由內(nèi)核提供。用于發(fā)送消息的兩個(gè)最常見的內(nèi)核服務(wù)是消息郵箱和消息隊(duì)列。消息郵箱也稱為消息交換,通常是一個(gè)指針變量。通過(guò)內(nèi)核提供的服務(wù),任務(wù)或ISR將消息(指針)發(fā)送到郵箱。發(fā)送任務(wù)和接收任務(wù)約定指針指向的消息內(nèi)容。消息隊(duì)列用于向一個(gè)任務(wù)發(fā)送多個(gè)消息。消息隊(duì)列本質(zhì)上是一個(gè)郵箱數(shù)組。

            3.商業(yè)RTOS

              目前大約有100家RTOS供應(yīng)商。產(chǎn)品可用于8、16和32位微處理器。其中一些是完整的操作系統(tǒng),包括實(shí)時(shí)內(nèi)核、輸入/輸出管理器、窗口系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧、語(yǔ)言接口庫(kù)、調(diào)試器和跨平臺(tái)編譯器等。RTOS的成本從100美元到超過(guò)10,000美元不等。如此多的供應(yīng)商,困難在于選擇合適的RTOS。

            4.小型系統(tǒng)

              許多小型系統(tǒng),如引擎控制、智能儀器、機(jī)器人、計(jì)算機(jī)外圍設(shè)備和電信設(shè)備都可以從使用RTOS中受益。此類系統(tǒng)通常基于8位微處理器設(shè)計(jì)。對(duì)于64 KB地址空間,大多數(shù)8位微處理器無(wú)法承受需要大量存儲(chǔ)器的RTOS。商業(yè)內(nèi)核只需要大約1到3 KB的ROM。一些內(nèi)核甚至允許用戶在逐個(gè)任務(wù)的基礎(chǔ)上指定堆棧大小。此功能有助于減少應(yīng)用所需的RAM的空間。對(duì)RTOS的一個(gè)常見誤解是它大量增加了CPU開銷。事實(shí)上,一個(gè)RTOS只需要1%到4%的CPU時(shí)間來(lái)?yè)Q取有價(jià)值的服務(wù)。小型RTOS的特性包括:

              ·低成本

              ·具有最小的中斷延遲

              ·內(nèi)核服務(wù)的執(zhí)行時(shí)間確定

              ·能夠管理至少20個(gè)任務(wù)

              ·允許動(dòng)態(tài)創(chuàng)建和刪除任務(wù)

              ·提供信號(hào)量管理服務(wù)

              ·基于內(nèi)核服務(wù)提供時(shí)間延遲和超時(shí)

            5.總結(jié)

              RTOS允許輕松設(shè)計(jì)和擴(kuò)展實(shí)時(shí)應(yīng)用程序,無(wú)需對(duì)軟件進(jìn)行重大更改即可添加新的功能。大量應(yīng)用程序可以從使用RTOS中受益。RTOS可以確保時(shí)間關(guān)鍵事件被快速有效地處理。一旦你將RTOS用于應(yīng)用程序,你將離不開它!



            關(guān)鍵詞: 嵌入式 RTOS 系統(tǒng)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉