6 操作系统第二章 进程管理 处理机调度

文章目录

      • 1 处理机调度
          • 1.1 处理机调度概念
          • 1.2 处理机调度三大层次
          • 1.3 处理机三层调度的联系、对比
          • 1.4 处理机调度小结
      • 2 进程调度
          • 2.1 进程调度、进程切换时机
          • 2.2 进程调度方式
          • 2.3 进程的切换与过程
          • 2.4 进程切换与调度小结
      • 3 典型的调度算法
          • 3.1 先来先服务 FCFS
          • 3.2 短作业优先 SJF
          • 3.3 FCFS 和 SJF说明
          • 3.4 高响应比优先算法
          • 3.5 FCFS 、SJF和高响应比优先算法比较

1 处理机调度

1.1 处理机调度概念

在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。 处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程 的并发执行。

1.2 处理机调度三大层次

1. 高级调度:

由于内存空间有限,有时无法将用户提交的作业全部放入内存,因此就需要确定某种规则来决定将作业调入内存的顺序。

高级调度(作业调度):按一定的原则从外存上处于后备队列的作业中挑选一个(或多个)作业, 给他们分配内存等必要资源,并建立相应的进程(建立PCB),以使它(们)获得竞争处理机的权利。

高级调度是辅存(外存)与内存之间的调度。每个作业只调入一次,调出一次。作业调入时会建立相应的PCB,作业调出时才撤销PCB。高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来确定,但调出的时机必然是作业运行结束才调出。
在这里插入图片描述

2. 中级调度:

引入了虚拟存储技术之后,可将暂时不能运行的进程调至外存等待。等它重新具备了运行条件且内存又稍有空闲时,再重新调入内存。

这么做的目的是为了提高内存利用率和系统吞吐量。 暂时调到外存等待的进程状态为挂起状态。
值得注意的是,PCB并不会一起调到外存,而是会常驻内存。PCB中会记录进程数据在外存中的存放位置,进程状态等信息,操作系统通过内存中的PCB 来保持对各个进程的监控、管理。被挂起的进程PCB会被放到的挂起队列中。

中级调度(内存调度),就是要决定将哪个处于挂起状态的进程重新调入内存。 一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高。

暂时调到外存等待的进程状态为挂起状态(挂起态,suspend) 挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态;

五状态模型 → 七状态模型
在这里插入图片描述

3. 低级调度:

低级调度(进程调度),其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。
进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。

1.3 处理机三层调度的联系、对比

在这里插入图片描述

1.4 处理机调度小结

在这里插入图片描述

2 进程调度

2.1 进程调度、进程切换时机

在这里插入图片描述

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

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

进程在普通临界区中是可以进行调度、切换,在内核程序临界区期间不能进行调度与切换。

2.2 进程调度方式
  1. 非剥夺调度方式

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

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

  1. 剥夺调度方式

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

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

