首页 > 系统相关 >进程有哪些调度算法?

进程有哪些调度算法?

时间:2023-11-17 22:01:11浏览次数:27  
标签:优先级 哪些 作业 调度 算法 时间 进程

进程调度就是确定某一个时刻CPU运行哪个进程,常见的进程调度算法有:

进程有哪些调度算法?_运行时间

先来先服务

非抢占式的调度算法,按照请求的顺序进行调度。有利于长作业,但不利于短作业,因为短作业必须一直等待前面的长作业执行完毕才能执行,而长作业又需要执行很长时间,造成了短作业等待时间过长。另外,对I/O密集型进程也不利,因为这种进程每次进行I/O操作之后又得重新排队。

进程有哪些调度算法?_优先级_02

短作业优先

非抢占式的调度算法,按估计运行时间最短的顺序进行调度。长作业有可能会饿死,处于一直等待短作业执行完毕的状态。因为如果一直有短作业到来,那么长作业永远得不到调度。

进程有哪些调度算法?_优先级_03

优先级调度

为每个进程分配一个优先级,按优先级进行调度。为了防止低优先级的进程永远等不到调度,可以随着时间的推移增加等待进程的优先级。

进程有哪些调度算法?_运行时间_04

时间片轮转

将所有就绪进程按 先来先服务的原则排成一个队列,每次调度时,把 CPU 时间分配给队首进程,该进程可以执行一个时间片。当时间片用完时,由计时器发出时钟中断,调度程序便停止该进程的执行,并将它送往就绪队列的末尾,同时继续把CPU 时间分配给队首的进程。

时间片轮转算法的效率和时间片的大小有很大关系:因为进程切换都要保存进程的信息并且载入新进程的信息,如果时间片太小,会导致进程切换得太频繁,在进程切换上就会花过多时间。 而如果时间片过长,那么实时性就不能得到保证。

进程有哪些调度算法?_时间片_05

最短剩余时间优先

最短作业优先的抢占式版本,按剩余运行时间的顺序进行调度。 当一个新的作业到达时,其整个运行时间与当前进程的剩余时间作比较。如果新的进程需要的时间更少,则挂起当前进程,运行新的进程。否则新的进程等待。

标签:优先级,哪些,作业,调度,算法,时间,进程
From: https://blog.51cto.com/u_11344924/8454911

相关文章

  • 文档型数据库能够为企业带来哪些核心价值
    在数字化时代的浪潮中,数据管理和处理已成为众多企业的中心任务。文档型数据库作为NoSQL家族的一员,在解决数据存储和查询的问题上展现出强大的能力。本文旨在探讨文档型数据库(MongoDB和巨杉数据库SequoiaDB)具有哪些显著优势?为客户企业带来了哪些核心价值?1.MongoDB与SequoiaDB:文档型......
  • 边缘计算网关有哪些应用场景?边缘计算网关应用场景大汇总
    边缘计算技术是指在靠近设备或数据源头的一侧,就近提供数据分析处理服务。通常由边缘计算网关或计算终端实现,能够实现更快的设备/服务响应,满足各行业在实时业务、应用智能、安全与隐私保护等方面的需求。本篇就为大家简要总结介绍一下边缘计算网关的常见应用场景。  1、智能......
  • 智慧工地平台,利用5G及智能终端算法,实现IOT设备数据抓取与处理
    智慧工地平台采用先进的云计算、物联网和大数据技术,可以实现智慧工地方案的落地。能够实现实时掌控工地活动及各项进度,有效预防违章施工。能够为工地提供多项服务,如安全预警、机械智能监控、作业指导、绿色施工、劳务管理、工程进度监控、施工质量检查等。可实时收录及通知施工进度......
  • OpenCL任务调度基础介绍
    当前,科学计算需求急剧增加,基于CPU-GPU异构系统的异构计算在科学计算领域得到了广泛应用,OpenCL由于其跨平台特性在异构计算领域渐为流行,其调度困难的问题也随之暴露,传统的OpenCL任务调度需要在编码阶段确定调度方案,这种人工调度难度高、适应性差、效率低下、且存在资源竞争问题。Mu......
  • 算法题 - 跳楼梯
    提问:有一道编程题是跳楼梯类型的:有M级楼梯,若每次只能向上跳1级或4级或7级,那么要走上M级,共有多少种写法,请用C语言写出这到题的最优解法,最好用递归来解决,并给每行代码和代码块添加注释解答:这是一个动态规划问题,我们可以使用递归和备忘录的方法来解决。首先定义一个数组dp,其中dp[i]表......
  • 基于物理层网络编码的相位同步算法matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       基于物理层网络编码的相位同步算法是一种利用物理层网络编码技术来实现相位同步的算法。这种算法的原理是将两个或多个相位不同的信号进行叠加,产生一个叠加信号,然后通过分析叠加......
  • 深度学习算法原理实现——模型欠拟合和过拟合处理
    欠拟合:fromtensorflow.kerasimportregularizersimportnumpyasnpfromtensorflowimportkerasfromtensorflow.kerasimportlayersfromtensorflow.keras.datasetsimportimdbfromtensorflow.keras.datasetsimportmnistdefplot_val_loss_and_acc(model):......
  • 深度学习算法原理实现——线性分类器
     importnumpyasnpimporttensorflowastfimportmatplotlib.pyplotaspltdefmodel(inputs):returntf.matmul(inputs,W)+bdefsquare_loss(targets,predictions):per_sample_losses=tf.square(targets-predictions)returntf.reduce_mean......
  • 深度学习算法原理实现——自写神经网络识别mnist手写数字和训练模型
    代码来自:https://weread.qq.com/web/reader/33f32c90813ab71c6g018fffkd3d322001ad3d9446802347《python深度学习》fromtensorflow.keras.datasetsimportmnistfromtensorflow.kerasimportoptimizersimporttensorflowastfimportnumpyasnpclassNaiveDense:d......
  • 华秋这场技术研讨邀请了哪些重磅嘉宾?
    距离11月23日2023电子设计与制造技术研讨会还有7天11月23日,华秋将联合凡亿电路、耀创电子及行业资深PCB设计专家,举办一场面向电子工程师的技术交流会议"2023电子设计与制造技术研讨会“。会议将从EDA设计、DFM软件分析、高速pcb设计、多层PCB制造、PCBA加工等环节深入讲解,将给......