信息安全系统设计基础第十一周学习总结
异常控制流
异常
异常:控制流中的突变。在任何情况下,当处理器检测到有事件发生时,会通过异常表的跳转表,转到异常处理程序。
异常处理:异常号;异常表(异常表基址寄存器)
异常类别:
- 中断
- 陷阱
- 故障
- 终止
Linux /IA32
1.Linux/IA32 故障和终止
- 除法错误
- 一般保护故障
- 缺页
- 机器检查
Linux/IA32 系统调用
Linux提供上百种系统调用;IA32系统上,系统调用是通过一条 int n 的陷阱指令来提供的。
进程
进程的经典定义就是 一个执行中的程序的实例 。系统中的每一个程序都是运行在某个进程上下文中的。
-
逻辑控制流
-
并发流(并发 多任务 时间片 并行流 并行执行)
-
私有地址空间
-
用户模式和内核模式
-
上下文切换
系统调用错误处理
错误报告函数、错误处理包装
进程控制:
-
获取进程ID
-
创建和终止进程1. 运行2. 停止3. 终止
-
回收子进程
- 判定等待集合的成员
- 修改默认行为
- 检查已回收子进程的退出状态
- 错误条件
- wait函数
- 让进程休眠
sleep(); pause();
-
加载并运行程序
-
利用fork和execve运行程序
信号
-
发送信号
1.进程组
2.用/bit/kill程序发送信号
3.从键盘发送信号
4.用kill函数发送信号
5.用alarm函数发送信号 -
接收信号
-
信号处理问题
待处理信号被阻塞
待处理信号不会排队等待
系统调用可以被中断
***不可以用信号来对其他进程中发生的事件计数。
-
显式地阻塞和取消阻塞信号
-
同步流以避免讨厌的并发错误
非本地跳转
操作进程的工具
参考资料:《深入理解计算机系统》
问题:1.对信号处理等待机制有困惑