日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

面试题----中断的一些知识

發(fā)布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题----中断的一些知识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

中斷的一些知識

什么是中斷

中斷指處理機(jī)處理程序運(yùn)行中出現(xiàn)的緊急事件的整個過程.程序運(yùn)行過程中,系統(tǒng)外部、系統(tǒng)內(nèi)部或者現(xiàn)行程序本身若出現(xiàn)緊急事件,處理機(jī)立即中止現(xiàn)行程序的運(yùn)行,自動轉(zhuǎn)入相應(yīng)的處理程序(中斷服務(wù)程序),待處理完后,再返回原來的程序運(yùn)行,這整個過程稱為程序中斷。

?

CPU要做的事情:

改變工作模式至中斷模式

保存現(xiàn)場

分析中斷原因,跳到中斷起始地址處理中斷

返回到原來模式

恢復(fù)現(xiàn)場繼續(xù)執(zhí)行原來的程序。

?

可重入程序

可重入程序

一個可重入的函數(shù)簡單來說就是可以被中斷的函數(shù),也就是說,可以在這個函數(shù)執(zhí)行的任何時刻中斷它,轉(zhuǎn)入OS調(diào)度下去執(zhí)行另外一段代碼,而返回控制時不會出現(xiàn)什么錯誤;而不可重入的函數(shù)由于使用了一些系統(tǒng)資源,比如全局變量區(qū),中斷向量表等,所以它如果被中斷的話,可能會出現(xiàn)問題,這類函數(shù)是不能運(yùn)行在多任務(wù)環(huán)境下的。

  

也可以這樣理解,重入即表示重復(fù)進(jìn)入,首先它意味著這個函數(shù)可以被中斷,其次意味著它除了使用自己棧上的變量以外不依賴于任何環(huán)境(包括 static),這樣的函數(shù)就是purecode(純代碼)可重入,可以允許有該函數(shù)的多個副本在運(yùn)行,由于它們使用的是分離的棧,所以不會互相干擾

?

常見的不可重入程序

常見的不可重入函數(shù)有:

printf --------引用全局變量stdout

malloc --------使用全局內(nèi)存分配表

free? --------使用全局內(nèi)存分配表

?

可重入函數(shù)與線程安全函數(shù)

可重入函數(shù)一定是線程安全的。不可重入函數(shù),在加入同步機(jī)制后也可以是線程安全的。

?

ISR中斷服務(wù)子程序的特點(diǎn)

  • ISR不能有返回值;
  • ISR不能傳遞參數(shù);
  • ISR應(yīng)該是短而高效的,在ISR中做浮點(diǎn)運(yùn)算是不明智的;
  • ISR中不應(yīng)該有重入和性能上的問題,因此不應(yīng)該使用pintf()函數(shù)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/qingergege/p/7833008.html

總結(jié)

以上是生活随笔為你收集整理的面试题----中断的一些知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。