JavaEE--进程调度的基本过程

本文详细解释了进程的概念,包括它是运行中的应用程序,操作系统如何通过PCB管理和调度进程,涉及状态(就绪、阻塞)、优先级以及上下文切换等关键概念。
摘要由CSDN通过智能技术生成

1.什么是进程?

一个程序,运行起来,在操作系统中就会出现一个进程,就是一个跑起来的应用程序。通过观察任务管理器,我们就能看到当前正在运行的所有进程。

 要想让一个程序运行,就必须得给则这个进程分配系统资源

 进程可以看作是操作系统进行资源分配的基本单位

2.进程管理

操作系统对于进程管理的操作,通常先进行描述,再组织后进行管理

描述:通过一些结构体(通常称为PCB)把一些进程的核心信息抽象提取出来,并进行表示

组织:操作系统会通过一定的数据结构(通常会使用链表)把多个PCB串起来

以链表为例:

1.任务管理器中查看进程列表就是在遍历链表的每一个结点,并且获取显示出的对应信息

2.创建新的进程同时该进程创建一个对应的新的PCB并且添加到上述链表中

3.销毁某个进程就是把链表上对应的PCB结点删除掉

3.进程调度

PCB中提供了几个属性,支持进程调度

1.状态

就绪状态:cpu随时想要哪个进程执行,立刻就能执行

阻塞状态:处于阻塞状态的进程,无法在cpu上执行(往往在等待IO的时候就会进入阻塞状态)

2.优先级

操作系统在分配CPU资源给各个进程时,根据一定的规则和标准来确定进程执行的先后顺序

3.上下文

进程在cpu执行过程中,会产生很多的中间结果,在进程切换出cpu之前,需要把这些中间结果记录下来,保存在PCB的上下文中,在下一次这个进程回到cpu上执行时,就需要把之前这些中间结果恢复回来(这个过程其实就像是游戏的存档功能)

4.记账信息

操作系统为了避免某一个进程一直没有分配到cpu资源,就会进行类似记账一样的统计,给分配cpu资源少的进程适当分配多一点

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值