操作系统中的进程管理知识

一、什么是进程
进程是调度资源的独立单位。说白了就是对资源进行管理。一个进程里又有一个或多个线程。线程是处理器调度的基本单位。
举个例子,我们打开一个QQ,算打开一个进程。那么QQ里有很多任务要进行,这些任务叫做线程,在一个进程里可以多条线程(多条任务)并发处理。

进程=程序+数据+PCB( process control block 程序控制块)

其中PCB是用来存放进程的状态信息的,当进程中断时通过查看PCB上一次的状态,回到上一次的状态,继续执行。

二、进程的状态
进程的状态可以分为三状态、五状态、七状态。状态越多,越复杂。
**

三状态:就绪 运行 阻塞

**
如下图所示:在这里插入图片描述

当进程被创建以后,获取运行需要的资源,变成就绪状态。当CPU调度该进程时,变成运行状态。当分为该该进程的运行时间片结束以后,回到就绪状态,等待下一次被CPU调度。当运行状态遇到IO请求或者其他原因中断时,进程的状态变成阻塞状态。当IO完成后,进程回到就绪状态。

五状态:创建 就绪 运行 阻塞 终止

创建状态:已知进程创建需要先申请一个空白PCB,并向PCB中写入控制和管理进程的信息,然后为该进程分配运行时所必须的资源,最后,把该进程转入就绪状态并插入就绪队列之中。但如果进程所需的资源尚不能得到满足,比如系统尚无足够的内存使进程装入其中,此时创建工不工作尚未完成,进程不能被运行调度,于是把此时进程所处的状态称为创建状态。(注意:创建状态和阻塞状态不同)

终止状态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止状态额进程以后不能再执行,但在操作系统中仍然保留一个记录,其中保存状态码和一些计时统计数据,供其他进程收集。一旦其他进程完成了对其信息的提取之后,操作系统将删除该进程,即将其PCB清零,并将该空白PCB返还系统。

具体五状态转换图,如下图所示:
在这里插入图片描述

注意,任何状态都可以直接释放,到终止状态。(可以因为各种原因导致该进程结束)

七状态:创建 就绪 运行 阻塞 终止 就绪挂起 阻塞挂起

在这里插入图片描述
比较复杂,解释一下挂起的概念
挂起:把进程或者程序/数据从内存移到外存
解除挂起(激活):把进程或者程序/数据从外存移到内存
挂起的目的是在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态。
因为有了挂起的概念,所以有了就绪挂起和阻塞挂起的概念。一个是就绪状态对挂起,一个是阻塞状态被挂起。

引起挂起状态的原因有如下几方面:
  (1)终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为“挂起状态”。
  (2)父进程的请求。有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动。
  (3)负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。
  (4)操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

PCB包含哪些内容?
参考这篇博客

面试题:PCB包括哪些内容
https://blog.csdn.net/xiuxiuxiuyuan/article/details/79189564

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值