訊號及訊號處理(二) 可靠訊號與不可靠訊號

2021-08-10 15:38:58 字數 849 閱讀 7394

一、可靠訊號與不可靠訊號有哪些?

sighup(1號) 至 sigsys(31號)之間的訊號都是繼承自unix系統,是不可靠訊號,也稱為非實時訊號;

sigrtmin(33號) 與 sigrtmax(64號)之間的訊號,它們都是可靠訊號,也稱為實時訊號;

二、什麼是可靠訊號?

可靠性是指訊號是否會丟失,即該訊號是否支援排隊;

如果支援排隊就是可靠的,不支援排隊就是不可靠的。

三、那麼問題來了,在**排隊?

在未決訊號佇列排隊。

四、嗯,那什麼是未決訊號?

當導致產生訊號的事件發生時,核心就產生乙個訊號。訊號產生後,核心通常會在程序表中設定某

種形式的標誌,當核心設定了這個標誌,我們就說核心向乙個程序遞送了乙個訊號。

而訊號產生(generate)和遞送(delivery)之間的時間間隔稱為訊號未決(pending)。

五、還有,什麼情況下會產生排隊呢?

舉個栗子,程序可以呼叫sigpending將某個訊號設定為阻塞,即程序產生了乙個阻塞的訊號,而對

該訊號的動作是捕捉該訊號(即不忽略訊號),則核心將為該程序的此訊號保持為未決狀態,直到該進

程對此訊號解除阻塞或將對此訊號更改為忽略。

如果在程序解除對這個訊號的阻塞之前,這種訊號發生了多次,在這種情況下,將發生未決訊號排 隊。

六、那個支援排隊和不支援排隊怎麼理解呢?不支援排隊就是來了直接扔了嗎?

咳咳,這麼說吧。如果被阻塞的訊號來了多個(訊號在未決訊號佇列裡排隊)

(1)、如果來多少個,就遞送多少個。則稱為可靠訊號,即支援排隊。

(2)、如果來了多個,但只被遞送一次。則稱為不可靠訊號,即不支援排隊。

ok! ^_^

24 可靠訊號與不可靠訊號

以下整理 自 1 1 可靠訊號與不可靠訊號 1 訊號值小於 sigrtmin red hat 7.2 中,sigrtmin 32 sigrtmax 63 的訊號都是不可靠訊號。主要問題如下 程序每次處理訊號後,就將對訊號的響應設定為預設動作。在某些情況下,將導致對訊號的錯誤處理 因此,使用者如果不希...

原始碼 訊號可靠訊號不可靠訊號相關

file main.c author luv letter created on 2017年3月14日,下午4 33 include include include include 3 訊號可靠訊號不可靠訊號相關 程式設計程式,要去實現如下功能 父程序建立子程序1和子程序2 子程序1向子程序2傳送可...

學習筆記 可靠訊號 不可靠訊號

不可靠訊號pk可靠訊號 q linux訊號機制基本上是從unix系統中繼承過來的。早期unix系統中的訊號機制比較簡單和原始,後來在實踐中暴露出一些問題,它的主要問題是 q 程序每次處理訊號後,就將對訊號的響應設定為預設動作。在某些情況下,將導致對訊號的錯誤處理 因此,使用者如果不希望這樣的操作,那...