信息安全系统设计基础第十一周学习总结

异常控制流

异常

异常:控制流中的突变。在任何情况下,当处理器检测到有事件发生时,会通过异常表的跳转表,转到异常处理程序。

异常处理:异常号;异常表(异常表基址寄存器)

异常类别:

  1. 中断
  2. 陷阱
  3. 故障
  4. 终止

Linux /IA32

1.Linux/IA32 故障和终止

  1. 除法错误
  2. 一般保护故障
  3. 缺页
  4. 机器检查

Linux/IA32 系统调用

Linux提供上百种系统调用;IA32系统上,系统调用是通过一条 int n 的陷阱指令来提供的。

进程

进程的经典定义就是 一个执行中的程序的实例 。系统中的每一个程序都是运行在某个进程上下文中的。

  • 逻辑控制流

  • 并发流(并发 多任务 时间片 并行流 并行执行)

  • 私有地址空间

  • 用户模式和内核模式

  • 上下文切换

系统调用错误处理

错误报告函数、错误处理包装

进程控制:

  • 获取进程ID

  • 创建和终止进程1. 运行2. 停止3. 终止

  • 回收子进程

  1. 判定等待集合的成员
  2. 修改默认行为
  3. 检查已回收子进程的退出状态
  4. 错误条件
  5. wait函数
  • 让进程休眠

sleep(); pause();

  • 加载并运行程序

  • 利用fork和execve运行程序

信号

  • 发送信号
    1.进程组
    2.用/bit/kill程序发送信号
    3.从键盘发送信号
    4.用kill函数发送信号
    5.用alarm函数发送信号

  • 接收信号

  • 信号处理问题

    待处理信号被阻塞

    待处理信号不会排队等待

    系统调用可以被中断

***不可以用信号来对其他进程中发生的事件计数。

  • 显式地阻塞和取消阻塞信号

  • 同步流以避免讨厌的并发错误

非本地跳转

操作进程的工具

参考资料:《深入理解计算机系统》
问题:1.对信号处理等待机制有困惑

posted @ 2015-11-21 23:01  20135311不是富东京  阅读(153)  评论(0编辑  收藏  举报