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

苏州网站建设有限公司/合肥网站seo

苏州网站建设有限公司,合肥网站seo,企业网站开发用什么好,中国建设银行招聘官网站文章目录第二章 进程管理进程调度的时机、方式、切换与过程(一)进程调度的时机(二)进程调度的方式(三)进程的切换与过程小结第二章 进程管理 进程调度的时机、方式、切换与过程 时机 什么时候需要进程调度…

文章目录

  • 第二章 进程管理
    • 进程调度的时机、方式、切换与过程
      • (一)进程调度的时机
      • (二)进程调度的方式
      • (三)进程的切换与过程
    • 小结

第二章 进程管理

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

  • 时机
    • 什么时候需要进程调度?
    • 什么时候不能进行进程调度?
  • 切换与过程
    • “狭义的调度”与“切换”的区别
    • 进程切换的过程需要做什么?
  • 方式
    • 非剥夺调度方式(非抢占式)
    • 剥夺调度方式(抢占式)

(一)进程调度的时机

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

  什么时候需要进行进程调度与切换?

  (1)当前运行的进程主动放弃处理机

    ①进程正常终止;

    ②运行过程中发生异常而终止;

    ③进程主动请求阻塞(如 等待I/O)。

  (2)当前运行的进程被动放弃处理机

    ①分给进程的时间片用完;

    ②有更紧急的事需要处理(如 I/O中断);

    ③有更高优先级的进程进入就绪队列。


  而进程调度并不是什么时候都能进行的,有些时候不能进行进程调度与切换。

  (1)在处理中断的过程中。由于中断处理过程很复杂,与硬件密切相关,因此很难做到在进行中断处理过程、处理到一半的时候,去进行进程切换的。

  (2)进程在操作系统内核程序临界区中。(下文会具体讲)

  (3)在原子操作过程中(原语)。原子操作不可中断,要一气呵成(如之前讲过的修改PCB中进程状态标志,并把PCB放到相应队列。而如果在执行到一半去进行进程调度与切换了,就有可能导致数据不匹配、安全隐患)


  进程在操作系统内核程序临界区不能进行调度与切换。(正确表述)

  (2012年联考真题)进程处于临界区不能进行处理机调度。(错误!)

  临界资源:一个时间段内只允许一个进程使用的资源。各个进程需要互斥地访问临界资源。(你访问临界资源的时候我不能访问,我访问临界资源的时候你不能访问,这就是互斥的意思)

  临界区:访问临界资源的那段代码。(因此,各个进程肯定也要互斥地进入临界区。因为“进入临界区” = 运行访问临界资源的代码 = 访问临界资源)

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

  当一个进程正处于内核程序临界区,而这个临界区是访问就绪队列的话。那么,在访问之前,它会把这个就绪队列上锁。

image-20230309144329030

  而如果说这个进程当前还没有退出内核程序临界区的话,也就意味着,这个临界资源并没有被解锁。那么,在没有解锁的情况下,如果我们要发生进程调度的话,那么进程调度是肯定要访问就绪队列这一临界资源的。而由于就绪队列这一临界资源此时还处于上锁的状态,所以,如果在这种情况下去进行进程调度的话,那么此时肯定是没办法顺利进行进程调度的。

  所以,可以看到,对于内核程序临界区访问的这些临界资源,也就是这些内核数据结构而言。如果这些内核数据结构、这些临界资源被上锁了,并且没有被尽快释放的话,那么就有可能影响到操作系统内核其他的管理工作。

  所以,我们在访问内核程序临界区的期间内,我们不能进行进程的调度和切换。我们必须让进程尽快执行完那些内核程序临界区的代码,之后尽快地把对临界资源上的锁给解除,只有这样其他的操作系统内核才能有序进行管理工作。

  而另外一种情况。

  假如这个进程访问的是一种普通的临界资源,比如是一个打印机。那么,它在访问打印机的时候,会先对打印机上锁。

