音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

弱弱的問:os上下文切換的問題

作者:mxinfa 欄目:單片機
弱弱的問:os上下文切換的問題
不管是ucos還是small rtos中都把上下文切換時的現(xiàn)場保護做的及其重要,小弟初學不太明白,這些工作編譯器不會做嗎?我們不用os,就做普通的前后臺系統(tǒng)為什么不用管這些,如果是startup.a51做了這些事的話,那么在os里面加上startup.a51能解決問題嗎?

2樓: >>參與討論
computer00
編譯器不會做這些工作。必須由你的程序做。
 
3樓: >>參與討論
mxinfa
前后臺系統(tǒng)的時候上下文切換是誰做的。
做前后臺系統(tǒng)的時候我們并沒有去管上下文切換的問題啊,那不是編譯器做的嗎?小弟我更糊涂了

4樓: >>參與討論
computer00
那是中斷處理函數(shù)。在函數(shù)聲明時,必須要指明。
中斷處理函數(shù)會將一些寄存器壓棧,這是由編譯器添加進去的。

如果你有足夠多的中斷源,你也可以做一個完全基于中斷的任務調(diào)度,這樣就不用
切換保護現(xiàn)場了,全部都由編譯器完成。

5樓: >>參與討論
mxinfa
謝謝computer00,不過還有問題,別笑話我弱啊!
即使沒有中斷,普通函數(shù)調(diào)用的時候不也得保護現(xiàn)場嗎?怎么到了os下面就得自己做,而不用os的時候編譯器就可以幫著做呢,再次感謝

6樓: >>參與討論
computer00
操作系統(tǒng)的任務切換不是函數(shù)調(diào)用那么簡單。
函數(shù)調(diào)用的時候,地址是由硬件自動壓棧,然后函數(shù)運行完畢后,返回到函數(shù)調(diào)用的地方。
而操作系統(tǒng)不一樣,任務切換時,返回的不一定是原來進入任務切換時的地方,而可能是運行
到另外一個函數(shù)中間去了。

表面上看起來,操作系統(tǒng)是多個函數(shù)在同時運行的(實際上是不同的任務在一定的時間片內(nèi)運行)。
打個簡單的比方,播放MP3歌曲。沒有操作系統(tǒng)時,你只能一首首的播放,而有操作系統(tǒng)時,你可以
兩首或多首歌同時播放。

這個問題解釋起來要花不少力氣,你還是先去學習操作系統(tǒng)吧,等你學習到一定程度,自然對這個問題理解了。

7樓: >>參與討論
mxinfa
非常感謝!
 
8樓: >>參與討論
qjy_dali
很有耐心的老師,哈哈
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
【串行傳輸】賦給發(fā)送緩沖器的數(shù)據(jù)沒有發(fā)出去,為什么?
xxx
C語言怎么學?進來說一哈!
菜鳥提問:找到一個別人做的字庫,如何在其中定位!
學習C51過程中有個問題不解.高手勿笑.
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號