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

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

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

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

(理解)

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{总共完成的作业数}{总时间}$$​​‍三、周转......
  • 调度的概念与层次
    调度的概念与层次‍​​‍一、调度解决的问题理解:在资源有限不能同时处理所有任务的情况下,需要确定某种规则来确定处理这些任务的顺序(划分权级或短时优先或其他等)‍二、调度的层次划分​​‍(一)高级调度/长程调度/作业调度内存的空间有限,无法将所有任务同时装入内存。......
  • 进程调度的时机、方式、切换与过程
    进程调度的时机、方式、切换与过程(理解)​​‍一、进程调度的时机​​有的系统中,只允许进程主动放弃处理机。有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)。‍​​对2.的补充:——临界资源:一个时间段内只允许一个进程使用的......
  • 调度算法的评价指标
    调度算法的评价指标‍​​‍一、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表达式,分别对应秒、分、时、月天、月、周天、年。在团队日常开发工作中,工作流的定时调度一般不会细化到秒级别。但历史上出现过因配置的疏忽大意而产生故障时间,如应该配置每分钟执行的工作流被配置长了每秒执行,造成短时......