在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux信號事件發生的兩個來源

FPGA之家 ? 來源:嵌入式軟件開發交流 ? 作者:young ? 2021-06-18 15:09 ? 次閱讀

什么是信號

信號可以理解為軟件中斷,是在軟件層次上對中斷機制的一種模擬,在原理上,一個進程收到一個信號與處理器收到一個中斷請求可以說是差不多的。信號是異步的,一個進程不必通過任何操作來等待信號的到達。信號可以直接進行用戶空間進程和內核進程之間的交互,內核進程也可以利用它來通知用戶空間進程發生了哪些系統事件。

誰來產生信號

信號事件的發生有兩個來源:

(1) 硬件來源,比如我們按下ctrl+c,會產生SIGINT信號。

(2) 軟件來源,比如我們調用alarm函數來產生SIGALRM信號。

常用信號

Linux信號的編號是從1-64,其中32和33空缺,沒有對應的信號。通過kill -l 可查看所有的信號。

1~31之間的信號叫做不可靠信號, 信號可能會丟失, 也叫做非實時信號。

34~64之間的信號叫做可靠信號, 信號不會丟失, 也叫做實時信號。

信號響應方式

信號有如下三種響應方式:

(1) 忽略信號,即對信號不做任何處理,但是有兩個信號不能忽略,即 SIGKILL 及 SIGSTOP。

(2) 捕捉信號,定義信號處理函數,當信號發生時,執行相應的自定義處理函數。

(3) 執行缺省操作,Linux 對每種信號都規定了默認操作。

信號處理過程

信號處理的大致流程如下:

信號產生 -》 信號注冊 -》 信號在進程中注銷 -》 信號處理函數執行完畢

我們主要講一下“信號注冊” 和“信號在進程中注銷”。其他兩個都比較好理解。

信號注冊指的是在目標進程中注冊,該目標進程中有未決信號的信息。啥叫未決信號呢,實際執行信號的處理動作稱為信號遞達,信號從產生到遞達之間的狀態,稱為信號未決。

先來看一下對應的結構體:

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

struct sigqueue{ struct sigqueue *next; //信號所攜帶的信息 siginfo_t info;}

信號注冊的過程就是將信號值加入到未決信號集siginfo_t中,將信號所攜帶的信息加入到未決信號鏈的某一個sigqueue中去。

因此,對于可靠的信號,可能存在多個未決信號的sigqueue結構,對于每次信號到來都會注冊。而不可靠信號只注冊一次,只有一個sigqueue結構。

只要信號在進程的未決信號集中,表明進程已經知道這些信號了,還沒來得及處理,或者是這些信號被阻塞。

信號在進程中注銷是指進程已經接收到信號了,會在鏈表中移除。在進程的執行過程中,每次從系統調用或中斷返回用戶空間的時候,都會檢查是否有信號沒有被處理。如果這些信號沒有被阻塞,那么就調用相應的信號處理函數來處理這些信號。可靠信號和不可靠信號的處理有所不同:

不可靠信號:由于不可靠信號在未決信號鏈中只有一個sigqueue結構,因此將它刪除的同時,也會將信號從未決信號集中刪除。

可靠信號:由于可靠信號在未決信號鏈中可能有多個sigqueue結構,如果只有一個,也將信號從未決信號集中刪除掉。如果有多個則不從未決信號集中刪除信號,注銷完畢。

原文標題:Linux信號及工作原理

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11466

    瀏覽量

    212877
  • 信號
    +關注

    關注

    11

    文章

    2844

    瀏覽量

    77942

原文標題:Linux信號及工作原理

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    當CY7C65215在兩個通道上配置為 SPI 和 I2C 時,能否在Linux系統中看到兩個設備?

    我的客戶想知道,當 CY7C65215 在兩個通道上配置為 SPI 和 I2C 時,他能否在 Linux 系統中看到兩個設備。
    發表于 05-26 06:27

    ADC124S021同時使用兩個通道,兩個通道的轉換數據發生串擾怎么解決?

    用DSP的SPI接口接ADC124S021,如果只是進行單通道的信號采集,則轉換后的數值穩定,但是同時使用兩個通道時則兩個通道的數據發生串擾現象。如,我單獨使用2通道,則轉換后數值穩
    發表于 12-30 07:41

    從時域和頻域兩個角度對信號進行分析

    一般來說,我們會從時域和頻域兩個角度,分別對信號進行分析。 時域 時域是真實世界存在的域,按時間順序呈現。例如,在某個時鐘信號的時域圖中,可以觀察到兩個重要的參數,波形的周期和上升沿:
    的頭像 發表于 11-19 10:18 ?3005次閱讀
    從時域和頻域<b class='flag-5'>兩個</b>角度對<b class='flag-5'>信號</b>進行分析

    單相電機兩個繞組都在定子上嗎

    單相電機的兩個繞組,即起動線圈(或稱為輔助繞組、副繞組)和運行線圈(或稱為主繞組),都位于定子上 。這兩個繞組在電機中起著關鍵作用,共同協作以產生旋轉磁場,從而使電機能夠運轉。 單相電機通常由一
    的頭像 發表于 09-03 15:10 ?1950次閱讀

    ad如何設置兩個元器件的距離

    在Altium Designer(簡稱AD)中設置兩個元器件之間的距離,主要是通過設置元器件間的安全間距(Clearance)規則來實現的。這個規則定義了元器件之間、元器件與走線之間以及其他設計元素
    的頭像 發表于 09-02 15:31 ?1.5w次閱讀

