进程的调度

        打开任务管理器在里面就可以看到进程,那什么是进程呢?简单来说进程就是系统正在运行的应用程序。(一个没有运行的应用程序就是一个在硬盘上的.exe的静态文件)

        从任务管理器可以看出,进程运行时需要一些系统分配一些硬件资源(CPU,内存,硬盘,网络),进程又是操作系统进行资源分配的基本单位。
        为了管理进程,通过都需要将其抽象成⼀组有关联的、互为⼀体的数据。在 Java 语言中,我们可以通过类/对象来描述这一个进程,这个类称为'
PCB',这个类包含了进程所需的属性。然后通过数据结构把这些'PCB'组织起来。每⼀个 PCB 对象,就代表着⼀个实实在在运行着的程序,也就是进程

        进程调度是指操作系统在多道程序环境下,决定哪些进程优先执行、哪些进程暂时停止或等待、以及何时执行这些操作的过程,简单来说就是CPU的分配。
       在PCB中 (1.进程状态2.进程优先级3.进程上下文4.进程的记账信息)这四个属性共同决定了进程的调度。

        1.进程的状态
        进程有两种常见的状态一个是就绪状态,是可以随时被调度到CPU上执行指令的。一个是阻塞状态,是不能被调度到CPU上执行指令。

        2.进程的优先级
        这个属性顾名思义就是决定了哪些进程先执行,哪些进程后执行。进程的优先级是可以自行调节的。

        3.进程的上下文
        在单核系统中,由于一个核心只能运行一个进程,当我们运行多个进程后,CPU有会根据进程的状态,进程的优先级等先运行一个进程1,一段时间后再运行另一个进程2,再一会后再去运行其他进程3,由于CUP的这种工作情况,就需要记录进程的上下文,当再次运行进程1时,才知道刚刚运行到哪里,进程的运行才能持续。

        4.进程的记账信息
        由于进程的优先级,使得有些资源分配到的资源越来越少,操作系统会根据每个进程在CPU上的运行时间来调整策略。

        上述的这4中属性都是用来支持并发执行,为了进程的调度。

        在计算机上同时存在着许多进程,CPU负责执行这些进程,一个CPU核心执行一个进程,在单核的计算机中这么多进程如何同时执行? --'分时复用'

        什么是分时复用
简单来说就是这个时刻CPU运行进程1,过一会执行进程2,再过一会运行进程3,由于CPU的运算速度很快,在进程间的切换也很快,所以在我们看来这些进程都是'同时执行'的,这就叫做并发执行
        如今的计算机有了多核的CPU能真正意义上让进程同时执行,这叫做
并行执行

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Milliliter___

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值