資料介紹
重入一般可以理解為一個(gè)函數(shù)在同時(shí)多次調(diào)用,例如操作系統(tǒng)在進(jìn)程調(diào)度過(guò)程中,或者單片機(jī)、處理器等的中斷的時(shí)候會(huì)發(fā)生重入的現(xiàn)象。一般浮點(diǎn)運(yùn)算都是由專(zhuān)門(mén)的硬件來(lái)完成,舉個(gè)例子假設(shè)有個(gè)硬件寄存器名字叫做FLOAT,用來(lái)計(jì)算和存放浮點(diǎn)數(shù)的中間運(yùn)算結(jié)果
這種情況出現(xiàn)在多任務(wù)系統(tǒng)當(dāng)中,在任務(wù)執(zhí)行期間捕捉到信號(hào)并對(duì)其進(jìn)行處理時(shí),進(jìn)程正在執(zhí)行的指令序列就被信號(hào)處理程序臨時(shí)中斷。如果從信號(hào)處理程序返回,則繼續(xù)執(zhí)行進(jìn)程斷點(diǎn)處的正常指令序列,從重新恢復(fù)到斷點(diǎn)重新執(zhí)行的過(guò)程中,函數(shù)所依賴(lài)的環(huán)境沒(méi)有發(fā)生改變,就說(shuō)這個(gè)函數(shù)是可重入的,反之就是不可重入的。眾所周知,在進(jìn)程中斷期間,系統(tǒng)會(huì)保存和恢復(fù)進(jìn)程的上下文,然而恢復(fù)的上下文僅限于返回地址,cpu寄存器等之類(lèi)的少量上下文,而函數(shù)內(nèi)部使用的諸如全局或靜態(tài)變量,buffer等并不在保護(hù)之列,所以如果這些值在函數(shù)被中斷期間發(fā)生了改變,那么當(dāng)函數(shù)回到斷點(diǎn)繼續(xù)執(zhí)行時(shí),其結(jié)果就不可預(yù)料了。打個(gè)比方,比如malloc,將如一個(gè)進(jìn)程此時(shí)正在執(zhí)行malloc分配堆空間,此時(shí)程序捕捉到信號(hào)發(fā)生中斷,執(zhí)行信號(hào)處理程序中恰好也有一個(gè)malloc,這樣就會(huì)對(duì)進(jìn)程的環(huán)境造成破壞,因?yàn)閙alloc通常為它所分配的存儲(chǔ)區(qū)維護(hù)一個(gè)鏈接表,插入執(zhí)行信號(hào)處理函數(shù)時(shí),進(jìn)程可能正在對(duì)這張表進(jìn)行操作,而信號(hào)處理函數(shù)的調(diào)用剛好覆蓋了進(jìn)程的操作,造成錯(cuò)誤。

- LCD的簡(jiǎn)介和工藝流程詳細(xì)資料說(shuō)明 30次下載
- C語(yǔ)言教程之函數(shù)的詳細(xì)資料說(shuō)明 9次下載
- STM32串口實(shí)驗(yàn)的詳細(xì)資料簡(jiǎn)介 1次下載
- Qt Creator的詳細(xì)資料簡(jiǎn)介 33次下載
- python的內(nèi)置函數(shù)詳細(xì)資料概述 0次下載
- MDK main函數(shù)運(yùn)行前的詳細(xì)資料分析 11次下載
- 51單片機(jī)例函數(shù)的詳細(xì)資料說(shuō)明
- 51單片機(jī)的可重入函數(shù)有什么陷阱
- KEIL C51的重入函數(shù)的詳細(xì)資料講解
- 單片機(jī)的本質(zhì)函數(shù)參數(shù)傳遞詳細(xì)資料說(shuō)明
- 如何深度解析C++拷貝構(gòu)造函數(shù)詳細(xì)資料說(shuō)明
- Arduino程序結(jié)構(gòu)及基本函數(shù)的詳細(xì)資料說(shuō)明
- FPGA教程之ISE設(shè)計(jì)流程簡(jiǎn)介的詳細(xì)資料說(shuō)明 15次下載
- C語(yǔ)言實(shí)用教程之函數(shù)的詳細(xì)資料說(shuō)明 3次下載
- C語(yǔ)言教程之文件函數(shù)的詳細(xì)資料說(shuō)明 1次下載
- 瑞薩RZ/T系列MPU的中斷重入實(shí)現(xiàn) 1.6k次閱讀
- 并發(fā)情況如何實(shí)現(xiàn)加鎖來(lái)保證數(shù)據(jù)一致性 1.1k次閱讀
- 函數(shù)的可重入與線(xiàn)程安全有什么關(guān)系 1.4k次閱讀
- 固態(tài)鋰離子電池的詳細(xì)資料解析 9.4k次閱讀
- RS232接口串口取電電路的詳細(xì)資料介紹 10k次閱讀
- Keil c51的應(yīng)用及特性解析 3.5k次閱讀
- 如何避免以太坊智能合約的重入攻擊 1.4k次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計(jì)詳細(xì)資料PPT說(shuō)明 6.9k次閱讀
- 什么是重入攻擊 3.3k次閱讀
- 庫(kù)卡機(jī)器人模擬量輸入輸出編程的詳細(xì)資料概述 8.1k次閱讀
- PPT教程之伺服電機(jī)及其驅(qū)動(dòng)技術(shù)的詳細(xì)資料講解 8.9k次閱讀
- 51單片機(jī)實(shí)時(shí)操作系統(tǒng)的基本結(jié)構(gòu)與模式 6.1k次閱讀
- 基于C51程序遞歸的使用方法解析 2.1k次閱讀
- PLC常用基本環(huán)節(jié)梯形圖和詳細(xì)文字說(shuō)明詳細(xì)資料概述 1.1w次閱讀
- 變壓器保護(hù)的基本要求,保護(hù)配置和運(yùn)行規(guī)定的詳細(xì)資料概述 1.1w次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
- 3.00 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
- 2.51 MB | 次下載 | 免費(fèi)
- 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
- 3.49 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
- 3.26 MB | 次下載 | 免費(fèi)
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
- 3.09 MB | 次下載 | 免費(fèi)
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
- 2.32 MB | 次下載 | 免費(fèi)
- 7STM32G474 HRTIME PWM 丟波問(wèn)題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動(dòng)汽車(chē)高壓線(xiàn)束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛(ài)華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠(chǎng)商的資料說(shuō)明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書(shū)
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論