1、重点:五状态模型,包含两个挂起态的模型,状态转换
对于以上进程模型,请简单定义每个状态。
新建态:刚刚创建的进程。
就绪态:进程做好了准备,只要有机会就可执行。
运行态:正在执行。
阻塞态:进程在某些事件发生前不能执行。
退出态:操作系统从可执行进程组中释放出的进程,自身停止或者因为某些原因被取消。
2、进程映像,进程控制块PCB(进程属性的集合)
例:一个进程的____D_____必须用可重入码编写。
A. 进程控制块 B. 程序 C. 数据 D. 共享程序段
解:可重入码:允许多个进程同时访问的代码。
PCB:
标识符:与进程相关的唯一标识符,用来区分其他进程。
状态:若进程正在执行,则进程处于运行态。
优先级:相对于其他进程的优先顺序。
程序计数器:程序中即将执行的下一条指令的地址。
内存指针:包括程序代码和进程相关数据的指针,以及其他进程共享内存块的指针。
上下文数据:进程执行时处理器寄存器中的数据。
I/O状态信息:包括显式I/O请求、分配给进程的I/O设备和被进程使用的文件列表等。
记账信息:包括处理器时间总和、使用的时钟数总和、时间限制、记账号等。
进程映像的组成元素包括程序代码、相关数据集、栈和进程控制块。
3、进程的创建与终止
例:进程创建时,操作系统不需要给新进程执行下面的____D____工作。
A. 分配唯一的 PID B. 分配内存空间 C. 初始化 PCB D. 抢占当前进程
操作系统创建一个新进程所执行的步骤是什么?
①给新进程分配一个唯一的进程标识符。
②给进程分配空间。
③初始化进程控制块。
④设置正确的链接。
⑤创建或扩充其它数据结构。
4、进程切换
模式切换和进程切换有什么区别?
① 发生模式切换可以不改变正处于运行态的进程状态,这种情况下,保存上下文环境和以后恢复上下文环境只需要很少的开销。
②发生进程切换时,正在运行的进程被转换到另一个状态(就绪或阻塞等),操作系统必须使其产生实质性的变化,比模式切换需要做更多的工作。
5、执行模式的切换:用户态和系统态
6、UNIX中,父进程通过系统调用fork()创建子程序。fork()有两个返回值:向父进程返回子进程的PID,向子进程返回0。
处理器工作状态分为两种模式。当fork( )执行时CPU处于系统态。
2例:当 CPU 处于系统态时,它可以执行的指令是计算机系统的____C____。
A. 普通指令 B. 特权指令 C. 所有指令 D. 非特权指令