当前位置: 首页 > news >正文

非可抢占式和抢占式进程调度的区别是什么?

1) 非抢占式优先权算法

在这种方式下,系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;或因发生某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一优先权最高的进程。这种调度算法主要用于批处理系统中;也可用于某些对实时性要求不严的实时系统中。

2) 抢占式优先权调度算法

在这种方式下,系统同样是把处理机分配给优先权最高的进程,使之执行。但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。因此,在采用这种调度算法时,是每当系统中出现一个新的就绪进程i 时,就将其优先权Pi与正在执行的进程j 的优先权Pj进行比较。如果Pi≤Pj,原进程Pj便继续执行;但如果是Pi>Pj,则立即停止Pj的执行,做进程切换,使i 进程投入执行。显然,这种抢占式的优先权调度算法能更好地满足紧迫作业的要求,故而常用于要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中。

非抢占式(Nonpreemptive)   让进程运行直到结束或阻塞的调度方式   容易实现   适合专用系统,不适合通用系统   
抢占式(Preemptive) 允许将逻辑上可继续运行的在运行过程暂停的调度方式 可防止单一进程长时间独占CPU 系统开销大(降低途径:硬件实现进程切换,或扩充主存以贮存大部分程序)

相关文章:

  • 【数据结构】ArrayList原理及实现学习总结
  • Java集合:HashMap源码剖析
  • 从原则、方案、策略及难点阐述分库分表
  • IDEA,WebStorm ,pyCharms 2018注册码 (2018jetbrain所有产品都可以)
  • css如何让div显示在最上层
  • XMind制作思维导图——添加子标题
  • JAVA中的Random()函数,获取随机数
  • FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
  • linux wget安装以及使用
  • Servlet中response、request乱码问题解决
  • IntelliJ IDEA设置类代码模板自定义(注释)
  • JAVA数组Java StringBuffer 和 StringBuilder 类
  • isEmpty和null以及的区别
  • Redis主从复制原理
  • Java并发编程的艺术(十二)——线程安全
  • ES6指北【2】—— 箭头函数
  • #Java异常处理
  • CAP理论的例子讲解
  • iOS | NSProxy
  • JavaScript设计模式之工厂模式
  • JavaScript实现分页效果
  • PHP的类修饰符与访问修饰符
  • Python学习笔记 字符串拼接
  • react 代码优化(一) ——事件处理
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Webpack 4 学习01(基础配置)
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 好的网址,关于.net 4.0 ,vs 2010
  • 利用DataURL技术在网页上显示图片
  • 区块链共识机制优缺点对比都是什么
  • 微服务核心架构梳理
  • ionic异常记录
  • python最赚钱的4个方向,你最心动的是哪个?
  • 通过调用文摘列表API获取文摘
  • ​configparser --- 配置文件解析器​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #HarmonyOS:基础语法
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (分类)KNN算法- 参数调优
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (简单) HDU 2612 Find a way,BFS。
  • (九)c52学习之旅-定时器
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)VirtualBox安装增强功能
  • (转)jdk与jre的区别
  • (转)大型网站的系统架构
  • ***监测系统的构建(chkrootkit )
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .equals()到底是什么意思?
  • .NET 5种线程安全集合