王道操作系统考研笔记——2.1.6 处理机调度的概念和层次

文章目录

      • 2.1.6 处理机调度的概念和层次
        • 2.1.6.1 调度的基本概念
        • 2.1.6.2 高级调度
        • 2.1.6.3 中级调度
        • 2.1.6.4 进程的挂起态和七状态模型
        • 2.1.6.5 低级调度
        • 2.1.6.6 三层调度的联系、对比
        • 2.1.6.7 小结

2.1.6 处理机调度的概念和层次

知识总览

image-20220122162922841

2.1.6.1 调度的基本概念

实际上,这里要讲的调度和数据库笔记中9.6并发控制的正确性原则中的调度是一个概念。

假设我们现在有这么两个场景:

场景一是用户到银行取钱,普通用户先到先服务,VIP用户可以优先被服务。场景二是上厕所,根据上厕所时长的不一样,每个人私下协商,使用时间短的先进去厕所,使用时间相同的按排队的优先级来使用。image-20220122163512411

当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。

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


2.1.6.2 高级调度

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

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

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


2.1.6.3 中级调度

在后面,我们将会讲到虚拟存储技术,这里先暂时提及一下。

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

这么做的目的是为了提高内存利用率系统吞吐量

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

中级调度(内存调度),就是要决定将哪个处于挂起状态的进程重新调入内存。

一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度要高。


2.1.6.4 进程的挂起态和七状态模型

在2.1.2.1 和 2.1.2.2 中我们学习了进程的五状态模型,而这是408要求掌握的;但是在一些自主命题的学校,它们会考查七状态模型

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

实际上说白了就是,内存不够用了,满了,先把一些进程挂起放在外存,其PCB放在内存,一旦内存有多余位置了立马把外存中的进程调进来。

image-20220122170142430

这里要注意的是挂起阻塞的区别。两种状态都是暂时不能获得CPU的服务,但挂起态是将进程映像调到外存去了,而阻塞态进程映像还在内存中。有的操作系统会把就绪挂起、阻塞挂起分为两个挂起队列,甚至会根据阻塞原因不同再把阻塞挂起进程进一步细分为多个队列。


2.1.6.5 低级调度

低级调度(进程调度),其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。

进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。

进程调度的频率很高,一般几十毫秒一次。

image-20220122170635489


2.1.6.6 三层调度的联系、对比

image-20220122170731272


2.1.6.7 小结

一般来说,考查的重点并不会是什么高级调度、中级调度、低级调度,而是考它另一个名字:作业调度、内存调度、进程调度。

image-20220122170933355

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

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

相关文章

CocoaPods详解之----使用篇

作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/18737437 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 一、什么是CocoaPods 1、为什…

数据结构杂谈(五)——栈

本文的所有代码均由C编写 引用及参考资料: 王道数据结构大话数据结构超硬核十万字!全网最全 数据结构 代码,随便秒杀老师/面试官,我说的_hebtu666-CSDN博客 5 栈 5.1 引入 在前面学习线性表的时候,我们给出了线性表的…

每日一题——Leetcode203 移除链表元素

如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货。 文章目录1 题目2 思路3 代码4 小结1 题目 Leetcode203 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val …

数据结构杂谈(六)——队列

本文的所有代码均由C编写 六 队列 文章目录六 队列6.1 队列的定义6.2 队列的抽象数据类型6.3 顺序队列(循环队列)6.3.1 顺序队列的定义及初始化6.3.2 入队6.3.3 出队6.3.4 获取队头元素6.3.5 获取队列长度6.3.6 回过头来6.4 链式队列6.4.1 链式队列的定义…

js 事件学习与总结

一.(1)事件源(事件目标):在哪个组件上发生的事件,也就是发生事件的作用体或与之相关的对象。任何元素,body,html元素等等,都可以作为事件源。(2)事…

量化投资培训大纲

转载于:https://www.cnblogs.com/fangbei/p/8393211.html

生成验证码

2019独角兽企业重金招聘Python工程师标准>>> //1:声明图片的大小int width 60;int height 30;//2:声明内存中的图片BufferedImage img new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);//3:获取gGraphics g img.getGraphics();//4:设置背景g.se…

.NET面试题解析(02)-拆箱与装箱

转自: http://www.cnblogs.com/anding/p/5236739.html 常见面试题目: 1.什么是拆箱和装箱? 2.什么是箱子? 3.箱子放在哪里? 4.装箱和拆箱有什么性能影响? 5.如何避免隐身装箱? 6.箱子的基本结构? 7.装箱的…

数据结构杂谈番外篇——搞懂递归的小文章

