真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux/unix信號機制學習-創(chuàng)新互聯(lián)

今天在閱讀《linux內(nèi)核完全剖析-基于0.12內(nèi)核》一書中信號(sigal.c)處理這一小節(jié)時發(fā)現(xiàn)自己原來對信號機制的理解并不是很到位,通過查閱資料整理記錄下來。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的舟曲網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

幾個概念:
1)信號是什么:

  一個信號就是一個消息,它通知進程一個某種類型的事件已經(jīng)在系統(tǒng)中發(fā)生了;

  • 用戶在終端按下某些鍵,終端驅(qū)動程序會發(fā)送信號給前臺進程;例如ctrl-c產(chǎn)生SIGINT信號;ctrl-\產(chǎn)生SIGQUIT信號;ctrl-z產(chǎn)生SIGSTP信號;

  • 硬件異常產(chǎn)生信號;這些信號由硬件檢測到并通知內(nèi)核,由內(nèi)核通知當前進程,例如當前進程出現(xiàn)除0錯誤;

  • kill系統(tǒng)調(diào)用,一個進程可以調(diào)用kill發(fā)送信號給另一個進程;

  • 內(nèi)核檢測到某種軟件設置的條件發(fā)生時也可能發(fā)信號給一個進程,例如alarm系統(tǒng)調(diào)用就會導致出現(xiàn)這樣的場景;

2)阻塞信號、待處理信號:
  阻塞信號指的是某個進程阻塞了某個或某些信號集;阻塞并不是說進程不接收指定的信號集;而是指信號仍可以被進程接收(放入待處理信號集),但是不處理。從內(nèi)核具體的實現(xiàn)可以很好的理解;
  內(nèi)核在task_struct中維護進程信號阻塞向量(block)和pending向量(待處理信號集);block與pending一一對應,對于某一個信號:若pending對應bit置位而block復位,標識信號已發(fā)生并接收且當前未被進程阻塞,可以立刻處理(默認或用戶自定義信號處理函數(shù));若pending對應bit復位而block置位,標識信號還未被接收到,即使接收到了,那么也被當前進程阻塞(即不被立刻處理,需要接觸阻塞后才可處理)。。。

3)信號處理細微問題:

  1. 待處理信號可能被阻塞:若當前進程捕捉一個SIGINT信號,并且當前正在運行該信號的處理程序,那么如果另一個SIGINT信號傳遞到這個進程,那么個這個SIGINT將變成待處理的,直到處理程序返回。

  2. 待處理信號不會排隊等待:這個我的理解是與內(nèi)核實現(xiàn)有關(guān)(內(nèi)核一般使用位向量標識信號集),好像現(xiàn)在linux中有實時信號集是可以排隊的(以后看到了再學習吧。。。)

  3. 系統(tǒng)調(diào)用可以被中斷:一般是對慢速系統(tǒng)調(diào)用來說的,被中斷的慢速系統(tǒng)調(diào)用在信號處理程序返回時不再繼續(xù),而是立即返回用戶一個錯誤條件,并將errno置為EINTR;

4)可移植到信號處理程序
可移植信號語義為如下:

  1. 只有這個處理程序當前正在處理的那種類型的信號被阻塞;

  2. 和所有信號是實現(xiàn)一樣,信號不會排隊等待;

  3. 只要可能,被中斷的系統(tǒng)調(diào)用會重啟;(用戶實現(xiàn):顯式循環(huán)調(diào)用系統(tǒng)調(diào)用;內(nèi)核實現(xiàn):恢復系統(tǒng)調(diào)用參數(shù),讓用戶棧中的eip重新指向系統(tǒng)調(diào)用中斷指令;)

  4. 一旦設置了信號處理程序,它就一直保持,直到重新設置。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章題目:linux/unix信號機制學習-創(chuàng)新互聯(lián)
標題URL:http://weahome.cn/article/csghhg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部