操作系统复习(1)进程管理

最后都变了- 提交于 2019-12-04 14:27:25

进程控制块(PCB)

进程控制块是进程的唯一标志。

PCB是有限的,创建进程需要申请PCB。

进程控制块中的内容:

 

为什么要区分就绪状态和等待状态?

就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;

等待状态是指进程需要其他资源(除了处理机)或等待某一事件。

之所以把处理机和其他资源划分开,是因为在分时系统的时间片轮转机制中,每个进程分到的时间片是若干毫秒。也就是说,进程得到处理机的时间很短且非常频繁,进程在运行过程中实际上是频繁地转换到就绪状态的;而其他资源(如外设)的使用和分配或者某一事件的发生(如I/O操作的完成)对应的时间相对来说很长,进程转换到等待状态的次数也相对较少。这样看来,就绪状态和等待状态是进程生命周期中两个完全不同的状态,显然需要加以区分。

进程状态转换

1、就绪状态→运行状态

处于就绪状态的进程获得了处理机资源。

2、运行状态→就绪状态

时间片用完了让出处理机;

可剥夺操作系统中,优先级更高的进程被调度,正在执行的低优先级进程从运行状态转为就绪状态。

3、运行状态→阻塞状态

进程请求某一资源或等待某一事件的发生。

4、阻塞状态→就绪状态

进程等待的时间到来了(I/O操作结束或中断结束)。

进程控制

进程的创建

子进程可以继承父进程所拥有的资源。

子进程被撤销时,将从父进程那里获得的资源归还给父进程。

撤销父进程时,必须同时撤销其所有的子进程。

进程的终止

正常结束:进程的任务完成和准备退出运行。

异常结束:进程运行时,发生了某种异常事件,使程序无法继续运行。(存储区越界、保护错、非法指令、特权指令错、I/O故障)

外界干预:进程应外界的请求而终止运行。(操作员或操作系统干预、父进程请求和终止)

 进程的阻塞和唤醒

正在执行的进程,由于期待的某些事件未发生,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无新工作可做等,则有系统自动执行阻塞源于,使自己由运行状态变为阻塞状态。可见,进程的阻塞是进程自身的一种主动行为,也因此只有处于运行态的进程(获得CPU),才可能将其转换为阻塞状态。

 进程切换

对于通常的进程,其创建、撤销以及要求有系统设备完成的I/O操作都是利用系统调用而进入内核,再由内核中相应处理程序予以完成的。进程切换同样是在内核的支持下实现的,因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!