文章目录1 难题2 递归2.1 n的阶层2.2 斐波那契数列的第n项2.3 逆序打印数组3 反转链表4 回顾递归1 难题 如果不想听我谈学习的过程而注重怎么学习,可以直接跳到第二小节 这个递归的问题是在我刷题的时候遇到的。事实上,我对递归是一窍不通的,…

副本机制

1.首先说一下函数的副本机制 看一段简单的代码 1 # include<stdio.h>2 # include<stdlib.h>3 4 int add(int n, int m)5 {6 int z n m;7 return z;8 }9 10 int main() 11 { 12 printf("%d\n", add(1, 2)); 13 } View Code当函数返回后&am…

王道操作系统考研笔记——2.1.7 进程调度的时机、切换与过程、方式

文章目录2.1.7 进程调度的时机、切换与过程、方式2.1.7.1 进程调度的时机2.1.7.2 进程调度的方式2.1.7.3 进程的切换和过程2.1.7.4 小结2.1.7 进程调度的时机、切换与过程、方式 知识总览 2.1.7.1 进程调度的时机 进程调度&#xff08;低级调度&#xff09;&#xff0c;就是按…

王道操作系统考研笔记——2.1.8 调度算法的评价指标

文章目录2.1.8 调度算法的评价指标2.1.8.1 CPU利用率2.1.8.2 系统吞吐量2.1.8.3 周转时间2.1.8.4 等待时间2.1.8.5 响应时间2.1.8.6 小结2.1.8 调度算法的评价指标 知识总览 需要注意的是&#xff0c;这一部分的知识要学会计算 2.1.8.1 CPU利用率 在早期&#xff0c;由于CPU造…

jenkins自动化构建iOS应用配置过程中遇到的问题

最近配置jenkins来自动构建iOS应用&#xff0c;期间遇上不少问题。在这里分享给大家,也给自己留个底&#xff0c;方便下次解决问题。 首先说明下基本情况&#xff0c;我们因为部署jenkins的机器不是Mac,所以不能安装Xcode插件&#xff0c;我不知道这个插件能给我们带来多少便捷…

用户体验设计的五个原则(转)

【编者按】本文作者&#xff0c;现Aura Marker Studio创始人路意Louis&#xff0c;曾带过五年多的用户体验设计团队。这篇文章是他带团队这几年沉淀下来的一些经验和思考。 “设计&#xff0c;必须是充满诗意的。” 带过五年多的用户体验设计团队&#xff0c;从几个人到二十几个…

王道操作系统考研笔记——2.1.9 调度算法

2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想算法规则这种调度算法是用于作业调度还是进程调度&#xff1f;抢占式或是非抢占式优点和缺点是否会导致饥饿&#xff08;某进程/作业长期得不到服务&#xff09; 2.1.9.1 先来先服务 知识点说明英文名FCFS&#xff0…

程序员的春天来了,赏花去!说走就走

2019独角兽企业重金招聘Python工程师标准>>> 经历了寒冷的隆冬&#xff0c;阳春三月终于到来&#xff0c;在温暖如棉的风里&#xff0c;赶紧去户外走走吧&#xff0c;享受大自然赐予我们的无限美……春意盎然&#xff0c;正是赏花好时节&#xff0c;每天久坐电脑前的…

王道操作系统考研笔记——2.2.0 交互式系统调度算法

2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点说明英文名RR&#xff0c;Round-Robin算法思想公平地、轮流地为各个进程服务&#xff0c;让每个进程在一定时间间隔内都可以得到响应算法规则按照各进程到达就绪队列的顺序&#xff0c;轮流让各个进程执行一个时…

王道操作系统考研笔记——2.3.1 进程同步和进程互斥

文章目录2.3.1 进程同步和进程互斥2.3.1.1 什么是进程同步&#xff1f;2.3.1.2 什么是进程互斥2.3.1.3 小结2.3.1 进程同步和进程互斥 知识总览 2.3.1.1 什么是进程同步&#xff1f; 在前面&#xff0c;我们说过进程具有异步性的特征。 而我们想让进程执行的顺序是可预知的&…

王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法

文章目录2.3.2 进程互斥的软件实现方法2.3.2.1 单标志法2.3.2.2 双标志先检查法2.3.2.3 双标志后检查法2.3.2.4 Peterson算法2.3.2.5 小结2.3.2 进程互斥的软件实现方法 知识总览 2.3.2.1 单标志法 单标志法的算法思想是&#xff1a;两个进程在访问完临界区后会把使用临界区的…

QTP基础学习(二)启动与设置

1、启动QTP选择要求的Add-in 默认带有3个Add-in&#xff0c;之后可以安装其他的Add-in&#xff0c;如.net的Add-in 2、设置QTP的选项 点击Tools-Options&#xff0c;弹出如下框&#xff1a; 3、建立记录和运行设置 点击Automatic-Record and Run Settings&#xff0c;如下图&am…