女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux信號(hào)事件發(fā)生的兩個(gè)來(lái)源

FPGA之家 ? 來(lái)源:嵌入式軟件開(kāi)發(fā)交流 ? 作者:young ? 2021-06-18 15:09 ? 次閱讀

什么是信號(hào)

信號(hào)可以理解為軟件中斷,是在軟件層次上對(duì)中斷機(jī)制的一種模擬,在原理上,一個(gè)進(jìn)程收到一個(gè)信號(hào)與處理器收到一個(gè)中斷請(qǐng)求可以說(shuō)是差不多的。信號(hào)是異步的,一個(gè)進(jìn)程不必通過(guò)任何操作來(lái)等待信號(hào)的到達(dá)。信號(hào)可以直接進(jìn)行用戶(hù)空間進(jìn)程和內(nèi)核進(jìn)程之間的交互,內(nèi)核進(jìn)程也可以利用它來(lái)通知用戶(hù)空間進(jìn)程發(fā)生了哪些系統(tǒng)事件。

誰(shuí)來(lái)產(chǎn)生信號(hào)

信號(hào)事件的發(fā)生有兩個(gè)來(lái)源:

(1) 硬件來(lái)源,比如我們按下ctrl+c,會(huì)產(chǎn)生SIGINT信號(hào)。

(2) 軟件來(lái)源,比如我們調(diào)用alarm函數(shù)來(lái)產(chǎn)生SIGALRM信號(hào)。

常用信號(hào)

Linux信號(hào)的編號(hào)是從1-64,其中32和33空缺,沒(méi)有對(duì)應(yīng)的信號(hào)。通過(guò)kill -l 可查看所有的信號(hào)。

1~31之間的信號(hào)叫做不可靠信號(hào), 信號(hào)可能會(huì)丟失, 也叫做非實(shí)時(shí)信號(hào)。

34~64之間的信號(hào)叫做可靠信號(hào), 信號(hào)不會(huì)丟失, 也叫做實(shí)時(shí)信號(hào)。

信號(hào)響應(yīng)方式

信號(hào)有如下三種響應(yīng)方式:

(1) 忽略信號(hào),即對(duì)信號(hào)不做任何處理,但是有兩個(gè)信號(hào)不能忽略,即 SIGKILL 及 SIGSTOP。

(2) 捕捉信號(hào),定義信號(hào)處理函數(shù),當(dāng)信號(hào)發(fā)生時(shí),執(zhí)行相應(yīng)的自定義處理函數(shù)。

(3) 執(zhí)行缺省操作,Linux 對(duì)每種信號(hào)都規(guī)定了默認(rèn)操作。

信號(hào)處理過(guò)程

信號(hào)處理的大致流程如下:

信號(hào)產(chǎn)生 -》 信號(hào)注冊(cè) -》 信號(hào)在進(jìn)程中注銷(xiāo) -》 信號(hào)處理函數(shù)執(zhí)行完畢

我們主要講一下“信號(hào)注冊(cè)” 和“信號(hào)在進(jìn)程中注銷(xiāo)”。其他兩個(gè)都比較好理解。

信號(hào)注冊(cè)指的是在目標(biāo)進(jìn)程中注冊(cè),該目標(biāo)進(jìn)程中有未決信號(hào)的信息。啥叫未決信號(hào)呢,實(shí)際執(zhí)行信號(hào)的處理動(dòng)作稱(chēng)為信號(hào)遞達(dá),信號(hào)從產(chǎn)生到遞達(dá)之間的狀態(tài),稱(chēng)為信號(hào)未決。

先來(lái)看一下對(duì)應(yīng)的結(jié)構(gòu)體:

struct sigpending{ //未決信號(hào)鏈的頭部與尾部 struct sigqueue *head, *tail; //未決信號(hào)集 sigset_t signal;};

struct sigqueue{ struct sigqueue *next; //信號(hào)所攜帶的信息 siginfo_t info;}

信號(hào)注冊(cè)的過(guò)程就是將信號(hào)值加入到未決信號(hào)集siginfo_t中,將信號(hào)所攜帶的信息加入到未決信號(hào)鏈的某一個(gè)sigqueue中去。

因此,對(duì)于可靠的信號(hào),可能存在多個(gè)未決信號(hào)的sigqueue結(jié)構(gòu),對(duì)于每次信號(hào)到來(lái)都會(huì)注冊(cè)。而不可靠信號(hào)只注冊(cè)一次,只有一個(gè)sigqueue結(jié)構(gòu)。

只要信號(hào)在進(jìn)程的未決信號(hào)集中,表明進(jìn)程已經(jīng)知道這些信號(hào)了,還沒(méi)來(lái)得及處理,或者是這些信號(hào)被阻塞。

信號(hào)在進(jìn)程中注銷(xiāo)是指進(jìn)程已經(jīng)接收到信號(hào)了,會(huì)在鏈表中移除。在進(jìn)程的執(zhí)行過(guò)程中,每次從系統(tǒng)調(diào)用或中斷返回用戶(hù)空間的時(shí)候,都會(huì)檢查是否有信號(hào)沒(méi)有被處理。如果這些信號(hào)沒(méi)有被阻塞,那么就調(diào)用相應(yīng)的信號(hào)處理函數(shù)來(lái)處理這些信號(hào)。可靠信號(hào)和不可靠信號(hào)的處理有所不同:

不可靠信號(hào):由于不可靠信號(hào)在未決信號(hào)鏈中只有一個(gè)sigqueue結(jié)構(gòu),因此將它刪除的同時(shí),也會(huì)將信號(hào)從未決信號(hào)集中刪除。

可靠信號(hào):由于可靠信號(hào)在未決信號(hào)鏈中可能有多個(gè)sigqueue結(jié)構(gòu),如果只有一個(gè),也將信號(hào)從未決信號(hào)集中刪除掉。如果有多個(gè)則不從未決信號(hào)集中刪除信號(hào),注銷(xiāo)完畢。

原文標(biāo)題:Linux信號(hào)及工作原理

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11446

