计算机操作系统-第十八天

目录

进程调度时机

补充知识 

进程调度的方式

非剥夺调度方式

剥夺调度方式

进程的切换与过程

本节思维导图


进程调度时机

进程调度(低级调度),即按照某种算法从就绪队列中选择一个进程为其分配处理机。

共有两种需要进行进程调度与切换的情况:

  1. 当前运行的进程主动放弃处理机,比如:进程正常终止、进程主动请求阻塞等
  2. 当前运行的进程被动放弃处理机,比如:分给进程的时间片用完、有更紧急的事需要处理等

共有三种不能进行进程调度与切换的情况:

  1. 在处理中断过程中(中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换)
  2. 进程在操作系统内核程序临界区中)(进程在普通临界区中是可以进行调度、切换的)
  3. 在原子操作过程中(原语)(原子操作不可中断,要一气呵成)

注意事项:

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

2、进程处于临界区不等于处于内核程序临界区

补充知识 

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

临界区:访问临界资源地那段代码

内核程序临界区一般是用来访问某种内核数据结构地(比如进程地就绪队列)

实例:当进程处于内核程序临界区,且该临界区是要用来访问就绪队列时,在访问时会将该就绪队列(临界资源)上锁,当进程还没有退出内核程序临界区时,该队列就不会解锁,如果此时进行进程调度,而进程调度需要访问就绪队列为队列中的进程分配资源,但此时就绪队列被锁住,故无法顺利的进行进程调度了

结论:内核程序临界区访问的临界资源(比如就绪队列)如果不尽快释放的话,极有可能影响到操作系统内核的其他管理工作,因此在访问内核程序临界区期间不能进行调度与切换

实例:当进程处于普通资源的临界区比如打印机资源时,在打印机完成打印之前,进程一直处于临界区内,临界资源不会解锁,但打印机又是慢速设备,此时如果一直不允许进程调度的话就会导致CPU一直空闲

结论: 普通临界区访问的临界资源不会直接影响操作系统内核的管理工作,因此在访问普通临界区时可以进行调度与切换

进程调度的方式

非剥夺调度方式

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

特点:实现简单,系统开销小但是无法即使处理紧急任务,适合于早期的批处理系统

剥夺调度方式

概念:又称抢占方式,当一个进程正在处理机上执行是,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的进程

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

进程的切换与过程

“侠义的进程调度”与“进程切换”的区别:

1、侠义的进程调度指的是从就绪队列中选中一个要运行的进程(该进程可以是刚刚被暂停执行的进程,也可能是另一个进程,后者就需要进程切换)

2、广义的进程调度包含了选择一个进程和进程切换两个步骤:

        进程切换的过程主要完成了:

                对原来运行进程各种数据的保存

                对新进程各种数据的恢复

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

本节思维导图

~over~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定,对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化,功能实现的完善。对于测试来说,重复繁琐的功能测试不仅效率低下,而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…

Lambda表达式的简单理解

