linux的基础知识——信号的概念
1.計(jì)算機(jī)信號(hào)的特點(diǎn)
\qquad簡單;不能攜帶大量信息;滿足某個(gè)特設(shè)條件才發(fā)送
2.信號(hào)的機(jī)制
\qquadA與B兩個(gè)進(jìn)程,A向B發(fā)送一個(gè)信號(hào),此時(shí)B進(jìn)程正在執(zhí)行自己的程序,在收到信號(hào)時(shí),會(huì)暫停程序的執(zhí)行,先處理信號(hào),處理完畢后,再繼續(xù)處理程序。因?yàn)樾盘?hào)時(shí)軟件層面實(shí)現(xiàn)的中斷,所以被稱為“軟中斷”。
3.信號(hào)的特質(zhì)
\qquad由于信號(hào)都是通過軟件方法實(shí)現(xiàn),其實(shí)施手段導(dǎo)致信號(hào)有很強(qiáng)的延時(shí)性。但對(duì)于用戶來說,時(shí)間其實(shí)非常短,并不易察覺。每個(gè)進(jìn)程收到的信號(hào),其實(shí)都是由內(nèi)核發(fā)送的,內(nèi)核處理。
4.與信號(hào)相關(guān)的事件和狀態(tài)
\qquad產(chǎn)生信號(hào):(1)ctrl+c ctrl+z ctrl+\:出殺死進(jìn)程的信號(hào);(2)系統(tǒng)調(diào)用產(chǎn)生:kill,raise,abort(3)軟件條件產(chǎn)生:定時(shí)器alarm(4)硬件異常產(chǎn)生:非法訪問內(nèi)存(段錯(cuò)誤);除0;內(nèi)存對(duì)齊錯(cuò)誤(5)命令產(chǎn)生,如kill命令
5.信號(hào)相關(guān)概念
\qquad遞達(dá):遞送并且到達(dá)狀態(tài)
\qquad未決:產(chǎn)生和遞達(dá)之間的狀態(tài)。主要由于阻塞(屏蔽)導(dǎo)致該狀態(tài)。
\qquad信號(hào)的處理方式:執(zhí)行默認(rèn)動(dòng)作;忽略(舍棄);捕捉(調(diào)用戶處理函數(shù))
\qquad阻塞態(tài):當(dāng)信號(hào)未被馬上遞送,進(jìn)行遞達(dá),處于阻塞或者屏蔽狀態(tài)。我們常用阻塞信號(hào)集(信號(hào)屏蔽字)這么一個(gè)集合來描述這種狀態(tài)。
6.信號(hào)屏蔽字和未決信號(hào)集
\qquad未決信號(hào)集:在信號(hào)產(chǎn)生到信號(hào)遞達(dá)之間的狀態(tài),若無阻塞,未決狀態(tài)極短;信號(hào)屏蔽字:因?yàn)槟撤N原因,信號(hào)被阻塞的狀態(tài)。
總結(jié)
以上是生活随笔為你收集整理的linux的基础知识——信号的概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客14342 神奇的数字
- 下一篇: linux网络编程——boa移植