信号的基本概念
来源:互联网 发布:判断是否存在sql注入 编辑:程序博客网 时间:2024/06/14 00:06
信号的基本概念
中断
- 中断是系统对于异步事件的响应()
主要构成部分
- 中断源
中断信号
现场信息
- 中断向量表
- 中断处理程序
异步事件的响应:进程执行代码的过程中可以随时被打断,然后去执行异常处理程序
中断流程:中断源发出中断信号,CPU判断中断是否屏蔽屏蔽、保护现场 ,cpu根据异常/中断向量表,执行中断处理程序, cpu恢复现场,继续原来的任务。
- 其他概念:
- 中断向量表保存了中断处理程序的入口地址。
- 中断个数固定,操作系统启动时初始化中断向量表。
- 中断有优先级(有人敲门,有人打电话,有优先级)
- 中断可以屏蔽(张三可以屏蔽电话)。
- 中断分类
- 硬件中断(外部中断)
外部中断是指由外部设备通过硬件请求的方式产生的中断,也称为硬件中断 - 软件中断(内部中断)
内部中断是由CPU运行程序错误(取指异常)或执行内部程序调用引起的一种中断,也称为软件中断。 - x86平台INT指令 ARM平台SWI指令–软中断指令
- 硬件中断(外部中断)
信号
- 信号是UNIX系统为响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。–为了正常完成任务设置的信号
- 信号是因为某些错误条件而产生的,比如内存段冲突、浮点处理器错误或者非法指令等–程序出错产生的信号
- 信号是在软件层次上对中断的一种模拟,所以通常把它称为是软中断
信号VS中断
信号与中断的相似点:
(1)采用了相同的异步通信方式;
(2)当检测出有信号或中断请求时,都暂停正在执行的程序而转去执行相应的处理程序;
(3)都在处理完毕后返回到原来的断点;
(4)对信号或中断都可进行屏蔽。
信号与中断的区别:
(1)中断有优先级,而信号没有优先级,所有的信号都是平等的;
(2)信号处理程序是在用户态下运行的,而中断处理程序是在内核态下运行;
(3)中断响应是及时的,而信号响应通常都有较大的时间延迟
信号名称及常用信号
* kill –l
可以查看linux内核支持的信号
* man 7 signal
查看信号的默认动作、信号的含义
进程对信号的三种相应
忽略信号
不采取任何操作、有两个信号不能被忽略:SIGKILL(9号信号)和SIGSTOP。思考1:为什么进程不能忽略SIGKILL、SIGSTOP信号。(如果应用程序可以忽略这2个信号,系统管理无法杀死、暂停进程,无法对系统进行管理。)。SIGKILL(9号信号)和SIGSTOP信号是不能被捕获的。
捕获并处理信号
内核中断正在执行的代码,转去执行先前注册过的处理程序。- 执行默认操作
默认操作通常是终止进程,这取决于被发送的信号。
信号的默认操作:通过 man 7 signal 进程查看
0 0
- 信号------信号的基本概念
- 信号处理的基本概念
- 信号的基本概念
- 信号的基本概念
- 信号的基本概念
- 【Linux】信号的基本概念
- Linux信号的基本概念
- Linux信号(一)-- 信号的基本概念
- linux的信号的基本概念
- linux中信号的基本概念
- 信号:基本概念
- 信号基本概念
- 信号基本概念
- 关于信号处理的一些基本概念
- 高速电路设计信号完整性的一些基本概念
- 空时频信号处理基本概念
- linux --- 信号 --- 基本概念
- linux信号之基本概念
- 句柄和指针
- DOM4J 解析XML文件
- ASP.NET 跳转页面数据的获取 (使用html控件)
- 斐波那契数列 1, 1, 2, 3, 5, 8, 13, 21, 34...
- java中不带package和带package的编译运行方式
- 信号的基本概念
- test
- sublime text3下的bootstrap插件
- No CurrentSessionContext configured 沒配置
- 运输层
- stick-learn 朴素贝叶斯的三个常用模型:高斯、多项式、伯努利
- 第16周项目1-验证算法(3)冒泡排序 显示过程
- ubuntu的装机后恢复系统
- AccessibilityIdentifier属性使用