1. 初识lambda表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。 Lambda 表达式(Lambda exp…

广州华锐互动:VR煤矿特殊工种作业实训帮助提高矿工的操作技能和安全意识

VR煤矿特殊工种作业实训系统为煤矿企业培训提供了全方位的支持,帮助提高矿工的操作技能和安全意识,促进煤矿企业的安全生产。 首先,VR煤矿特殊工种作业实训系统可以提供逼真的虚拟操作环境,使矿工能够身临其境地感受各种工种的作业…

计算机网络 网络层上 | IP数据报,IP地址,ICMP,ARP等

文章目录 1 网络层的两个层面2 网络协议IP2.1 虚拟互联网络2.2 IP地址2.2.1 固定分类编址方式2.2.2 无分类编制CIDR2.2.3 MAC地址和IP地址区别 2.3 地址解析协议ARP2.3.1 解析过程 2.4 IP数据报格式 3 IP层转发分组流程4 国际控制报文协议ICMP4.1 ICMP格式结构4.2 分类4.2.1 差…

学习MS Dynamics AX 2012编程开发 2. X++语言

X是用于构建Dynamics AX功能的编程语言。X是一种与C类似的面向对象编程语言。 完成本章后,您将能够理解X语言;您将知道可用的数据类型是什么,如何创建各种循环,如何比较和操作变量,在哪里可以找到预定义的函数&#x…

【Android逆向】记录一次某某虚拟机的逆向

导语 学了一段时间的XPosed,发现XPosed真的好强,只要技术强,什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分…

二叉树前,中序推后续_中,后续推前序

文章目录 介绍思路例子 介绍 二叉树是由根、左子树、右子树三部分组成。 二叉树的遍历方式又可以分为前序遍历,中序遍历,后序遍历。 前序遍历:根,左子树,右子树 中序遍历:左子树,根&#xff0…

菜鸟学习日记(python)——匿名函数

Python 使用 lambda 来创建匿名函数。 lambda 函数是一种小型、匿名的内联函数,它可以具有任意数量的参数,但只能有一个表达式。 匿名函数的一般格式如下: lambda 参数列表:表达式 表达式用于计算并返回函数结果 lambda 函数通常用于编写…

FreeRtos里的几个中断屏蔽

1、primask 寄存器 PRIMASK用于禁止除NMI和HardFalut外的所有异常和中断,使用方法: cpsid i ; //设置primask (禁止中断) cpsie i ; //清除primask (使能中断) 也可以 movs r0,#1 msr primask r0; //将 1写入p…

C# WPF上位机开发(网络程序界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 之前我们讨论过,设备之间通讯的方式很多。但是,不知道大家有没有注意,前面谈到的这些通讯方式都需要上位机电脑…

华为云创新动能涌现,浒墅关开启先进制造新纪元

编辑:阿冒 设计:沐由 穿境而过的京杭大运河,孕育了苏州浒墅关深厚的历史文化底蕴。千年延续不断的繁华,滋养了一代又一代奋进的浒墅关人。今天,一座国家级经开区挺立在这里,散发出创新创业的蓬勃活力。 苏州…

WordPress如何搭建多站点

这边之前有讲到过wordpress站中站(栏目站)建站教程,同样的也有讲到过WordPress开启多站点配置,两种方法都是用来搭建子站点的,而开启多站点的方式不同于普通搭建站中站,多站点配置开启,是可以实…

STM32F407-14.3.18-01连接霍尔传感器

连接霍尔传感器 可通过用于生成电机驱动 PWM 信号的高级控制定时器(TIM1 或 TIM8)以及图 114 中称为 “接口定时器”的另一个定时器 TIMx(TIM2、TIM3、TIM4 或 TIM5),实现与霍尔传感器的连接。3 个定时器输入引脚&…

【C语言】实战项目——通讯录

引言 学会创建一个通讯录,对过往知识进行加深和巩固。 文章很长,要耐心学完哦! ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 实战 建…

C语言——完数难题(编程题目)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 生命如同寓言,其价值不在于…

【数据分享】2019-2023年我国区县逐年二手房房价数据(Excel/Shp格式)

房价是一个区域发展程度的重要体现,一个区域的房价越高通常代表这个区域越发达,对于人口的吸引力越大!因此,房价数据是我们在各项城市研究中都非常常用的数据!之前我们分享了2019—2023年我国区县逐月的二手房房价数据…

破译模式:模式识别在计算机视觉中的作用

一、介绍 在当代数字领域,计算机视觉中的模式识别是关键的基石,推动着众多技术进步和应用。本文探讨了计算机视觉中模式识别的本质、方法、应用、挑战和未来趋势。通过使机器能够识别和解释视觉数据中的模式,模式识别不仅推动了计算机视觉领域…

小程序商城活动页面怎么生成二维码

背景 小程序商城某些页面需要做成活动推广页,或需要某一个页面做成二维码进行推广。比如某些非公开的商品做成一个活动,发送指定部分用户,这个活动页面可以做成二维码。 前提 小程序已经上线 步骤 登录微信小程序官网,选择工具…

【i.MX6ULL】使用buildroot构建根文件系统

文章目录 前言1、下载源码2、构建根文件系统1. 配置buildroot2. 编译buildroot3. buildroot根文件系统测试 3、buildroot第三方软件和库的配置1. 使能 alsa-lib2. 使能 alsa-utils 4、 buildroot下的busybox配置1. busybox配置2. 使能常用命令 前言 本篇文章时参考的正点原子的…

嵌入式开发中的总线与时钟

总线 AHB总线 AHB的全称是"Advanced High-performance Bus",中文翻译就是"高级高性能总线"。这是一种在计算机系统中用于连接不同硬件组件的总线架构,它可以帮助这些组件之间高效地传输数据和信息。这个总线架构通常用于处理速度较快且对性能要求较高的…