    瀏覽量

    212658
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2840

    瀏覽量

    77851

原文標(biāo)題:Linux信號(hào)及工作原理

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ADC124S021同時(shí)使用兩個(gè)通道,兩個(gè)通道的轉(zhuǎn)換數(shù)據(jù)發(fā)生串?dāng)_怎么解決?

    用DSP的SPI接口接ADC124S021,如果只是進(jìn)行單通道的信號(hào)采集,則轉(zhuǎn)換后的數(shù)值穩(wěn)定,但是同時(shí)使用兩個(gè)通道時(shí)則兩個(gè)通道的數(shù)據(jù)發(fā)生串?dāng)_現(xiàn)象。如,我單獨(dú)使用2通道,則轉(zhuǎn)換后數(shù)值穩(wěn)
    發(fā)表于 12-30 07:41

    從時(shí)域和頻域兩個(gè)角度對(duì)信號(hào)進(jìn)行分析

    一般來(lái)說(shuō),我們會(huì)從時(shí)域和頻域兩個(gè)角度,分別對(duì)信號(hào)進(jìn)行分析。 時(shí)域 時(shí)域是真實(shí)世界存在的域,按時(shí)間順序呈現(xiàn)。例如,在某個(gè)時(shí)鐘信號(hào)的時(shí)域圖中,可以觀(guān)察到兩個(gè)重要的參數(shù),波形的周期和上升沿:
    的頭像 發(fā)表于 11-19 10:18 ?2833次閱讀
    從時(shí)域和頻域<b class='flag-5'>兩個(gè)</b>角度對(duì)<b class='flag-5'>信號(hào)</b>進(jìn)行分析

    ad如何設(shè)置兩個(gè)元器件的距離

    在A(yíng)ltium Designer(簡(jiǎn)稱(chēng)AD)中設(shè)置兩個(gè)元器件之間的距離,主要是通過(guò)設(shè)置元器件間的安全間距(Clearance)規(guī)則來(lái)實(shí)現(xiàn)的。這個(gè)規(guī)則定義了元器件之間、元器件與走線(xiàn)之間以及其他設(shè)計(jì)元素
    的頭像 發(fā)表于 09-02 15:31 ?1.5w次閱讀

    如何用塊ad9851實(shí)現(xiàn)輸出正交的兩個(gè)余弦信號(hào)

    我們用ad9851輸出兩個(gè)正交的兩個(gè)余弦信號(hào),是只要我們用同一個(gè)時(shí)鐘信號(hào)給他們輸入clk信號(hào)
    發(fā)表于 09-02 07:26

    單穩(wěn)態(tài)觸發(fā)器的兩個(gè)工作狀態(tài)是什么

    單穩(wěn)態(tài)觸發(fā)器是一種數(shù)字邏輯電路,廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)中。它具有兩個(gè)工作狀態(tài):穩(wěn)定狀態(tài)和暫態(tài)狀態(tài)。 單穩(wěn)態(tài)觸發(fā)器的工作原理 單穩(wěn)態(tài)觸發(fā)器是一種具有兩個(gè)穩(wěn)定狀態(tài)的觸發(fā)器,其中一個(gè)狀態(tài)是穩(wěn)定狀態(tài)
    的頭像 發(fā)表于 08-22 10:11 ?954次閱讀

    具有兩個(gè)獨(dú)立PLL、八路輸出、集成EEPROM的LMK03328超低抖動(dòng)時(shí)鐘發(fā)生器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有兩個(gè)獨(dú)立PLL、八路輸出、集成EEPROM的LMK03328超低抖動(dòng)時(shí)鐘發(fā)生器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-21 09:14 ?0次下載
    具有<b class='flag-5'>兩個(gè)</b>獨(dú)立PLL、八路輸出、集成EEPROM的LMK03328超低抖動(dòng)時(shí)鐘<b class='flag-5'>發(fā)生</b>器數(shù)據(jù)表

    觸發(fā)器的兩個(gè)穩(wěn)定狀態(tài)分別是什么

    觸發(fā)器作為數(shù)字電路中的基本邏輯單元,具有兩個(gè)穩(wěn)定狀態(tài),這兩個(gè)狀態(tài)通常用于表示二進(jìn)制數(shù)碼中的0和1。
    的頭像 發(fā)表于 08-12 11:01 ?2556次閱讀

    雙穩(wěn)態(tài)電路的兩個(gè)穩(wěn)定狀態(tài)是什么

    雙穩(wěn)態(tài)電路是一種具有兩個(gè)穩(wěn)定狀態(tài)的電子電路,廣泛應(yīng)用于數(shù)字電路、通信系統(tǒng)、存儲(chǔ)器等領(lǐng)域。 雙穩(wěn)態(tài)電路的基本概念 雙穩(wěn)態(tài)電路是一種具有兩個(gè)穩(wěn)定狀態(tài)的電路,即在沒(méi)有外部輸入信號(hào)的情況下,電路可以保持在
    的頭像 發(fā)表于 08-11 15:00 ?2347次閱讀

    雙穩(wěn)態(tài)觸發(fā)器的兩個(gè)基本性質(zhì)是什么

    的定義 雙穩(wěn)態(tài)觸發(fā)器是一種具有兩個(gè)穩(wěn)定狀態(tài)的邏輯電路,通常由兩個(gè)交叉耦合的反相器或門(mén)電路構(gòu)成。在沒(méi)有外部輸入信號(hào)的情況下,雙穩(wěn)態(tài)觸發(fā)器可以保持在兩個(gè)穩(wěn)定狀態(tài)之一,即“0”狀態(tài)或“1”狀
    的頭像 發(fā)表于 08-11 10:08 ?1178次閱讀

    兩個(gè)路由器ip地址沖突怎么解決

    當(dāng)兩個(gè)路由器的IP地址發(fā)生沖突時(shí),會(huì)導(dǎo)致網(wǎng)絡(luò)連接不穩(wěn)定或無(wú)法連接。以下是解決兩個(gè)路由器IP地址沖突的步驟: 確定沖突的IP地址 首先,需要確定兩個(gè)路由器的IP地址是否沖突。可以通過(guò)以下
    的頭像 發(fā)表于 07-09 11:35 ?9020次閱讀

    三菱plcFx2N2AD可以接兩個(gè)壓力傳感器嗎

    三菱PLC FX2N-2AD是一款具有模擬輸入功能的可編程邏輯控制器,可以接收模擬信號(hào)并將其轉(zhuǎn)換為數(shù)字信號(hào),以便進(jìn)行進(jìn)一步的處理和控制。在某些應(yīng)用場(chǎng)景中,可能需要同時(shí)接入兩個(gè)壓力傳感器,以實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 06-20 10:13 ?1297次閱讀

    兩個(gè)PLC之間如何交互信號(hào)

    在工業(yè)自動(dòng)化系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制器)是核心的控制設(shè)備。在許多復(fù)雜的應(yīng)用場(chǎng)景中,需要兩個(gè)或多個(gè)PLC之間進(jìn)行信號(hào)交互,以實(shí)現(xiàn)更高
    的頭像 發(fā)表于 06-14 16:57 ?6443次閱讀

    信號(hào)源與信號(hào)發(fā)生器的區(qū)別

    在電子工程、通信、科研以及教學(xué)等領(lǐng)域中,信號(hào)源和信號(hào)發(fā)生器是兩個(gè)常用的設(shè)備,它們?cè)陔娐窚y(cè)試、系統(tǒng)調(diào)試、信號(hào)處理等方面發(fā)揮著重要作用。然而,盡
    的頭像 發(fā)表于 05-30 15:51 ?2301次閱讀

    AD4938正負(fù)輸入端分別輸入兩個(gè)信號(hào),對(duì)這兩個(gè)信號(hào)做減法輸出 ,這種輸入是非差分信號(hào)嗎?

    AD4938全差分放大器 ,正負(fù)輸入端分別輸入兩個(gè)信號(hào)(非差分關(guān)系),對(duì)這兩個(gè)信號(hào)做減法輸出 ,這種輸入是非差分信號(hào),可以這樣應(yīng)用嗎 ?
    發(fā)表于 05-29 08:07

    請(qǐng)問(wèn)ad9171的兩個(gè)輸出端口是否支持同時(shí)輸出兩個(gè)不同的頻率?

    你好,關(guān)于A(yíng)D9171芯片我有一個(gè)問(wèn)題 ,數(shù)據(jù)手冊(cè)顯示該芯片具有兩個(gè)輸出通道,芯片內(nèi)部有DAC0和DAC1共兩個(gè)DAC通道,那么這兩個(gè)通道是否支持同時(shí)輸出
    發(fā)表于 05-28 06:20