image-20230309191852777

  打印机在打印完成之前,这个进程一直是在临界区内的,一直保持着对打印机的访问,由于这个进程没有退出临界区,所以打印机一直是上锁的状态。但是,又由于打印机是一种慢速的设备,如果这个情况下,不允许进程调度、切换的话,那么就需要这个进程一直空等着这个打印机的打印结束。同时在这个进程空等的时候,它还霸占着CPU,所以CPU一直是在空闲的状态,什么有用的也没有做。

  所以,如果进程在访问普通的临界资源,在普通的临界区当中的话,这个情况下其实是应该进行进程调度的。因为普通的临界区访问的这些普通的临界资源,并不会直接地影响到操作系统内核的管理工作。所以,为了增加操作系统的并发度、增加CPU的利用率,那么在访问这些普通的临界区的时候,是可以进行进程调度和切换的。

  至此,对于开头的两个表达,为什么一个对一个错,已经可以理解了。


  接下来看下一个问题。

  在有的操作系统里,它只允许进程主动地放弃处理机,而不允许这个进程在运行过程中被迫地被剥夺处理机资源。

  但是还有的操作系统,是允许当有更紧急的任务需要处理时,能强行地剥夺当前运行进程的处理机资源的。

  所以由“当前进程是否可以被强行剥夺处理机资源”这个问题,我们引出了下一个知识点——进程调度的方式。

(二)进程调度的方式

  分为非剥夺调度方式(非抢占式)和剥夺调度方式(抢占式)。

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

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

  剥夺调度方式,又称抢占方式。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的过程,将处理机分配给更重要紧迫的那个进程。

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

(三)进程的切换与过程

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

  狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程,也可能是另一个进程,后一种情况就需要进程切换

  进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。

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

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

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

  2、对新的进程各种数据的恢复

(如:程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块)

  因此,我们可知,进程的切换是有代价的,是需要付出一定的时间代价的。所以不能简单的认为,进程切换越频繁、进程的并发度就越高。如果过于频繁地进行进程调度、切换,必然会使整个系统的效率降低,使系统大部分时间花在了进程切换上,而真正用于执行进程的时间减少。

小结

image-20230309194525297

相关文章:

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

文章目录第二章 进程管理进程调度的时机、方式、切换与过程(一)进程调度的时机(二)进程调度的方式(三)进程的切换与过程小结第二章 进程管理 进程调度的时机、方式、切换与过程 时机 什么时候需要进程调度…...

第24篇:Java包装类知识深度分析

目录 1、包装类背景 2、包装类的优点 3、包装类与基本类型关系 4、代码示例...

常见问题整理1

目录 偏差和方差 欠拟合underfitting 过拟合overfitting 梯度消失和梯度爆炸 归一化 偏差和方差 偏差:算法期望预测和真实预测之间的偏差程度。反应的是模型本身的拟合能力。 方差:度量了同等大小的训练集的变动导致学习性能的变化,刻画…...

体验Linux 块设备驱动实验(模拟块)

目录 一、块设备 二、块设备驱动框架 1、块设备的注册和注销 2、gendisk 结构体 3、block_device_operations 结构体 4、块设备 I/O 请求过程 ①、请求队列 request_queue ②、bio 结构 三、编写驱动之请求队列 1、修改makefile 2、基本的驱动框架​编辑 3、添加头文…...

一文搞懂Linux时区设置、自定义时区文件

概念介绍 常说的 Linux 系统时钟有两个 一个是硬件时钟(RTC),即BIOS时间,一般保存的是 GMT0 时间,没时区、夏令时的概念 一个是当地时钟(LTC),即我们日常经常看到的时间&#xff0…...

Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋

wx供重浩:创享日记 对话框发送:java实例 获取完整源码源文件视频讲解文档资料等 文章目录1、企业通讯2、快递打印系统3、开发计划管理系统4、酒店管理系统5、图书馆管理系统6、学生成绩管理系统7、进销存管理系统8、神奇Book——图书商城9、企业门户网站…...

