色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    11295

    瀏覽量

    209348
  • 信號
    +關注

    關注

    11

    文章

    2790

    瀏覽量

    76731

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    兩個PLC之間如何交互信號

    在工業自動化系統中,PLC(Programmable Logic Controller,可編程邏輯控制器)是核心的控制設備。在許多復雜的應用場景中,需要兩個或多個PLC之間進行信號交互,以實現更高
    的頭像 發表于 06-14 16:57 ?4277次閱讀

    AD4938正負輸入端分別輸入兩個信號,對這兩個信號做減法輸出 ,這種輸入是非差分信號嗎?

    AD4938全差分放大器 ,正負輸入端分別輸入兩個信號(非差分關系),對這兩個信號做減法輸出 ,這種輸入是非差分信號,可以這樣應用嗎 ?
    發表于 05-29 08:07

    請問ad9171的兩個輸出端口是否支持同時輸出兩個不同的頻率?

    你好,關于AD9171芯片我有一問題 ,數據手冊顯示該芯片具有兩個輸出通道,芯片內部有DAC0和DAC1共兩個DAC通道,那么這兩個通道是否支持同時輸出
    發表于 05-28 06:20

    藍牙Mesh模塊組網時是一信號還是兩個信號

    隨著科技的不斷發展,智能家居、物聯網等新興領域越來越受到人們的關注。在這個領域中,藍牙Mesh組網模塊作為一種關鍵技術,其性能和作用備受矚目。那么,藍牙Mesh組網模塊究竟是一信號還是兩個
    的頭像 發表于 05-24 15:14 ?958次閱讀

    兩個銅片可以形成原電池嗎

    兩個銅片本身不能形成原電池,因為原電池的工作原理依賴于兩個不同電位的電極材料之間的氧化還原反應。
    的頭像 發表于 05-21 16:23 ?944次閱讀

    arcgis中如何關聯兩個屬性表

    在ArcGIS中,關聯兩個屬性表是一重要的操作,可以通過此操作將兩個表中的數據關聯起來,以便進行分析和查詢。下面是詳細介紹如何在ArcGIS中實現屬性表的關聯。 首先,我們需要明確兩個
    的頭像 發表于 02-25 11:01 ?4191次閱讀

    proteus信號發生器怎么設置方波

    ,用于模擬和調試電子電路。它具有豐富的虛擬儀器庫,包括示波器、信號發生器、函數發生器等。Proteus信號發生器是其中之一,可以模擬各種類型
    的頭像 發表于 02-23 16:44 ?9854次閱讀

    兩個電位器地控制一變頻器,如何接線?

    兩個電位器地控制一變頻器,如何接線? 接線方式如下: 1. 首先,明確需要使用的電器設備。在這個場景中,我們需要兩個電位器(即可變電阻器)和一
    的頭像 發表于 02-05 10:13 ?5231次閱讀
    主站蜘蛛池模板: 热九九99香蕉精品品| 国产成人无码精品久久久免费69| 99精品福利视频| WWW亚洲精品久久久乳| 国产成人高清在线观看播放| 国产午夜在线观看视频| 久久99亚洲AV无码四区碰碰| 嗯啊快停下我是你老师啊H| 青青伊人国产| 亚洲欧美色综合影院| 永久adc视频| 成年人视频在线免费观看| 国产精品爽黄69天堂A片| 久久精品久久精品| 人妻天天爽夜夜爽三区麻豆A片| 亚洲不卡视频在线观看| 99久久就热视频精品草| 国产精品自在自线亚洲| 伦理电影v男人天堂| 色综合伊人色综合网站下载| 在线 亚洲 日韩 欧洲视频| 国产WW高清大片免费看| 免费人成网站在线观看10分钟| 同时被两个男人轮流舔| 91麻豆精品| 精品区2区3区4区产品乱码9| 日韩欧美群交P内射捆绑| 91次元黄色观看| 精品九九视频| 亚洲国产黄色| 国产 交换 丝雨 巅峰| 男生脱美女内裤内衣动态图| 亚洲午夜久久影院| 国产亚洲精品福利视频| 全黄H全肉禁乱公| 亚洲精品视频在线观看视频| 亚洲精品AV无码喷奶水糖心| 日韩av无码在线直播| 我解开了岳的乳第一个女人 | 国模啪啪久久久久久久| 亚洲国产精品无码中文字满|