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

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

Chinaunix

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

[系統(tǒng)管理] 中斷處理程序不能被阻塞 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2018-02-09 15:14 |只看該作者 |倒序?yàn)g覽
最近在項(xiàng)目中看到新人寫的代碼,在中斷處理程序中加入了printf。 我告訴他中斷處理程序中不能有這種可能導(dǎo)致阻塞性的動(dòng)作,但當(dāng)他問我問什么的時(shí)候的,我竟答不上來。

不知道是不是很多朋友也像我一樣,寫代碼久了都忘記了一些本質(zhì)。

針對這個(gè)問題,我在網(wǎng)上搜了很多朋友的回答,但是感覺都沒有解釋到問題的根本。

翻閱內(nèi)核詳解一本書中說到,允許內(nèi)核控制路徑嵌套執(zhí)行必須付出代價(jià),那就是中斷處理程序必須永不阻塞。 也就是說中斷程序是因?yàn)橹С智短撞挪荒茏枞摹?br />
仔細(xì)一想,我的解釋是這樣的:

中斷發(fā)生時(shí)不能確定當(dāng)前運(yùn)行的是哪一個(gè)進(jìn)程,但是它寄生在當(dāng)前進(jìn)程的堆棧中執(zhí)行。

如果不支持中斷嵌套,拋開效率、硬件特性等因素,軟件的角度上它是可以被切換的,因?yàn)楫?dāng)前內(nèi)核控制路徑只有唯一的進(jìn)程堆棧。

但是支持中斷嵌套的話,當(dāng)前內(nèi)核控制路徑就可能存在多個(gè)進(jìn)程的堆棧,切換回來后,如果嵌套最底層的堆棧和頂層的堆棧不是同一個(gè)進(jìn)程的話,就會(huì)引起進(jìn)程調(diào)度的紊亂。


這樣的解釋結(jié)合調(diào)度代碼也就能說的通了,不知有幸路過的朋友是什么意見?

求職 : 嵌入式開發(fā)
論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2018-05-29 22:19 |只看該作者
我認(rèn)為內(nèi)核至少大多數(shù)情況下會(huì)借用內(nèi)核的內(nèi)核棧。阻塞引起進(jìn)程調(diào)度就找不到原來的內(nèi)核棧了。

求職 : 嵌入式開發(fā)
論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2018-05-29 22:19 |只看該作者
我認(rèn)為內(nèi)核至少大多數(shù)情況下會(huì)借用內(nèi)核的內(nèi)核棧。阻塞引起進(jìn)程調(diào)度就找不到原來的內(nèi)核棧了。
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP