①通常那些事件会导致创建一个进程?
答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
1、明确两个概念:进程控制块、进程映像。
在处理进程定位问题和进程属性问题之前,首先需要解决一个更基本的问题:进程的物理表示是什么?
这包括进程的程序,数据,另外进程的执行涉及用于跟踪过程调用和过程间参数的栈,还有操作系统用于控制进程的许多属性,这些属性的集合称为进程控制块。程序、数据、栈和属性的集合成为进程映像。
2、进程状态
进程状态理解下面两个图就可以了。
![](https://img-my.csdn.net/uploads/201303/21/1363874125_3430.jpg)
②抢占一个进程是什么意思?
答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
③什么是交换,其存在原因及目的是什么?
答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
采用交换技术的原因是处理器比I/O要快得多,以至于内存中所有的进程都在等待I/O的情况很常见。目的就是为了效率(性能)。
注意!交换也是一个I/O操作,因而也可以使得问题更加恶化,但是由于磁盘I/O一般是系统中最快的I/O,所以交换通常会提高性能。
④列出挂起态进程的4个特点。
答:1.进程不能立即执行。2.进程可能是或不是正在等待一个事件。如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
![](https://img-my.csdn.net/uploads/201303/21/1363874163_5272.jpg)
⑤为什么图3.9中有两个阻塞态?
答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
3.操作系统的控制结构
操作系统为了管理进程和资源,必须掌握关于每个进程和资源当前状态的信息。所以操作系统构造并维护它所管理的每个实体的信息表。操作系统维护着4中不同类型的表:内存,设备(I/O),文件,进程。
⑥操作系统创建一个新进程所执行的步骤是什么?
答:1.给新进程分配一个唯一的进程标识号。2.给进程分配空间。3.初始化进程控制块。4.设置正确的连接。5.创建或扩充其他的数据结构。
4.进程切换
首先何时进程切换?有3种事件导致进程切换:中断、陷阱、系统调用。
其中中断可分为,1、时钟中断(超时)2、I /O中断3、内存失效——处理器访问一个虚拟内存地址,且此地址单元不在内存中,发生调入内存块的I /O请求。
⑦中断和陷阱有什么区别?
答:中断与当前正在运行的进程无关的某些类型的外部事件相关,如完成一次I/O操作。陷阱与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
其次认识到模式切换与进程切换的区别。
⑧为什么需要两种模式(用户模式和内核模式)?
答:用户模式下可以执行的指令和访问的内存区域都受到限制。这是为了防止操作系统受到破坏或者修改。而在内核模式下则没有这些限制,从而使它能够完成其功能。
⑨模式切换和进程切换有什么区别?
答:发生模式切换可以不改变当前正处于运行态的进程的状态。在这种情况下,保存上下文环境和以后恢复上下文环境只需很小的开销。但是,如果当前正在运行的进程被转换到另一状态,则操作系统必须使其环境产生实质性变化。