2023-2024-1 20211306 密码系统设计与实现课程学习笔记9
20211306 密码系统设计与实现课程学习笔记9
任务详情
自学教材第6章,提交学习笔记
- 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容
“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”
核心是要求GPT:“请你以苏格拉底的方式对我进行提问”
然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”
如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”
GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。
- 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图
- 实践过程截图,代码链接
- 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)
一、第六章学习总结
摘要
本章讲述了信号和信号处理;介绍了信号和中断的统一处理,有助于从正确的角度看待信号;将信号视为进程中断,将进程从正常执行转移到信号处理;解释了信号的来源,包括来自硬件、异常和其他进程的信号:然后举例说明了信号在 Unix/Linux中的常见用法详细解释了Unix/Linux中的信号处理,包括信号类型、信号向量位、信号掩码位、进程PROC结构体中的信号处理程序以及信号处理步骤;用示例展示了如何安装信号捕捉器来处理程序异常,如用户模式下的段错误;还讨论了将信号用作进程间通信(IPC)机制的适用性。
信号和中断
“中断”是从I/0设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。与发送给CPU的中断请求一样,“信号”是发送给进程的请求,将进程从正常执行转移到中断处理。
Unix/Linux信号示例
- CTRL+C
- nohup a.out
- sh命令:
kill pid (or kill -s 9 pid)
信号类型
- 31种信号类型
信号来源
- 硬件中断
- 异常
- 其他进程
PROC结构体信号
- sigmask
- sigsetmask
- siggetmask
- sigblock
信号处理函数
安装信号捕捉函数
信号处理步骤
- 内核模式检查信号并处理未完成的信号
- 重置用户安装的信号捕捉函数
- 信号和唤醒
信号与异常
- 作为进程异常的统一处理方法
- 让进程通过预先安装的信号捕捉函数处理用户模式下的程序错误
- 在特殊情况下,他会让某个进程通过信号杀死另一个进程
信号用作IPC
- 机制不可靠因为可能丢失信号
- 竞态条件
- 大多数信号都有预定义的含义
Linux中的IPC
- 管道和FIFO
连接一对管道写进程和读进程
- 信号
进程可使用 kil1系统调用向其他进程发送信号,其他进程使用信号捕提函数处理信号。
将信号用作IPC的一个主要缺点是信号只是用作通知,不含任何信息内容。
- System V IPC
- POSIX消息队列
- 线程同步机制
- 套接字
二、苏格拉底挑战GPT
三、问题与解决方案
四、代码实践