2.3 进程的切换与过程
  1. 狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程, 也可能是另一个进程,后一种情况就需要进程切换) 进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。
  2. 广义的进程调度包含了选择一个进程和进程切换两个步骤。
  3. 进程切换的过程主要完成了:
    (1)对原来运行进程各种数据的保存
    (2)对新的进程各种数据的恢复 (如:程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块PCB

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

2.4 进程切换与调度小结

在这里插入图片描述

3 典型的调度算法

重点学习和比较算法以下思路:
在这里插入图片描述

3.1 先来先服务 FCFS

在这里插入图片描述

3.2 短作业优先 SJF

在这里插入图片描述

3.3 FCFS 和 SJF说明

FCFS算法是在每次调度的时候选择一个等待时间最长的作业(进程)为其服务。但是没有考虑到作业的运行时间,因此导致了对短作业不友好的问题;

SJF算法是选择一个执行时间最短的作业为其服务。但是又完全不考虑各个作业的等待时间,因此导致了对长作业不友好的问题,甚至还会造成 饥饿问题

能不能设计一个算法,即考虑到各个作业的等待时间,也能兼顾运行时间呢?

高响应比优先算法

3.4 高响应比优先算法

在这里插入图片描述

3.5 FCFS 、SJF和高响应比优先算法比较

在这里插入图片描述

注:这几种算法主要关心对用户的公平性、平均周转时间、平均等待时间等评价系统整体性能的指标,但是不关心“响应时间”,也并不区分任务的紧急程度,因此对于用户来说,交互性很糟糕。
因此这三种算法一般适合用于早期的批处理系统,当然,FCFS算法也常结合其他的算法使用,在现在也扮演着很重要的角色。

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

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

相关文章

如何通向“广义人工智能”?LSTM 提出者之一Sepp Hochreiter:将符号 AI 与神经 AI 相结合...

来源:AI科技评论作者:Sepp Hochreiter解读:Antonio编辑:陈彩娴人类包含意识、认知、决策等等在内的智慧能力,似乎从人类有记录的那一刻起,就吸引着无数哲学家的思索。与之类似,从AI诞生的那一刻…

德勤预判:2022技术七大趋势

来源:综合德勤公开平台公开发布信息整理编辑:邱峰、罗兵,张钦煜审核:张祥、吴斌、数字理政研究院、中通协大数据分会1、数据跨界共享更便捷:诸多新技术致力于在保护隐私的同时,简化组织内和组织间的数据共享…

7 操作系统第二章 进程管理 进程同步与互斥

文章目录1 进程同步与互斥1.1 进程同步1.2 进程互斥1.3 进程同步机制遵循的原则1.3 进程同步、互斥小结2 进程互斥实现方法2.1 互斥的软件实现方法2.1.1 单标志法2.1.2 双标志法先检查2.1.3 双标志法后检查2.1.4 Peterson算法2.1.5 互斥的软件实现方法小结2.2 互斥的硬件实现方…

8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系

文章目录1 信号量机制1.1 整形信号量1.2 记录形信号量1.3 信号量机制小结2 用信号量机制实现进程互斥、同 步、前驱关系2.1 信号量机制实现进程互斥2.2 信号量机制实现进程同步2.3 信号量机制实现前驱关系2.4 信号量机制实现进程互斥、同 步、前驱关系小结1 信号量机制 用户进程…

一文掌握深度学习、神经网络和学习过程的历史

来源:算法与数学之美本质上,深度学习是一个新兴的时髦名称,衍生于一个已经存在了相当长一段时间的主题——神经网络。从20世纪40年代开始,深度学习发展迅速,直到现在。该领域取得了巨大的成功,深度学习广泛…

2022年后人工智能/深度学习八大应用方向

来源:电子工程专辑 人工智能、机器学习、深度学习已经成为当下最热门的前端科技之一。这三者其实是子-子集的关系。随着技术发展和应用的深入,深度学习越来越重要,成为AI的金字塔。本文总结了人工智能领域在2022年及以后数年内最热门的八大应…

多生产者-多消费者问题

文章目录1 问题描述2 问题分析3 代码实现4 分析总结1 问题描述 桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子空时&am…

​Nat. Commun.速递:深度学习在计算生物学中的应用综述

来源:集智俱乐部作者:郭瑞东 审校:梁金 编辑:邓一雪摘要蛋白质结构预测是计算生物学中一个长达半个世纪的重大挑战,最近,深度学习在这方面取得了前所未有的进展。4月1日,一项发表在 Nature Comm…

吸烟者问题

文章目录1 问题描述2 问题分析3 代码实现:1 问题描述 假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中,第一…

无人驾驶出租车遭警察拦截后欲“潜逃”,AI 是原罪?

整理:苏宓出品:CSDN(ID:CSDNnews)所谓开车在路上,最讨厌的有几种人,一是插自己队和不让自己插队的,二想必就是晚上开远光灯和不开灯的。在交通交规下且汽车正常行驶过程中&#xff0…

人工智能,装在罐子里

来源:学术头条作者:Rich Heimann“装在罐子里的大脑”(brain in a jar)是一项对脱离身体、生活在一罐食物中的人类大脑进行的思想实验。这个思维实验探索了人类对现实、心灵和意识的概念。本文将探讨一个反对人工智能(…

10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法

文章目录1 死锁1.1 死锁定义1.2 死锁、饥饿、死循环的区别1.3 死锁产生的必要条件1.4 什么时候会发生死锁1.5 死锁的处理策略1.6 死锁的概念小结2 死锁预防2.1 破坏互斥条件2.2 破坏不剥夺条件2.3 破坏请求和保持条件2.4 破坏循环等待条件2.5 预防死锁小结3 死锁避免3.1 安全序…

短期记忆容量必需有限

来源:CreateAMind介绍一篇论文:预测性大脑的短期记忆能力肯定是有限的短期保持信息的能力可能是人类认知的一个标志, 因为它是许多领域所需要的,如感知、行动计划和语言。没有大脑的这一核心功能,人类无法思考、推理或计算,甚至可能无法感知。尽管短期记…

读者-写者问题

文章目录1 问题描述2 问题分析3 代码实现1 问题描述 有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时…

9 操作系统第二章 进程管理 管程

文章目录1 管程1.1 为什么引入管程1.2 管程的定义和基本特征1.3 管程小结1 管程 1.1 为什么引入管程 产生原因:信号量机制存在的问题:编写程序困难、易出错 能不能设计一种机制,让程序员写程序是不需要再关注复杂的PV操作,使得代…

2021年世界科技进展100项

来源:三思派 作者:李万,钱娅妮1生命、生物、医药健康01新冠疫情1. 首次看清新冠患者体内蛋白质变化中国科学家分析出新冠肺炎死亡患者体内多器官组织样本中蛋白质分子病理全景图,相当于将医生在显微镜下看到的人体感染新冠病毒后细…

图灵奖获得者、信息安全常青树Adi Shamir:从密码学到AI对抗性样本研究|智源大会嘉宾风采...

来源:智源大会导读:RSA 算法是通信、金融产业中被广泛使用的安全基本机制,是信息时代的支柱技术。而在这个跨时代算法背后的设计者之一,正是密码学先驱 Adi Shamir。除了RSA 公钥密码算法以外,零知识证明、差分密码分析…

11 操作系统第三章 内存管理 内存的基本知识 内存管理 内存空间扩充 连续分配管理方式

文章目录1 内存概念1.1 内存作用1.2 逻辑地址VS物理地址1.3 装入的三种方式1.3.1 绝对装入1.3.2 可重定位装入1.3.3 动态重定位装入1.4 链接的三种方式1.4.1 静态链接1.4.2 装入时动态链接1.4.3 运行时动态链接1.5 内存的基础知识小结2 内存管理2.1 内存管理的任务2.2 内存保护…

Nature长文:打破AI黑盒的“持久战”

来源:大数据文摘2020年2月,随着 COVID-19在全球迅速传播且抗原检测难以获得,一些医生转向人工智能(AI)来尝试诊断病例。一些研究人员采用深度神经网络通过查看X射线和胸部计算机断层扫描(CT)扫描来快速区分患有COVID-19肺炎的人和未患肺炎的人…

12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理

文章目录1 基本分页存储管理1.1 什么是分页存储1.2 重要的数据结构——页表1.3 基本地址变换机构1.4 具有快表的地址变换机构1.4.1 什么是快表(TLB)1.4.2 引入快表后,地址的变换过程1.4.3 地址变换过程小结1.5 两级页表1.5.1 单级页表存在的问…