20165311 《信息安全系统设计基础》第七周学习

学习目标:

  • 了解异常及其种类
  • 理解进程和并发的概念
  • 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv
  • 理解数组指针、指针数组、函数指针、指针函数的区别
  • 理解信号机制:kill,alarm,signal,sigaction
  • 掌握管道和I/O重定向:pipedup,dup2

知识点学习:

1.异常控制流(ECF):现代系统通过使控制流发生突变,做出反应。

对于ECF的理解:

      1. ECF是操作系统的基本机制
      2. 应用程序通过ECF的形式,向操作系统请求服务
      3. ECF是计算机系统中实现并发的基本机制

异常:是异常控制流的一种形式,是控制流中的突变

事件:状态的变化

异常处理程序对事件进行处理

异常的类别,如图1:

异常的具体理解:

      1. 中断
      2. 陷阱和系统调用:为了允许对这些内核服务的受控的访问,处理器提供了syscall指令
      3. 故障
      4. 终止

2.Linux信号处理

  • 可以用signal()处理信号:通过把处理程序的地址传递到signal函数从而改变默认行为,这叫设置信号处理程序。执行信号处理程序被称为处理信号。
  • 一个信号最多只能被接收一次:每种类型最u多只能有一个未处理的信号,如果两种类型k的信号发给同一个目的进程,第二个信号就简单的被遗弃了。
  • kill函数发送信号号码sig给进程pid,kill(1)用来发送信号。
  • 可以通过键盘发送信号。
  • 可以用sigaction()处理信号。
3、exec系列函数
  • 不能用char[][] 来传递argv。
  • 结尾的0(null)无法处理。
  • 进程调用了exec系列函数后,代码会改变。
  • system=fork+exec+wait。
  • exec系列函数中带e的要传入环境变量参数。

猜你喜欢

转载自www.cnblogs.com/fakerli/p/9942756.html