基于nvidia xavier智能车辆自动驾驶域控制器设计与实现-百度Apollo架构(二)

智能车辆操作系统 智能车辆操作系统是智能车辆系统的重要组成部分。现代汽车软件组件通常首 先由不同的供应商开发,然后在有限的资源下由制造商进行集成[42]。智能车辆操作 系统需要采用模块化和分层化设计思想来兼容传感器、分布式通信和自动驾驶通用 框架等模块&a…...

考研408 王道计算机考研 (初试/复试) 网课笔记总结

计算机初试、复试笔记总结(导航栏)📝 一、初试 408 408 - 1. 数据结构与算法 数据结构与算法 笔记导航🚥🚥🚥 🥬 第一章 绪论(无)🥕 第二章 线性表🥪 第三章 栈和队列&…...

[Java·算法·中等]LeetCode34. 在排序数组中查找元素的第一个和最后一个位置

每天一题,防止痴呆题目示例分析思路1题解1👉️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1,…...

SAP BTEs的简介及实现

一、认识BTE BTE(Business Transaction Event)也称之为“业务交易事件”,一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP进行二次开发,然而BTE则提供了RFC调用其它产品的可能(Tcode:FIBF)。BTE的设计思路更加简单,和BADI有点类似。在标准程序中留有…...

如何利用海外主机服务提高网站速度?

网站速度是任何在线业务成功的关键。快速的网站速度可以让用户更快地访问您的网站,增加页面浏览量。对于拥有全球用户的网站而言,选择一个海外主机服务商是提高网站速度的有效方法之一。下面是一些利用海外主机服务(如美国主机、香港主机)提高网站速度的…...

【SpringMVC】 一文掌握 》》》 @RequestMapping注解

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ RequestMapping注解一、SpringMVC环境准备1.相…...

高三应该怎么复习

高三是学生们备战高考的重要一年,正确有序的复习可以有效地提高复习效率,下面是一些高效复习的方法和建议:1. 制定合理的学习计划和目标高三的学生要制定合理的学习计划和目标,适当的计划和目标可以使学习更有针对性和效率。建议根…...

如何通过C++ 将数据写入 Excel 工作表

直观的界面、出色的计算功能和图表工具,使Excel成为了最流行的个人计算机数据处理软件。在独立的数据包含的信息量太少,而过多的数据又难以理清头绪时,制作成表格是数据管理的最有效手段之一。这样不仅可以方便整理数据,还可以方便…...

Kalman Filter in SLAM (6) ——Error-state Kalman Filter (EsKF, 误差状态卡尔曼滤波)

文章目录0.前言1. IMU的误差状态空间方程2. 误差状态观测方程3. 误差状态卡尔曼滤波4. 误差状态卡尔曼滤波方程细节问题0.前言 这里先说一句:什么误差状态卡尔曼?完全就是在扯淡! 回想上面我们推导的IMU的误差状态空间方程,其实…...

centos7部署KVM虚拟化

目录 centos7部署KVM虚拟化平台 1、新建一台虚拟机 2、系统内的操作 1、修改主机名 2、挂载镜像光盘 3、ssh优化 4、设置本地yum仓库 5、关闭防火墙,selinux 3、安装KVM 4、设置KVM网络 5、KVM部署与管理 6、使用虚拟系统管理器管理虚拟机 创建存储池 …...

【华为机试真题详解 Python实现】最小施肥机能效【2023 Q1 | 100分】

文章目录 前言题目描述输入描述输出描述示例 1输入:输出:示例 2输入:输出:题目解析参考代码暴力解法二分法前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可…...

SpringBoot - 什么是跨域?如何解决跨域?

什么是跨域? 在浏览器上当前访问的网站,向另一个网站发送请求,用于获取数据的过程就是跨域请求。 跨域,是浏览器的同源策略决定的,是一个重要的浏览器安全策略,用于限制一个 origin 的文档或者它加载的脚本…...

Astra pro相机使用说明

