亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2184 | 回復(fù): 5
打印 上一主題 下一主題

[中斷] (linux2.6內(nèi)核)中斷程序中不能進(jìn)行調(diào)度疑惑 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-02 22:16 |只看該作者 |倒序?yàn)g覽
網(wǎng)上有好多這方面的解答,都沒咋看懂,發(fā)帖子請(qǐng)教各位大神
前提:
2.6內(nèi)核中,有個(gè)中斷棧的概念,一個(gè)cpu有兩個(gè)中斷棧,也就是說假設(shè)進(jìn)程A發(fā)生中斷,中斷程序就會(huì)在指定的中斷棧中運(yùn)行,A與此中斷的棧是獨(dú)立分開的
問題(我理解的步驟):
1.A發(fā)生中斷,current指向當(dāng)前進(jìn)程A
2.中斷函數(shù)執(zhí)行,此時(shí)在新的棧中執(zhí)行, current此時(shí)指向A
3.任務(wù)調(diào)度,此時(shí)cpu保存硬件上下文(也就是當(dāng)前中斷上下文)至current指向的thread_info中,即A中,然后執(zhí)行schule()函數(shù)切換到別的任務(wù),
4.切換回任務(wù)A中
請(qǐng)教大家這樣的話就算是有獨(dú)立的中斷棧,在中斷中進(jìn)行調(diào)度任務(wù)的話,當(dāng)前硬件的ss,eip會(huì)自動(dòng)被保存到current所指向的進(jìn)程中,那么下回不也能在切換回來繼續(xù)執(zhí)行嗎?

論壇徽章:
13
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-29 06:20:00每日論壇發(fā)貼之星
日期:2016-08-14 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-08-14 06:20:00每日論壇發(fā)貼之星
日期:2016-08-13 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-13 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-13 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-08-13 06:20:00每日論壇發(fā)貼之星
日期:2016-08-12 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-12 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-12 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-08-12 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-08-09 06:20:00
2 [報(bào)告]
發(fā)表于 2015-07-17 20:49 |只看該作者
本帖最后由 karma303 于 2015-07-17 20:50 編輯

  Hi,中斷處理程序中不能調(diào)用schedule,這是早期unix設(shè)計(jì)時(shí)的一個(gè)簡(jiǎn)化。
  中斷例程可以“軟性”的做schedule,像這樣:
  current->need_sched = 1
  這樣,當(dāng)中斷例程結(jié)束,返回用戶空間前夕,內(nèi)核會(huì)檢測(cè)一下need_sched字段,做schedule的。(這時(shí)候中斷處理流程已經(jīng)結(jié)束了)。

  上面一段話,是我對(duì)你題目的理解。你是想說這吧?
  帖子的最后一段話沒有看懂,沒法回復(fù)。  state it another way.

論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-16 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-18 06:20:00每日論壇發(fā)貼之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16賽季CBA聯(lián)賽之江蘇
日期:2017-06-26 11:05:5615-16賽季CBA聯(lián)賽之上海
日期:2017-07-21 18:12:5015-16賽季CBA聯(lián)賽之青島
日期:2017-09-04 17:32:0515-16賽季CBA聯(lián)賽之吉林
日期:2018-03-26 10:02:16程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-15 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-07-07 18:37:512015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-08-17 12:21:08
3 [報(bào)告]
發(fā)表于 2015-07-20 18:23 |只看該作者
猜測(cè)樓主是想問,為什么不能在中斷上下文調(diào)度?
或者是,~假如~在中斷上下文發(fā)生了調(diào)度,由于irq stack的esp被保存了,信息是完整的,是否就可以被調(diào)度回來?

這肯定是不行的,因?yàn)閕rq stack是per cpu的,不是per process的,新調(diào)度的進(jìn)程B如果發(fā)生了中斷,將覆蓋進(jìn)程A的irq stack。
PS,無irq-stack的場(chǎng)景呢?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2015-08-05 14:02 |只看該作者
nswcfd 發(fā)表于 2015-07-20 18:23
猜測(cè)樓主是想問,為什么不能在中斷上下文調(diào)度?
或者是,~假如~在中斷上下文發(fā)生了調(diào)度,由于irq stack的e ...

謝謝回復(fù) ,恍然大悟,如果B進(jìn)程發(fā)生 ①中斷用了irq_stack,②之后進(jìn)行調(diào)度,③之后運(yùn)行進(jìn)程A,④進(jìn)程A又發(fā)生中斷用了irq_stack(覆蓋了進(jìn)程B的irq_stack), ⑤這樣進(jìn)程B的環(huán)境遭到了破壞,⑥.這時(shí)假設(shè)進(jìn)程B又被切換回來運(yùn)行,會(huì)繼續(xù)運(yùn)行之前irq_stack所在的位置,但irq_stack所保存的如何回去B進(jìn)程的信息不復(fù)存在. 我理解的對(duì)嗎?

-------------------------------------------------------------------------------------------------------------------------------------------
之前我不理解網(wǎng)上說 :若進(jìn)程A運(yùn)行,產(chǎn)生中斷后,在中斷中進(jìn)行調(diào)度的話,是沒法再切換回A中繼續(xù)運(yùn)行. 我認(rèn)為可以,因?yàn)椴还苁沁M(jìn)程棧還是中斷棧, 在任務(wù)調(diào)度的時(shí)候,都會(huì)把當(dāng)前cpu的上下文存起來的
比如進(jìn)程A---->發(fā)生中斷---->中斷中睡眠( 會(huì)把當(dāng)前寄存器的值 ss sp eip..存入全局變量current中 ,雖然存入的ss,sp 是屬于獨(dú)立中斷棧,但會(huì)存到進(jìn)程A的current中),所以之后理論上是可以再切換回來的  

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2015-08-05 14:07 |只看該作者
karma303 發(fā)表于 2015-07-17 20:49
Hi,中斷處理程序中不能調(diào)用schedule,這是早期unix設(shè)計(jì)時(shí)的一個(gè)簡(jiǎn)化。
  中斷例程可以“軟性”的做sche ...

謝謝回復(fù) ,我的意思是想說進(jìn)程發(fā)生中斷,在中斷中進(jìn)行睡眠或調(diào)度(schedule),那么此進(jìn)程還是會(huì)被調(diào)度回來的,因?yàn)榧僭O(shè)A進(jìn)程在運(yùn)行,current指向的是A,A發(fā)生中斷,若在中斷中睡眠(此時(shí)current指向的還是A), 睡眠前會(huì)把此時(shí)cpu的上下文存入current中(即A中)(雖然此時(shí)的上下文輸入per cpu)

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2015-08-05 14:08 |只看該作者
發(fā)現(xiàn)自己的想象力不夠啊'(
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP