資料介紹
一、PCB的信號(hào)集
??之前我們知道每個(gè)進(jìn)程都有一個(gè)對(duì)應(yīng)的進(jìn)程控制塊(PCB)用于維護(hù)該進(jìn)程,同樣的,對(duì)于信號(hào)在PCB中會(huì)有兩個(gè)隊(duì)列去維護(hù)它,一個(gè)是未決信號(hào)集(PEND SIGNAL SET),一個(gè)是阻塞信號(hào)集(BLOCK SIGNAL SET),在兩個(gè)信號(hào)集中每一位都對(duì)應(yīng)一個(gè)信號(hào)。對(duì)于未決信號(hào)集,其中的初始值都是0,代表沒有信號(hào)到達(dá)(注:用戶不能設(shè)置未決信號(hào)集,但是可以讀取該信號(hào)集中的值),而阻塞信號(hào)集是用戶可以設(shè)置的,若設(shè)置為1,則表示阻塞該信號(hào)(即使有信號(hào)到達(dá)也不會(huì)處理該信號(hào),直到用戶取消阻塞)其過(guò)程描述如下:
??(點(diǎn)擊放大或下載查看)
??
??那么如果在進(jìn)程解除對(duì)某信號(hào)的阻塞之前這種信號(hào)產(chǎn)生過(guò)多次,將如何處理?POSIX.1允許系統(tǒng)遞送該信號(hào)一次或多次。Linux是這樣實(shí)現(xiàn)的:常規(guī)信號(hào)(前32個(gè)信號(hào))在遞達(dá)之前產(chǎn)生多次只計(jì)一次,而實(shí)時(shí)信號(hào)(后32個(gè)信號(hào))在遞達(dá)之前產(chǎn)生多次可以依次放在一個(gè)隊(duì)列里。本章不討論實(shí)時(shí)信號(hào)。從上圖來(lái)看,每個(gè)信號(hào)只有一個(gè)bit的未決標(biāo)志,非0即1,不記錄該信號(hào)產(chǎn)生了多少次,阻塞標(biāo)志也是這樣表示的。因此,未決和阻塞標(biāo)志可以用相同的數(shù)據(jù)類型sigset_t來(lái)存儲(chǔ),sigset_t稱為信號(hào)集,這個(gè)類型可以表示每個(gè)信號(hào)的“有效”或“無(wú)效”狀態(tài),在阻塞信號(hào)集中“有效”和“無(wú)效”的含義是該信號(hào)是否被阻塞,而在未決信號(hào)集中“有效”和“無(wú)效”的含義是該信號(hào)是否處于未決狀態(tài)。
??阻塞信號(hào)集也叫做當(dāng)前進(jìn)程的信號(hào)屏蔽字(Signal Mask),這里的“屏蔽”應(yīng)該理解為阻塞而不是忽略。
??
二、阻塞信號(hào)集的設(shè)定過(guò)程
一般的操作流程是先構(gòu)造sigset_t信號(hào)集,通過(guò)以下函數(shù)操作信號(hào)集: sigset_t為信號(hào)集,可sizeof(sigset_t)察看其大小為128個(gè)字節(jié)
以下是對(duì)信號(hào)集的操作: int sigemptyset(sigset_t *set) 清空某個(gè)信號(hào)集(全置0) int sigfillset(sigset_t *set) 阻塞所有信號(hào)(全置1 ) int sigaddset(sigset_t *set, int signo) 將信號(hào)集的signo位值1,即阻塞該信號(hào) int sigdelset(sigset_t *set, int signo) 將信號(hào)集的signo位值0,即不阻塞該信號(hào) int sigismember(const sigset_t *set, int signo) 測(cè)試signo的信號(hào)位為1還是0然后使用以sigprocmask函數(shù)注冊(cè)到系統(tǒng)的阻塞信號(hào)集中使其生效:
1、sigprocmask
??調(diào)用函數(shù)sigprocmask可以讀取或更改進(jìn)程的信號(hào)屏蔽字。 #include int sigprocmask(int how, const sigset_t *set, sigset_t *oset);
返回值:若成功則為0
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于JJBoover的遠(yuǎn)程控制ARDUNO自平衡機(jī)器人資料下載 2次下載
- ABB可編程控制器技術(shù)資料 18次下載
- S7-1200可編程控制器資料手冊(cè) 35次下載
- 可編程控制器原理及應(yīng)用 24次下載
- 為了信號(hào)完整性,如何控制PCB的控制走線阻抗?資料下載
- 工業(yè)過(guò)程控制中的DCS分散控制系統(tǒng)資料下載
- 關(guān)于進(jìn)程與線程的解析PDF文件資料
- python運(yùn)算與流程控制循環(huán)代碼資料免費(fèi)下載 0次下載
- MATLAB仿真命令集的資料合集免費(fèi)下載 16次下載
- 過(guò)程控制儀表階段性總結(jié)資料下載 1次下載
- Linux進(jìn)程控制編程 0次下載
- 可編程控制器實(shí)驗(yàn)教程之功能塊編程實(shí)驗(yàn) 0次下載
- 實(shí)時(shí)操作系統(tǒng)AvrX應(yīng)用
- 光電開關(guān)在橡膠壓塊機(jī)行程控制中的應(yīng)用
- 遠(yuǎn)程控制任我行V8.9綠色版 0次下載
- 宏集方案 | 如何選擇適合您的過(guò)程控制器? 329次閱讀
- PLC遠(yuǎn)程控制信號(hào)怎么輸送 3k次閱讀
- 常用的遠(yuǎn)程控制軟件介紹 5.1k次閱讀
- 常用的遠(yuǎn)程控制方法總結(jié) 3.4k次閱讀
- 過(guò)程控制和PLC教程 2k次閱讀
- 什么是程序塊 3.4k次閱讀
- 簡(jiǎn)化用于過(guò)程控制的模擬輸入模塊的設(shè)計(jì) 1.1k次閱讀
- 如何編寫一個(gè)簡(jiǎn)單的電機(jī)控制函數(shù)塊? 3.5k次閱讀
- 如何使用nohup命令在后臺(tái)運(yùn)行進(jìn)程 2.7k次閱讀
- 可編程控制器的特點(diǎn)有哪些 9.3k次閱讀
- 如何使用可編程控制器替代繼電器 5.9k次閱讀
- 過(guò)程控制中的PID控制技術(shù) 9k次閱讀
- 可編程控制器基本知識(shí)_可編程控制器原理及應(yīng)用 6.1w次閱讀
- 智能微弱信號(hào)檢測(cè)系統(tǒng) 2.8k次閱讀
- 可程控核能譜信號(hào)放大器原理分析 2.9k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說(shuō)明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費(fèi)
- 4丹佛斯2800系列變頻器說(shuō)明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊(cè)
- 0.74 MB | 1次下載 | 免費(fèi)
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測(cè)距模塊產(chǎn)品手冊(cè)
- 0.43 MB | 1次下載 | 免費(fèi)
- 8SDFM 激光測(cè)距模塊模組手冊(cè)
- 0.54 MB | 1次下載 | 免費(fèi)
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場(chǎng)分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費(fèi)
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費(fèi)
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場(chǎng)景
- 3.05 MB | 12次下載 | 免費(fèi)
- 6【開源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項(xiàng)目案例及入門學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費(fèi)
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





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