找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4047|回復(fù): 2
收起左側(cè)

ARM9(三星2410/2440) 多任務(wù)搶占式調(diào)度器 簡(jiǎn)易0S設(shè)計(jì)

[復(fù)制鏈接]
ID:340044 發(fā)表于 2021-2-26 17:05 | 顯示全部樓層 |閱讀模式
本文檔以ARM9(三星 2410/2440)為平臺(tái),介紹一個(gè)多任務(wù)搶占式調(diào)度器------搶占式任務(wù)調(diào)度,提供延時(shí),掛起,恢復(fù)任務(wù)操作。最精簡(jiǎn)化,沒(méi)有加入信號(hào)量郵箱等同步通信機(jī)制。只實(shí)現(xiàn)一個(gè)基本任務(wù)調(diào)度器的功能。
雖然不能稱為操作系統(tǒng),但已體現(xiàn)了小型嵌入式操作系統(tǒng)的精髓。OS代碼不到1.5K,核心函數(shù)只有幾個(gè),思路簡(jiǎn)單明了。比起 UCOS,更適合用作多任務(wù)系統(tǒng)原理的學(xué)習(xí)入門(mén)。  對(duì)初學(xué)者來(lái)說(shuō),看UCOS的源代碼很容易迷糊。
回想初學(xué)嵌入式多任務(wù)系統(tǒng)時(shí),什么都不懂,Jean  J.Labrosse 的經(jīng)典之作《嵌入式實(shí)時(shí)操作系統(tǒng) uc/osII》看得我一頭霧水。事實(shí)上,使我對(duì)多任務(wù)的原理印象最深的是網(wǎng)上的一篇文章----《建立一個(gè)屬于自己的AVR的 RTOS》 。
學(xué)習(xí)就應(yīng)該這樣,循序漸進(jìn)。把一步步把簡(jiǎn)單的東西弄懂了,便沒(méi)有復(fù)雜的了,所謂水到渠成。
這篇文章是面對(duì)初學(xué)者的,把很多問(wèn)題簡(jiǎn)化了。希望對(duì)剛接觸嵌入式多任務(wù)系統(tǒng)的兄弟有所幫助。
必定存在不少 bug,歡迎指正。
51hei.png

  什么是多任務(wù)系統(tǒng)?
就像我們用電腦時(shí)可以同時(shí)聽(tīng)歌,上網(wǎng),編輯文檔等。在多任務(wù)系統(tǒng)中,可以同時(shí)執(zhí)行多個(gè)并行任務(wù),各個(gè)任務(wù)之間互相獨(dú)立。通過(guò)操作系統(tǒng)執(zhí)行任務(wù)調(diào)度而實(shí)現(xiàn)宏觀上的“并發(fā)運(yùn)行” 。從宏觀上不同的任務(wù)并發(fā)運(yùn)行,好像每個(gè)任務(wù)都有自己的 CPU一樣。
其實(shí)在單一CPU的情況下,是不存在真正的多任務(wù)機(jī)制的,存在的只有不同的任務(wù)輪流使用CPU,所以本質(zhì)上還是單任務(wù)的。但由于 CPU 執(zhí)行速度非常快,加上任務(wù)切換十分頻繁并且切換的很快,所以我們感覺(jué)好像有很多任務(wù)同時(shí)在運(yùn)行一樣。這就是所謂的多任務(wù)機(jī)制。
多任務(wù)的最大好處是充分利用硬件資源,如在單任務(wù)時(shí)(大循環(huán)結(jié)構(gòu),如大部分 51程序)遇到 delay函數(shù)時(shí),CPU在空轉(zhuǎn);而在多任務(wù)系統(tǒng),遇到 delay或需等待資源時(shí)系統(tǒng)會(huì)自動(dòng)運(yùn)行下一個(gè)任務(wù),等條件滿足再回來(lái)運(yùn)行先前的任務(wù),這樣就充分利用了 CPU,提高了效率。


任務(wù)有下面的特性:

l  動(dòng)態(tài)性。任務(wù)并不是隨時(shí)都可以運(yùn)行的,而一個(gè)已經(jīng)運(yùn)行的任務(wù)并不能保證一直占有CPU直到運(yùn)行完。一般有就緒態(tài),運(yùn)行態(tài),掛起態(tài)等。
  運(yùn)行態(tài)。一個(gè)運(yùn)行態(tài)的任務(wù)是一個(gè)正在使用 CPU的任務(wù)。任何時(shí)刻有且只有一個(gè)運(yùn)行著的任務(wù)。
  就緒態(tài)。一個(gè)就緒態(tài)任務(wù)是可運(yùn)行的,等待占有 CPU的任務(wù)釋放 CPU。
  掛起態(tài)。某些條件不滿足而掛起不能運(yùn)行的狀態(tài)。

51hei.png

簡(jiǎn)易0S設(shè)計(jì).pdf

374.41 KB, 下載次數(shù): 28, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:895417 發(fā)表于 2021-3-23 11:06 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:319585 發(fā)表于 2021-5-2 06:37 來(lái)自手機(jī) | 顯示全部樓層
這個(gè)不錯(cuò)的,好東西。感覺(jué)還是要上系統(tǒng),這樣程序才能穩(wěn)定一些。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表