【OS】操作系统课程笔记 第四章 中断和处理机调度

2023-09-18 16:41:54

什么是调度?

调度就是采用特定算法,安排多个作业或进程运行。

4.1 中断

中断对于操作系统的五个作用:(可能考简答题

  1. 实现多道程序设计与并发的基础
  2. 解决主机与外设的并行工作问题
  3. 具备控制和管理计算机,提高可靠性
  4. 实现多机联系
  5. 实现分时、实时控制等

4.1.1 中断和指令周期

中断响应的三个步骤:

  1. 终止当前程序执行
  2. 保存断点信息
  3. 转到相应的中断处理程序

中断和指令周期流程图:

4.1.2 中断处理

中断分为强迫性中断和自愿性中断,它们最主要的区别在于是否是程序自己安排的。

我们熟知的时间片到就是强迫性中断。

4.1.3 多个中断

处理方法:

  1. 在处理一个中断时,禁止再发生中断;
  2. 定义中断优先级。

4.1.6 三级调度

高级调度:将作业从外存移到内存,新建进程后进入就绪状态。

中级调度:属于交换功能的一部分,将就绪进程或阻塞进程挂起,或将处于外存的静止就绪和静止阻塞状态的进程激活。

低级调度:决定下次哪个就绪进程占用CPU。

中断与进程状态转换

时间片到 :这个中断表明状态转移,就是由于系统定时时间间隔时钟中断所引起的当前进程的一个时间片用完而从运行状态转移到就绪状态。

I / O 完成:I/O外设数据传输完成产生一个I/O完成中断信号而进入I/O中断处理。由于I/O外设完成中断信号所引起的从阻塞到就绪状态的转移。

申请I/O服务:运行中进程需要在某处执行有关I/O指令以进行数据输入输出。要么是访管指令,要么是某种系统调用,都属于自愿性中断而进入中断处理, 进入由于等待某类I/O的阻塞队列。

调度:当我们清楚了以上状态转移原因,这条边所表明的状态转移也很容易理解。这涉及到调度的时机;产生调度的因素有很多,但基本都与中断有关。

总而言之,进程状态变迁是由于中断,但中断不一定产生进程切换!

 4.2 处理机调度

4.2.1 进程调度方式

4.2.2 调度算法

评价算法的指标:

  1. CPU利用率:使CPU尽量处于忙碌状态。
  2. 吞吐率:单位时间内所处理的计算任务的数目。
  3. 周转时间:
  4. 响应时间:从任务就绪到处理开始,也称为等待时间。
  5. 系统开销:时间和空间开销。

1. 先来先服务 FCFS

先就绪的先运行,按照先后顺序依次运行,前一个作业的结束时间就是后一个作业的开始时间,周转时间 = 结束时间 - 到达时间,带权周转时间 = 周转时间 / 服务时间。

2. 短作业优先 SJF

第一个就绪的作业先运行,如果该作业结束后有多个作业已经就绪,那就选择服务时间最短的那个接着运行。

3. 高响应比 HRP

每次运行完作业后,都要看接下来已经就绪的作业中,哪一个响应比最高,选最高的那个接着运行。

4. 最短剩余时间 SRT

其实就是每次运行到一个作业的就绪时间点时,看一看现在已经就绪的作业里哪一个需要花的时间最短,选择需要花时间最短的那个接着运行。注意画图!

5. 轮转法 HPF

更多推荐

企业架构LNMP学习笔记59

目录介绍:bin:存放的是启动和关闭tomcat的脚本文件;conf:存放tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xmllib:存放的是tomcat服务器所需要的各种jar文件。java打包类库。logs:存放tomcat执行时的日志文件temp:是tomcat存放的临时文件w

Linux知识点 -- HTTPS协议

Linux知识点–HTTPS协议文章目录Linux知识点--HTTPS协议一、概念1.HTTPS协议2.加密3.运营商劫持4.常见的加密方式4.数据摘要&&数字指纹5.数字签名二、HTTPS的工作过程探究1.方案一:只用对称加密2.方案二:只使用非对称加密3.方案三:双方都使用非对称加密4.方案四:非对称加密+对称加密

接口隔离原则~

接口隔离原则是面向对象设计原则中的一条原则,它的核心思想是将大接口拆分为多个小接口,客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上,接口应该具有单一功能,不应该包含不相关或不需要的方法,以便提高系统的灵活性和可维护性。它同时也要求接口的设计应该稳定,一旦设计好后,就不应该频繁地进行修改。

构建可维护的大规模应用:框架架构的最佳实践

文章目录框架架构的重要性最佳实践1.模块化设计2.遵循SOLID原则3.使用设计模式4.异常处理5.代码注释和文档6.测试SpringBoot和Django:关键框架示例SpringBoot(Java)模块化设计:SOLID原则:设计模式:依赖注入和工厂模式:异常处理:代码注释和文档:测试:Django(Python)

【无公网IP】Windows搭建 WebDAV服务,并内网穿透公网访问

文章目录1.安装IIS必要WebDav组件2.客户端测试3.cpolar内网穿透3.1打开Web-UI管理界面3.2创建隧道3.3查看在线隧道列表3.4浏览器访问测试4.安装Raidrive客户端4.1连接WebDav服务器4.2连接成功4.2连接成功总结自己用WindowsServer搭建了家用NAS主机,WebDA

C- 使用exit()的优点

使用exit函数有很多优点,特别是在大型程序和系统中。我们来逐一分析这些优点:可以从其他函数中调用:在C语言和许多其他编程语言中,exit是一个库函数,通常在stdlib.h(C)或cstdlib(C++)头文件中定义。这个函数的主要功能是终止程序的执行并返回一个状态码到调用进程(通常是操作系统或shell)。由于ex

用Win10自带画图3D抠图

文章目录一、打开“画图3D”二、插入图片三、抠图操作四、保存抠图一、打开“画图3D”在搜索框输入“画图3D”选择彩色水滴图标的软件二、插入图片选择“新建”导航栏“菜单”–>“插入”,选择要扣的图片。(我选择了一张自己随意画的图片)三、抠图操作选择导航栏的“神奇选择”选择“下一步”因为我的图片非常规整,所以自动选中了圆形

SpringAOP

AOP实现原理SpringAOP基于动态代理实现原理:○如果被代理的对象,已经实现某个接口,则SpringAOP会使用JDKProxy(反射),基于接口的方式,创建代理对象(JDK动态代理的核心是InvocationHandler接口和Proxy类);○如果被代理的对象,没有实现某个接口,就无法使用JDKProxy去进

Linux日期和时间管理指南:日期、时间、时区、定时任务和时间同步

文章目录Linux日期和时间管理指南1.简介1.1Linux日期和时间的重要性1.2日期管理的需求2.查看当前日期和时间2.1date命令2.2cal命令2.3查看硬件时钟3.设置系统日期和时间3.1设置日期3.2设置时间3.3设置硬件时钟4.时区管理4.1查看当前时区4.2修改系统时区4.3多时区设置5.定时任务和计

【数据结构】二叉树

🔥博客主页:小王又困了📚系列专栏:数据结构🌟人之为学,不日近则日退❤️感谢大家点赞👍收藏⭐评论✍️目录一、树概念及结构1.1树的概念1.2树的相关概念1.3树的表示二、二叉树概念及结构2.1二叉树的概念2.2特殊的二叉树2.3二叉树的存储结构🗒️前言:在前面我们学习了顺序表、链表等数据结构,这些都是线性表,是

Unity中 UI Shader的基本功能

文章目录前言一、实现思路1、暴露一个2D类型的属性来接受UI的纹理2、设置shader的层级为TransParent半透明渲染层级,一般UI都是在这个渲染层级3、更改混合模式,是UI使用的纹理,该透明的地方透明二、代码实现前言Unity中UIShader的基本功能一、实现思路1、暴露一个2D类型的属性来接受UI的纹理/

热文推荐