教材学习内容总结
异常
异常:处理器中的变化(事件)触发从应用程序到异常处理程序的突发的控制转移
异常处理程序:在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表进行一个间接过程调用,到一个专门处理这类时间的操作系统子程序
当 exception handler处理结束之后,会有三种结果:
·处理程序将控制返回给事件发生的时候正在执行的指令
·处理程序将控制返回给如果没有发生异常将会执行的下一条指令
·处理程序终止被终端的程序
所有的到Linux系统调用的参数都是通过寄存器传递的
·%eax:包含系统调用号
·%ebx,%ecx,%edx,%esi,%edi,%ebp:包含最多六个任意参数
·%esp:栈指针,不能用
逻辑控制流
(1)进程计数器(PC)中的每一个值都唯一地对应于包含在程序的可执行目标文件中的指令,或者是包含在运行时动态链接的到程序的共享对象中的指令。这个PC值的序列叫做逻辑控制流。
(2)进程是轮流使用处理器的;每个进程执行它的流的一部分然后被挂起,其他进程执行。
(3)对于一个运行在其中一个进程上下文中的程序而言,它看上去就像是唯一地占用了处理器
并发流
一个逻辑流的执行在时间上与另一个流重叠。
这两个流并发的运行。
私有地址空间:
进程为程序提供的假象,好像它独占的使用系统地址空间。一般而言,和这个空间中某个地址相关联的那个存储器字节是不能被其他进程读写的。
用户模式和内核模式
区别:有无模式位,有的话就是内核模式,可以执行指令集中的所有指令,访问系统中任何存储器位置;没有就是用户模式。
建立的项目结构
参考资料
- ...