奥比中光的Astra pro这款相机,目前官网已经搜不到相关信息,应该是停产了。但是很多机器人设备上或者淘宝上还能买到。使用起来经常会出现不同的问题。问题1: 这款相机据网友描述,就是乐视相机LeTMC-520,换了外壳&#…...

扬帆优配|数字经济刮起“东风”,龙头晋级7连板

今日两市共40只涨停股,主要集中于数字经济、6G板块,上一个交易日涨停股为29股;除掉18只ST股及3只一字板新股,共19股涨停。另外,4股封板未遂,整体封板率为83%。 6股封单金额超亿元 从收盘涨停板封单量来看&…...

Day911.DTO和DO为什么要互转 -SpringBoot与K8s云原生微服务实践

DTO和DO为什么要互转 Hi,我是阿昌,今天学习记录的是关于DTO和DO为什么要互转的内容。 一、什么是DTO DTO ,数据传输对象,全称 (Data transfer object),用于网络之间传输通讯的对象模型&#x…...

查找、排序、二叉树的算法,统统记录于此。

文章目录一、查找1. 无序表的顺序查找2. 折半查找3. 分块查找4. 二叉排序树BST5. 哈希表查找二、排序1. 不带哨兵的直接插入排序2. 带哨兵的直接插入排序3. 带哨兵、折半查找的直接插入排序4. 希尔排序5. 冒泡排序6. 快速排序7. 选择排序8. 堆排序9. 归并排序二叉树1. 递归先序…...

如何用Python实现在网页中嵌入YouTube的视频?

要在网页中嵌入YouTube视频,可以使用HTML代码,在Python中使用字符串拼接的方式生成HTML代码。下面是一个示例代码,可以生成嵌入YouTube视频的HTML代码: def embed_youtube_video(video_id, width560, height315): """ 生成嵌…...

Easy Deep Learning——PyTorch中的自动微分

目录 什么是深度学习?它的实现原理是怎么样的呢? 什么是梯度下降?梯度下降是怎么计算出最优解的? 什么是导数?求导对于深度学习来说有何意义? PyTorch 自动微分(自动求导) 为什么…...

【生物信息】利用ChatGPT解释GO分析中的关于Biological Processes的问题

利用ChatGPT解释GO分析中的一些问题 如何理解GO中的evidence:ISS,这是什么?qualifier:involved_in是什么意思?evidence:TAS是什么?evidence: IBA是什么?evidence: IMP是什么?evidence:IDA是什么?evidence: IEA是什么?GO分析中,evidence: NAS是什么意思?GO分析中…...

2018年MathorCup数学建模C题陆基导弹打击航母的数学建模与算法设计解题全过程文档及程序

2018年第八届MathorCup高校数学建模挑战赛 C题 陆基导弹打击航母的数学建模与算法设计 原题再现: 火箭军是保卫海疆主权的战略力量,导弹是国之利器。保家卫国,匹夫有责。为此,请参赛者认真阅读"陆基反舰导弹打击航母的建模示意图"。(附图 1 )参考图中的…...

打怪升级之CFile类

CFile类 信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?viewmsvc-170。 CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与…...

[css]通过网站实例学习以最简单的方式构造三元素布局

文章目录二元素布局纵向布局横向布局三元素布局b站直播布局实例左右-下 布局左-上下 布局上下-右 布局方案一方案二后言二元素布局 在学习三元素布局之前,让我们先简单了解一下只有两个元素的布局吧 两个元素的相对关系非常简单,不是上下就是左右 纵向布…...

【冲刺蓝桥杯的最后30天】day6

大家好😃,我是想要慢慢变得优秀的向阳🌞同学👨‍💻,断更了整整一年,又开始恢复CSDN更新,从今天开始更新备战蓝桥30天系列,一共30天,如果对你有帮助或者正在备…...

ssm框架之spring:浅聊IOC

IOC 前面体验了spring,不过其运用了IOC,至于IOC( Inverse Of Controll—控制反转 ) 看一下百度百科解释: 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则&#x…...