0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU中的调试算法有什么不同

汽车玩家 来源:IT知识课堂 作者:IT知识课堂 2020-05-05 23:26 次阅读

批处理系统中采用的调度算法

重要指标(吞吐量,周转时间,CPU利用率,公平平衡)

非抢占式的先来先服务算法(FCFS):按照进程就绪的先后顺序使用CPU

特点:公平,实现简单,但是长进程后面的短进程需要等待很长时间,不利于用户体验。

非抢占式的最短作业优先(SJF):具有最短完成时间的进程优先执行

最短剩余时间优先(SRTN):SJF抢占式版本,即当一个新就绪的进程比当前运行进程具有更短完成时间时,系统抢占当前进程,选择新就绪的进程执行。

短作业优先调度算法特点:改善短作业的周转时间,但如果源源不断有短任务到来,可能使长的任务长时间得不到运行,产生饥饿现象。

最高相应比优先算法(HRRN):是一个综合算法,调度时,首先计算每个进程的响应比R,之后总是选择R最高的进程执行。

响应比R=(等待时间+处理时间)/处理时间

交互系统中采用的调度算法

重要指标(响应时间,公平平衡)

时间片轮转调度算法: 每个进程被分配一个时间片,允许该进程在该时间段运行,如果在时间片结束时该进程还在运行,则剥夺CPU并分配给另一个进程,如果该进程在时间片结束前阻塞或结束,则CPU立即进行切换。

当时间片选择太长,其降级为先来先服务算法,引起对短的交互请求响应时间长

当时间片选择太短,会导致频繁的进程切换,浪费CPU时间。

通常选择为20ms~50ms.

对进程表中不同进程的大小差异较大的有利,而对进程都是相同大小的不利。

虚拟轮转法:主要基于时间片轮转法进行改进,解决在CPU调度中对于I/O密集型进程的不友好。其设置了一个辅助队列,对于I/O型进程执行完一个时间片之后,则进入辅助队列,CPU调度时总是先检查辅助队列是否为空,如果不为空总是优先调度辅助队列里的进程,直到为空,才调度就绪队列的进程。

CPU中的调试算法有什么不同

最高优先级调度算法:选择优先级最高的进程优先执行。

优先级可以静态不变,也可以动态调整

优先数决定优先级

就绪队列可以按照优先级组织

实现简单,但不公平,可能导致优先级低的进程产生饥饿现象。

可能产生优先级反转问题(基于优先级的抢占式算法),即一个低优先级进程持有一个高优先级进程所需要的资源,使得高优先级进程等待低优先级进程运行。

多级反馈队列调度算法:

设置多个就绪队列,并为各个队列赋予不同的优先级。第一个队列的优先级最高,依次递减优先级。

对于各个队列进程执行时间片的大小也不同,优先级越高的队列,分配到的时间片越少。

当第一级队列为空时,再第二级队列进行调度,依次类推,各级队列按照时间片轮转方式进行调度。

当一个新进程创建后,首先把它放入第一队列的末尾。按照FCFS原则排队等待调度。当轮到该进程执行时,如它在该时间片完成,便可准备撤离系统,如果它在一个时间片结束时尚未完成,则调度程序便将该进程转入第二队列的末尾,再同样地按照FCFS原则等待调度执行。依次类推。

CPU中的调试算法有什么不同

各种调度算法比较:

CPU中的调试算法有什么不同

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10832

    浏览量

    211272
  • 算法
    +关注

    关注

    23

    文章

    4601

    浏览量

    92703
