【JavaEE初阶】进程调度的过程

进程调度是操作系统根据特定策略选择进程占用CPU运行的过程。当就绪进程数多于CPU时,调度程序通过调度算法决定执行进程。常见的调度算法包括时间片轮转和抢占式调度。时间片轮转允许多个进程并发执行,而抢占式调度则优先处理高优先级任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是进程调度?

进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。

那么我们先来看看进程的一个状态----》

当计算机系统处于就绪状态的用户进程数多于CPU数时,就会产生多个进程或线程同时竞争CPU的结果。假设现在只有一个CPU可用,那么操作系统就必须选择下一个要运行的进程。完成这种选择工作的这一部分称为调度程序,该程序使用的算法称为调度算法。

在这里面我们就要学到并发并行的知识了。

并发:一个CPU时间片轮转调度的方式,执行多个进程,给我们的感觉是同时进行的。但是             并不是。

并行:多个CPU在一个时间点,同时执行多个进程。

系统数如何管理进程?

        首先他会先创建一个进程的pcb结构体(用于描述进程的信息),它包括:

  1. pid  表示进程的身份;
  2. 状态:包括运行,阻塞等;
  3. 内存指针进程内存地址;
  4. 资源清单:iO设备,硬盘文件;
  5. 调度信息:即 进程运行了多少代码,等待了多久;
  6. 上下文。

那么什么是调度算法?

我们最常见的调度算法就是时间片轮转调度算法

即:只有一个CPU时,以时间片轮转调度,一段时间后换到下一个进程执行。

同时,我们有事也会常见抢占式调度。

当我们的任务有优先级较高的任务的时候,就要使用抢占式调度,优先执行,此时,我们的优先级进程会优先执行,A进程,时间片提前结束,有运行态转为就绪态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值