99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

RTOS的調(diào)度原理是什么

RTOS的調(diào)度原理是什么,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有璧山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

        我們這一系列的微信推送,僅僅是為了可以幫助大家快速地對(duì)操作系統(tǒng)有一個(gè)感性層面上的認(rèn)識(shí)。當(dāng)然,讓人更好地記住一樣復(fù)雜的東西,就是尋找另一樣簡(jiǎn)單的東西來解釋它。但是,這種方式的解釋,是完全不符合教育應(yīng)該有的嚴(yán)謹(jǐn)邏輯的。因此,讓我們來收回這種非科學(xué)的論證,轉(zhuǎn)而用科學(xué)的方法論來表述我們需要闡述的東西。

(一) 自己寫一個(gè)調(diào)度算法

        在很久很久以前,我大抵記得那是我大二學(xué)生時(shí)期,我就開始自己動(dòng)手寫過一個(gè)調(diào)度算法。其實(shí)現(xiàn)的功能非常簡(jiǎn)單,就是使兩個(gè)“任務(wù)”分時(shí)地去交替執(zhí)行,并且,利用定時(shí)器去決定這兩個(gè)任務(wù)運(yùn)行的時(shí)間。當(dāng)時(shí)滿心歡喜地想告訴全世界,自己完成了一個(gè)“內(nèi)核”的框架。

        現(xiàn)在想來,上述的這個(gè)行為真的是非常可笑的無知滿足。因?yàn)檫@個(gè)算法的實(shí)現(xiàn)非常簡(jiǎn)單。簡(jiǎn)單闡述一下其原理,就是建立兩個(gè)指向函數(shù)的指針變量,然后建立兩個(gè)函數(shù),并且用上述兩個(gè)變量指向它們。定時(shí)器開始定時(shí),假設(shè)周期為10ms,那么每隔10ms只要去切換著兩個(gè)變量就可以了。這樣子,如果宏觀性上面,你就能看到兩個(gè)任務(wù)是在同時(shí)運(yùn)行了。

        再來分析一下上述的東西,聽著特別簡(jiǎn)單,但是經(jīng)不住仔細(xì)推敲,它們肯定是不符合操作系統(tǒng)的任何特征的。首先,如果你的每個(gè)任務(wù)執(zhí)行的時(shí)間小于10ms還好,萬一超過了其分時(shí)分配的運(yùn)行時(shí)間(10ms)而強(qiáng)行使用定時(shí)器去切換,那當(dāng)前沒運(yùn)行完的數(shù)據(jù)完全就丟失了,沒有任何拯救的余地。其次,它的任務(wù)沒法被動(dòng)態(tài)地建立,回收。還有很多很多的缺點(diǎn)。這是我大三恍然大悟的東西。因此,到現(xiàn)在我也不喜歡使用在主函數(shù)里面利用定時(shí)器產(chǎn)生計(jì)數(shù)值,根據(jù)計(jì)數(shù)值去切換運(yùn)行函數(shù)的方式。為什么?因?yàn)槟懵銠C(jī)編程的時(shí)候,特別是在某個(gè)函數(shù)里面有大量的通訊等待操作時(shí),你無法保證每個(gè)函數(shù)的運(yùn)行時(shí)間正好小于等于你設(shè)定的時(shí)間。因此總會(huì)出現(xiàn),有些任務(wù)根本執(zhí)行不到這一現(xiàn)象。

       但是不幸的是,后來工作之后,發(fā)現(xiàn)很多電子工程師都是這樣去處理他的程序流向的。

(二) 操作系統(tǒng)調(diào)度算法的原理

        我開始研究操作系統(tǒng),也是那時(shí)候在自信滿滿地用了我自己的“內(nèi)核”做了幾個(gè)項(xiàng)目之后,直到有一次做一個(gè)長距離Modbus高速通信,由于這個(gè)函數(shù)里面有一個(gè)做CRC檢驗(yàn)失敗等待重傳的函數(shù)。而由于選用了高速的數(shù)據(jù)流,加上距離比較長,因此高頻信號(hào)的畸變比較嚴(yán)重,導(dǎo)致了誤碼率很高。因此這個(gè)函數(shù)頻繁被調(diào)用,但是后來發(fā)現(xiàn),這個(gè)函數(shù)幾乎不能被完整運(yùn)行下來。分析了好久的原因,最后發(fā)現(xiàn),原來這個(gè)函數(shù)執(zhí)行的時(shí)間遠(yuǎn)遠(yuǎn)超過了我分配給它的運(yùn)行時(shí)間了,因此,沒等它執(zhí)行完成,我的調(diào)度算法強(qiáng)制將其中斷了。并且由于沒有數(shù)據(jù)的保存機(jī)制,導(dǎo)致了整個(gè)函數(shù)只能執(zhí)行一半就被銷毀了。后來工作之后,也遇到過別的工程師這么做,勸其修改,還是不聽,最后導(dǎo)致了嚴(yán)重的錯(cuò)誤。從那以后,我寧愿while(1)到底,也不愿使用這樣的方式了。

       而一個(gè)成熟的操作系統(tǒng)內(nèi)核,它的調(diào)度算法是會(huì)在中斷當(dāng)前任務(wù)之后,將數(shù)據(jù)保存下來的。

       我們稱當(dāng)前運(yùn)行的任務(wù)為“運(yùn)行態(tài)”,而沒有被運(yùn)行的任務(wù),我們稱為“非運(yùn)行狀態(tài)”。但是關(guān)于“非運(yùn)行狀態(tài)”,這只是一個(gè)籠統(tǒng)的名稱而已,這里面包含了眾多的子狀態(tài)。我們以后來詳細(xì)說明一下“非運(yùn)行狀態(tài)”的具體細(xì)分。在這里注明一下,我們課程的邏輯當(dāng)中,為了簡(jiǎn)化操作系統(tǒng)模型,因此把所有具體的非運(yùn)行狀態(tài)進(jìn)行集合化,在一些高級(jí)的操作系統(tǒng)當(dāng)中,這個(gè)問題有待討論。

       以最基本的分時(shí)操作系統(tǒng)來說,這里假設(shè)所有任務(wù)的優(yōu)先級(jí)都是統(tǒng)一的,時(shí)間一到就會(huì)自動(dòng)輪詢。當(dāng)時(shí)間到來時(shí),運(yùn)行態(tài)任務(wù)沒有被執(zhí)行完的數(shù)據(jù),操作系統(tǒng)都會(huì)有一個(gè)機(jī)制,將這些數(shù)據(jù)進(jìn)行保存,可以是壓入堆棧。具體操作的過程,就是將寄存器里面的數(shù)據(jù)進(jìn)行保存,有點(diǎn)類似于中斷函數(shù)的調(diào)用。接著把可以回收的內(nèi)存進(jìn)行回收。然后,為下一個(gè)需要執(zhí)行的任務(wù)分配內(nèi)存,最后再去執(zhí)行下一個(gè)需要執(zhí)行的任務(wù)。而當(dāng)時(shí)間又輪到了第一次沒有執(zhí)行完的任務(wù)之后,又會(huì)重新為其分配內(nèi)存,然后把之前的數(shù)據(jù)取出來,繼續(xù)執(zhí)行。整個(gè)籠統(tǒng)的過程就是這樣。

關(guān)于RTOS的調(diào)度原理是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享題目:RTOS的調(diào)度原理是什么
網(wǎng)站路徑:http://www.yijiale78.com/article18/ihdodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器微信小程序網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計(jì)網(wǎng)站設(shè)計(jì)公司企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管