首页 > 系统相关 >进程调度的时机、方式、切换与过程

进程调度的时机、方式、切换与过程

时间:2024-11-07 16:34:22浏览次数:4  
标签:处理机 调度 临界 切换 进程 时机 内核

进程调度的时机、方式、切换与过程

(理解)

image


一、进程调度的时机

image

有的系统中,只允许进程主动放弃处理机。

有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)。

image

对2.的补充:

——临界资源: 一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。

——临界区: 访问临界资源的那段代码。

内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的 PCB 组成)

理解:临界区也有分别为内核程序临界区其他资源的程序临界区

与内核程序临界区相关:

imageimage

与其他资源的程序临界区相关(以打印机为例):

imageimage

因此下面两种说法在文字上有细微不同但仍有差别:

  • 进程在操作系统内核程序临界区中不能进行调度与切换

  • 进程处于临界区时不能进行处理机调度 ×

二、进程的调度方式

  1. 非剥夺调度方式(非抢占方式)

    只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。

    实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统。

  2. 剥夺调度方式(抢占方式)

    当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。

    可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时操作系统。

三、进程的切换与过程

(一)调度与切换的联系和区别

(1)狭义的进程调度

从就绪队列中选中一个要运行的进程(可以是刚刚被暂停执行的进程,也可以是另一个进程。后者需要进程切换。)

(2)广义的进程调度

包含上面的选择一个进程以及进程切换两个步骤。

(二)进程切换的任务

image

(三)注意

进程切换是有代价的, 因此如果过于频繁地进行进程调度、切换,必然会使整个系统的效率降低,使系统大部分时间都花在了进程切换上,而真正用于执行进程的时间减少。

标签:处理机,调度,临界,切换,进程,时机,内核
From: https://www.cnblogs.com/Wind730/p/18533062/the-timing-method-switching-and-process-of-proc

相关文章

  • 调度算法的评价指标
    调度算法的评价指标‍​​‍一、CPU利用率CPU工作的时间占总时间的比例。$$CPU利用率=\frac{CPU工作时间}{总时间}$$计算某种设备的利用率类似。​​‍二、系统吞吐量单位时间内完成作业的数量$$系统吞吐量=\frac{总共完成的作业数}{总时间}$$​​‍三、周转......
  • 深入解析 WKWebView 的 didFinish 回调时机:页面加载与异步操作的处理
    在iOS开发中,我们经常会用WKWebView来加载和展示H5页面。通常,开发者会在WKWebView的didFinish方法中处理页面加载完成后的逻辑,例如更新UI或执行后续操作。然而,didFinish的触发时机并不总是如我们所期待,它并不会等待所有异步操作(如AJAX请求、图片加载等)完成后再执行......
  • 鸿蒙开发进阶(HarmonyOS)使用通话设备切换组件
     鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)基本概......
  • Apache DolphinScheduler + OceanBase,搭建分布式大数据调度平台的实践
    本文整理自白鲸开源联合创始人,ApacheDolphinSchedulerPMCChair,ApacheFoundationMember代立冬的演讲。主要介绍了DolphinScheduler及其架构、DolphinScheduler与OceanBase的联合大数据方案。DolphinScheduler是什么?ApacheDolphinScheduler,作为一款云原生且配备强大的可视......
  • 克服并发与容错:分布式任务调度系统实践
    5万字长文趁还没火赶紧收藏,比知识星球的项目质量高还不付费,你去哪儿找?基于spring环境开发,拒绝CRUD,让你体验后端的美我们为什么需要任务定时调度系统?从后端角度讲,任务定时调度系统广泛应用于数据备份、日志清理、系统维护等场景,能够显著提高系统的自动化程度和运......
  • 【leetcode】40-best-time-to-buy-and-sell-stock 力扣 121. 买卖股票的最佳时机
    买卖股票系列【leetcode】40-best-time-to-buy-and-sell-stock力扣121.买卖股票的最佳时机【leetcode】41-best-time-to-buy-and-sell-stock-ii力扣122.买卖股票的最佳时机II【leetcode】42-best-time-to-buy-and-sell-stock-iii力扣123.买卖股票的最佳时机III【le......
  • DolphinScheduler 限制秒级别的定时调度
    背景DolphinScheduler定时任务配置采用的7位Crontab表达式,分别对应秒、分、时、月天、月、周天、年。在团队日常开发工作中,工作流的定时调度一般不会细化到秒级别。但历史上出现过因配置的疏忽大意而产生故障时间,如应该配置每分钟执行的工作流被配置长了每秒执行,造成短时......
  • runas 是 Windows 操作系统中的一个命令,用于以不同的用户身份运行程序或命令。这意味
    runas是Windows操作系统中的一个命令,用于以不同的用户身份运行程序或命令。这意味着你可以用管理员账户或其他用户的身份来启动程序,而不需要注销当前账户或切换用户。这个命令在需要进行权限提升或在多个用户身份下进行操作时非常有用。什么是 runas 命令?runas命令允许你......
  • 第九章 FreeRTOS 任务切换
    9.1PendSV异常PendSV(可挂起的系统调用)异常对OS操作非常重要,其优先级可以通过编程设置。可以通过将中断控制和壮态寄存器ICSR的bit28,也就是PendSV的挂起位置1来触发PendSV中断。与SVC异常不同,它是不精确的,因此它的挂起状态可在更高优先级异常处理内设置,且会......
  • 京东物流-智能运输调度系统方案 荣获IF、红点国际设计大奖
    作者:京东物流王文玲   前言京东集团企业文化升级后,「以技术为本,让生活更美好」成为京东人的使命,在「创新」价值观引导下,设计师基于对物流业务领域持续深耕,自驱发起智能调度解决方案的创新思考,推演得到智能物流运输调度系统概念方案,经过投稿先后获得设计领域国际影响力较......