收藏 人收藏

    评论

    相关推荐

    【BearPi-Pico H3863星闪开发板体验连载】LZO压缩算法移植

    ,可以在这个工程添加日志功能,这样在代码移植过程可以方便调试,查看移植的代码是否按照正常工况运行。 主要添加的文件 四、调试 当代码的文件天键完成后,就需要编译、
    发表于 11-10 21:45

    常用的ADC滤波算法哪些

    ADC(模数转换器)滤波算法在信号处理起着至关重要的作用,它们能够帮助我们提取出有用的信号,同时滤除噪声和干扰。以下是常用的ADC滤波算法详解,这些算法各具特色,适用于不同的应用场景
    的头像 发表于 10-08 14:35 293次阅读

    CPU主要参数哪些

    CPU(Central Processing Unit,中央处理器)是计算机系统的核心部件,负责执行程序指令、处理数据和进行逻辑运算。CPU的参数繁多,但其中一些关键参数对于理解和选择CPU至关重要。
    的头像 发表于 09-10 11:51 1078次阅读

    CPU故障现象哪些

    CPU作为计算机系统的核心部件,其稳定性和性能直接影响到整个计算机系统的运行。当CPU出现故障时,会表现出多种不同的现象。以下是对CPU故障现象的详细解析,包括常见的故障类型、具体表现以及可能的原因。
    的头像 发表于 09-10 11:46 2677次阅读

    Imagination CPU 系列研讨会 | RISC-V 平台的性能分析和调试

    为了让开发者及工程师深入了解Imagination的CPU产品及相关解决方案,Imagination将陆续推出5期线上研讨会,包含:RISC-V平台的性能分析和调试;RISC-V安全和全球平台可信
    的头像 发表于 08-10 08:28 256次阅读
    Imagination <b class='flag-5'>CPU</b> 系列研讨会 | RISC-V 平台的性能分析和<b class='flag-5'>调试</b>

    CPU寄存器的用途

    在计算机体系结构,中央处理单元(CPU)无疑是整个系统的核心。CPU负责执行指令、处理数据、控制计算机系统的运行等关键任务。而在这个过程,寄存器扮演着至关重要的角色。本文将详细探讨
    的头像 发表于 05-30 17:09 1279次阅读

    RTC和CPU什么关系

    在现代计算机系统,实时时钟(RTC, Real-Time Clock)和中央处理单元(CPU, Central Processing Unit)是两个至关重要的组成部分。它们各自承载着不同的功能
    的头像 发表于 05-30 17:07 600次阅读

    为什么无法在Modus工具箱调试或编程双CPU演示?

    我在启动程序双CPU演示时遇到了问题。我试过重启 IDE,它一直说调试会话已经开始了。 我的单核调试效果很好,调试CPU 演示时有一些注
    发表于 01-26 08:14

    如何在Linux系统检查CPU使用率

    首先在Linux系统检查CPU使用率。可以通过在命令行输入top或htop命令来查看当前系统各个进程的CPU使用率。如果
    发表于 01-06 10:42 1287次阅读
    如何在Linux系统<b class='flag-5'>中</b>检查<b class='flag-5'>CPU</b>使用率

    研讯科技——研华工控机CPU如何选择适合自己的?常见的CPU哪些

    CPU哪些?下面就随苏州研讯电子科技有限公司一起来看看吧。 常见的CPU哪些? CPU作为计算机的核心部件,负责执行计算机指令和处理数
    的头像 发表于 01-03 16:36 943次阅读
    研讯科技——研华工控机<b class='flag-5'>CPU</b>如何选择适合自己的?常见的<b class='flag-5'>CPU</b><b class='flag-5'>有</b>哪些

    CPU与GPU与TPU之间什么区别?

    CPU与GPU与TPU之间什么区别? CPU(Central Processing Unit,中央处理器)是一种通用处理器,被用于各种计算任务,如操作系统运行、数据处理、算法运算等。
    的头像 发表于 12-15 10:10 6593次阅读

    USB调试模式是什么意思?USB调试模式什么用?

    USB调试模式是什么意思?USB调试模式什么用? USB调试模式是一种在Android设备上进行开发、测试和调试的模式。当设备处于USB
    的头像 发表于 12-11 11:06 1.1w次阅读

    内核的psci架构cpu_ops接口

    cpu_ops接口 驱动初始化完成后,cpucpu_ops就可以调用这些回调实现psci功能的调用。如下所示,当devicetreecpu
    的头像 发表于 12-05 17:25 651次阅读

    如何在内核启动secondary cpu

    启动secondary cpu 内核在启动secondary cpu之前当然需要为其准备好执行环境,因为内核cpu最终都将由调度器管理,故此时调度子系统应该要初始化完成。 同时
    的头像 发表于 12-05 15:46 561次阅读
    如何在内核<b class='flag-5'>中</b>启动secondary <b class='flag-5'>cpu</b>

    javacpu占用过高如何分析

    JavaCPU占用过高是一种常见的问题,需要通过多种方法进行分析和解决。本文将详细介绍JavaCPU占用过高的原因以及如何进行分析和优化。 一、
    的头像 发表于 12-05 11:15 9151次阅读