学习笔记9
第6章 信号与信号处理
一、知识点总结
(一)信号和中断
- 进程
- 从事日常事务的人
- 在用户模式或内核模式下运行的Unix/Linux进程
- 执行机器指令的CPU
- 中断
- 人员中断
- 进程中断
- 硬件中断
- 进程的陷阱错误
(二)Unix/Linux信号示例
e.g. “ Ctrl + C ”组合键生成键盘硬件中断。
(三)Unix/Linux中的信号处理
- 信号类型
31种信号类型,每种信号都有一个符号名。 - 信号的来源
- 来自硬件中断的信号
- 来自异常的信号
- 来自其他进程的信号
- 进程PROC结构体中的信号
- 信号处理函数
- 生成
- 阻塞/屏蔽
- 传递
- 安装信号捕捉函数
(四)信号处理步骤
- 检查、处理信号
- 重置用户安装的信号捕捉函数
- 信号与唤醒
(五)信号与异常
Uinx最初设计用途:
- 作为进程异常的统一处理方法
- 让进程通过预先安装的信号捕捉函数处理用户模式下的进程错误
- 在特殊情况下,它会让某个进程通过信号杀死另一个进程
(六)信号用作IPC
- 该机制并不可靠,因为可能会丢失信号。
- 竞态条件
- 预定义
(七)Linux中的IPC
- 管道和FIFO
- 信号
- System V IPC
- POSIX消息队列
- 线程同步机制
- 套接字
二、ChatGPT