2017-2018-1 20155310 《信息安全系统设计基础》第六周学习总结
教材学习内容总结
第8章 异常控制流
•控制转移:每次从ak到ak+1的过渡
•处理器的控制流:控制转移序列
•异常控制流:控制流对情况做出反应而产生的突变
8.1 异常
•异常是异常控制流的一种形式,一部分由硬件实现,一部分由操作系统实现
•异常:控制流中的突变,用来响应处理器状态中的某些变化
•状态变化称为事件
•处理器检测到有事件发生->通过异常表进行间接过程调用(异常)->异常处理程序
8.1.1 异常处理
•系统中可能的每种类型的异常都分配了一个唯一的非负整数的异常号
•操作系统分配和初始化异常表,异常表的起始地址放在异常表基址寄存器(特殊CPU寄存器)
8.1.2 异常的类别
•1.中断:异步发生,硬件中断的异常处理程序称为中断处理程序
•2.陷阱和系统调用:有意的异常,是执行一条指令的结果,重要用途是在用户程序和内核之间提供一个叫系统调用的接口
•用户模式:普通函数
•内核模式:系统调用
•3.故障:由错误情况引起,能够被故障处理程序修正
•4.终止:不可恢复的致命错误造成的结果,通常是硬件错误,终止处理程序不将控制返回给应用程序
/bin/kill程序可以向另外的进程发送任意的信号;进程可以通过调用kill函数向其他进程发送信号(包括它自己);进程也可以通过调用alarm函数向自己发送SIGALARM信号。
内核为每个进程维持一个上下文(context)。上下文就是内核重新启动一个被强占的进程所需的状态。
进程:
多道程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程”概念。
每个进程都有一个唯一的正数ID(PID),使用getpid函数可返回调用进程的PID,getppid函数可返回其父进程的PID。
教材学习中的问题和解决过程
无
代码调试中的问题和解决过程
无
代码托管
上周考试错题总结
无
其他(感悟、思考等,可选)
无
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2000行 | 30篇 | 400小时 | |
第二周 | 15/200 | 2/4 | 2/38 | |
第三周 | 15/300 | 3/7 | 3/60 | |
第四周 | 25/400 | 4/9 | 4/90 | |
第五周 | 25 /400 | 5/11 | 5/120 | |
第六周 | 45 /500 | 6/13 | 6/120 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:4小时
-
实际学习时间:1小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)