    如何用塊ad9851實現輸出正交的兩個余弦信號

    我們用ad9851輸出兩個正交的兩個余弦信號,是只要我們用同一時鐘信號給他們輸入clk信號
    發表于 09-02 07:26

    使用比較器TLV3501把模擬信號轉化為數字信號,為什么振蕩出的信號總會有兩個連續的波形?

    和15pf。但是振蕩出的信號總會有兩個連續的波形。 具體圖如下: 2為藍色,是模擬信號。1為黃色,是比較器輸出信號。4為綠色,是比較器上升沿觸發振蕩產生的
    發表于 08-29 08:11

    單穩態觸發器的兩個工作狀態是什么

    單穩態觸發器是一種數字邏輯電路,廣泛應用于各種電子設備和系統中。它具有兩個工作狀態:穩定狀態和暫態狀態。 單穩態觸發器的工作原理 單穩態觸發器是一種具有兩個穩定狀態的觸發器,其中一狀態是穩定狀態
    的頭像 發表于 08-22 10:11 ?1018次閱讀

    具有兩個獨立PLL、八路輸出、集成EEPROM的LMK03328超低抖動時鐘發生器數據表

    電子發燒友網站提供《具有兩個獨立PLL、八路輸出、集成EEPROM的LMK03328超低抖動時鐘發生器數據表.pdf》資料免費下載
    發表于 08-21 09:14 ?0次下載
    具有<b class='flag-5'>兩個</b>獨立PLL、八路輸出、集成EEPROM的LMK03328超低抖動時鐘<b class='flag-5'>發生</b>器數據表

    觸發器的兩個穩定狀態分別是什么

    觸發器作為數字電路中的基本邏輯單元,具有兩個穩定狀態,這兩個狀態通常用于表示二進制數碼中的0和1。
    的頭像 發表于 08-12 11:01 ?2759次閱讀

    雙穩態電路的兩個穩定狀態是什么

    雙穩態電路是一種具有兩個穩定狀態的電子電路,廣泛應用于數字電路、通信系統、存儲器等領域。 雙穩態電路的基本概念 雙穩態電路是一種具有兩個穩定狀態的電路,即在沒有外部輸入信號的情況下,電路可以保持在
    的頭像 發表于 08-11 15:00 ?2455次閱讀

    雙穩態觸發器的兩個基本性質是什么

    的定義 雙穩態觸發器是一種具有兩個穩定狀態的邏輯電路,通常由兩個交叉耦合的反相器或門電路構成。在沒有外部輸入信號的情況下,雙穩態觸發器可以保持在兩個穩定狀態之一,即“0”狀態或“1”狀
    的頭像 發表于 08-11 10:08 ?1241次閱讀

    兩個路由器ip地址沖突怎么解決

    兩個路由器的IP地址發生沖突時,會導致網絡連接不穩定或無法連接。以下是解決兩個路由器IP地址沖突的步驟: 確定沖突的IP地址 首先,需要確定兩個路由器的IP地址是否沖突。可以通過以下
    的頭像 發表于 07-09 11:35 ?9367次閱讀

    三菱plcFx2N2AD可以接兩個壓力傳感器嗎

    三菱PLC FX2N-2AD是一款具有模擬輸入功能的可編程邏輯控制器,可以接收模擬信號并將其轉換為數字信號,以便進行進一步的處理和控制。在某些應用場景中,可能需要同時接入兩個壓力傳感器,以實現對
    的頭像 發表于 06-20 10:13 ?1383次閱讀

    兩個PLC之間如何交互信號

    在工業自動化系統中,PLC(Programmable Logic Controller,可編程邏輯控制器)是核心的控制設備。在許多復雜的應用場景中,需要兩個或多個PLC之間進行信號交互,以實現更高
    的頭像 發表于 06-14 16:57 ?6636次閱讀
    主站蜘蛛池模板: 日本高清视频成人网www | 操久在线 | 天堂成人在线观看 | 久草资源在线播放 | 久久香蕉国产线看观看亚洲片 | 亚洲综合一区二区三区 | 完全免费在线视频 | 天天操天天操天天操天天操 | 欧美午夜色大片在线观看免费 | 国产成人精品日本亚洲网站 | 色在线网站免费观看 | 久久性色 | 国产日韩一区二区三区 | 99国产精品农村一级毛片 | 国产精品视频色拍拍 | 亚洲精品乱码久久久久久蜜桃图片 | 日韩精品三级 | 四虎h789fcom| 嘿嘿嘿视频在线观看网站 | 免费国内精品久久久久影院 | 唐人社电亚洲一区二区三区 | 萌白酱白丝护士服喷水铁牛tv | 免费观看黄a一级视频 | 天堂网www在线资源 天堂网www在线资源链接 | 亚洲精品系列 | 免费我看视频在线观看 | 医生好大好硬好爽好紧 | lsj老司机精品视频在线观看 | 精品国产污网站在线观看15 | 97人摸人人澡人人人超一碰 | 在线免费亚洲 | 俺去久久| 992tv国产精品福利在线 | 天天操天天射天天色 | 亚洲 欧美 自拍 卡通 综合 | 日本加勒比在线精品视频 | avtom影院永久转四虎入口 | 99 久久99久久精品免观看 | 99色在线视频 | 狠狠做深爱婷婷综合一区 | 日本人zzzwww色视频 |