操作系统3_作业与处理机调度

news2024/11/18 7:47:28

操作系统3_作业与处理机调度

文章目录

  • 操作系统3_作业与处理机调度
    • 1. 作业的概念与组成
    • 2. 作业的建立及状态
    • 3. 处理机调度相关概念
      • 3.1 调度级别
      • 3.2 调度队列模型
      • 3.3 选择准则
    • 4. 作业调度与进程调度
    • 5. 典型处理机调度算法
      • 5.1 先来先服务算法FCFS
      • 5.2 短作业优先算法SJF
      • 5.3 优先级调度算法HPF
      • 5.4 最高响应比优先调度算法HRRN
      • 5.5 时间片轮转调度算法RR
      • 5.6 多级反馈队列轮转法RRMF
    • 6. 实时系统调度算法
      • 6.1 实时调度基本条件
      • 6.2 调度算法分类
      • 6.3 常用实时调度算法
    • 7. 死锁概念及产生原因
    • 8. 死锁存在的条件
    • 9. 预防死锁
    • 10. 避免死锁(重点)
    • 11. 检测死锁
    • 12. 解除死锁
    • 13. 本章重点

1. 作业的概念与组成

  • 作业的概念

    • 用户角度:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业
    • 系统角度:作业是一个比程序更广的概念,它由程序、数据和作业说明书组成
    • 作业概念使用场合:
      • 早期批处理系统
      • 现在的大型机、巨型机系统
      • 对于微机和工作站系统一般不使用作业的概念
  • 作业的组成

    • 程序:可以包含多个程序和多个数据集,但必须至少包含一个程序

    • 数据:可有可无

    • 作业说明书

      • 基本信息:用户名、作业名、使用语言名、允许的最大处理时间
      • 控制信息:作业控制、操作顺序、出错处理
      • 资源信息:处理时间、内存、外设类型和数量、处理机优先级、库函数和实用程序

2. 作业的建立及状态

  • 作业建立的步骤

    • 作业的输入:指将作业的程序、数据和作业说明书从输入设备输入到外存,并形成有关初始信息
      • 联机输入
      • 脱机输入
      • 直接耦合输入
      • SPOOLING系统
    • 作业控制块的建立:由作业注册程序在系统中为该作业申请一个作业控制块,并填写响应的信息
      • 建立时机:作业进入外存输入后
      • 建立步骤:
        • 申请作业控制块
        • 填写作业控制块相关信息:作业名、作业估计执行时间;优先数、作业建立时间;作业说明书文件名、程序语言类型;内存要求、外设要求;作业状态以及作业在外存中的存储地址
  • 作业的状态

    • 提交状态:从作业输入请求开始到JCB建立时的状态
    • 后备状态:从PCB建立到被作业调度程序选中并进入内存,作业在作业等待队列中的状态
    • 执行状态:作业进入内存后到执行结束
    • 完成状态:作业执行结束到撤销之前作业所处的状态
  • 作业与进程的关系

    • 作业是用户向计算机系统提交任务的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位
    • 作业在没有进入执行状态时被存入外存的后备作业队列中等待调度执行,进程一旦被创建,总有相应部分放入内存
    • 一个作业可由多个进程组成,且必须至少由一个进程组成,反之不成立
    • 作业的概念应用范围主要局限于批处理系统中,而进程的概念则应用到几乎所有的多道程序系统中

3. 处理机调度相关概念

3.1 调度级别

  • 有关作业调度

    • 具体功能
      1. 记录系统中各作业的状况
      2. 从后备作业队列中挑选一部分作业投入运行
      3. 为被选中作业做好执行前的准备工作
      4. 在作业执行结束后做善后工作
    • 目标
      1. 具有公平性
      2. 具有较高的设备利用率
      3. 具有较高的吞吐率
      4. 具有较快的响应时间
    • 衡量标准
      1. 批处理系统:主要考察系统的平均响应时间
      2. 分时系统:主要考察系统的平均响应时间
      3. 实时系统:主要考察系统对特定事件的响应时间
  • 处理机调度级别

    image-20240522105218573

    • 低级调度/进程调度/短程调度/微观调度

      • 功能:用来决定就绪列表中的哪个进程应获得处理机
      • 分类:
        • 非抢占方式Non-Preemptive Mode:优点(实现简单、系统开销小,适用于大多数的批处理系统环境)和缺点(难以满足紧急任务的要求立即执行,可能造成难以预料的后果,在要求比较严格的实时系统中不宜采用这种调度方式)
        • 抢占方式Preemptive Mode:原则(优先权原则、短作业/进程优先原则、时间片原则)
    • 中级调度/中程调度/交换调度

      • 功能:把暂时不能运行的进程调至外存上去等待,此时进程处于静止阻塞状态;当这些进程重新具备运行条件、且内存又稍有空闲时,由中级调度来决定将其重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度
      • 引入目的:提高内存利用率和系统吞吐量
    • 高级调度/作业调度/长程调度/接纳调度/宏观调度

      • 功能:从外存中选择作业进入内存
      • 考虑因素:接纳多少个作业、接纳哪些作业

3.2 调度队列模型

  • 进程调度队列模型

    image-20240522111103364

  • 高级和低级调度的队列模型

    image-20240522111212740

  • 区别

    具有高级、低级两种调度的调度队列模型与单一进程调度队列模型的主要区别在于如下两方面:

    • 就绪队列的形式
    • 设置多个阻塞队列
  • 具有三级调度的调度队列模型

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

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

相关文章

理解 Hologres 和 MaxCompute 的关系

理解了 Hologres 和 MaxCompute 的关系,就理解了数据仓库(DW)和数据服务(Serving)之间的关系,也有助于理解实时数仓和离线数仓之间的关系。 图片来源:阿里云官方帮助文档 可以看到&#xff0c…

TypeScript-Ts的内置类型 Omit Pick

TS的内置类型 Omit Pick Omit 是从对象中排出一些属性&#xff0c;得到对象类型 // 排除单个 type OmitPerson Omit<Person, age> // 排除多个 type OmitPerson Omit<Person, age | gender> Pick 是从对象中摘取一些属性&#xff0c;得到对象类型 // 摘取单个 …

kubernetes(k8s) v1.30.1 helm 集群安装 Dashboard v7.4.0 可视化管理工具 图形化管理工具

本文 紧接上一篇&#xff1a;详细教程 Centos8.5 基于 k8s v1.30.1 部署高可用集群 kubeadm 安装 kubernetes v1.30.1 docker集群搭建 延长证书有效期-CSDN博客 1 Dashboard 从版本 7.0.0 开始&#xff0c;不再支持基于清单的安装。仅支持基于 Helm 的安装. #Helm 下载安装 …

人类交互4 感觉输入和运动输出

人类感觉系统概述 人类感觉系统是由多个感觉器官和神经系统组成&#xff0c;负责感知外部世界的各种刺激和信息。人类感觉系统包括以下几个主要部分&#xff1a; 视觉系统&#xff1a;视觉系统由眼睛、视神经和大脑视觉皮层组成&#xff0c;负责感知光线、颜色和形状&#xff…

宠物空气净化器:过敏星人的终极武器,让猫毛无处藏身~

猫毛过敏者虽畏惧猫毛&#xff0c;但对猫的热爱让他们选择继续养猫。过敏反应通常由猫的皮屑、唾液和尿液中的蛋白质引发&#xff0c;这些颗粒在空气中传播&#xff0c;导致打喷嚏、咳嗽和皮肤红疹等症状。宠物空气净化器&#xff0c;专为去除猫毛、异味和消毒灭菌设计&#xf…

unreal engine 5.0.3 创建游戏项目

根据虚幻官网介绍&#xff0c;虚幻引擎5可免费用于创建线性内容、定制项目和内部项目。你可以免费用它开发游戏&#xff0c;只有当你的产品营收超过100万美元时&#xff0c;才收取5%的分成费用。所以目前国内也有许多游戏厂商在使用UE制作游戏。UE5源码也已开源&#xff0c;有U…

EasyPoi表头如何合并导出?

先看效果图 实现流程 整个过程可以分为三大步&#xff1a; 设计表头格式根据表头对应的key填充数据根据表头和数据导出Excel 实现代码 根据表头和数据导出Excel // 设计表头格式List<ExcelExportEntity> callTableHeaderList getExportRebateOffsetTableHeader();//…

springsecurity入门登录授权

①我们需要自定义登陆接口&#xff0c;也就是在controller目录新建LoginController类&#xff0c;在controller方法里面去调用service接口&#xff0c;在service接口实现AuthenticationManager去进行用户的认证&#xff0c;注意&#xff0c;我们定义的controller方法要让Spring…

虚拟机网络设置为桥接模式后未显示网络

本方法为&#xff0c;VMware配置正确&#xff0c;但在尝试其他办法后未能成功解决的人提供一种方法 本机的虚拟机使用NAT模式正常使用 但是使用桥接模式后重启&#xff0c;未发现虚拟机内网络设置,详见下图&#xff1a; 使用 ifconfig 查看网络详情 发现没有ens33接口 查看硬…

AI工具推荐:提升工作效率与生活质量

有哪些好用&#xff0c;且国内可用的AI工具&#xff1f; 副本 在AI大发展的年代&#xff0c;还有人在工作、生活中没有使用过AI吗&#xff1f; 今天为大家推荐几款国内可用、好用的AI工具&#xff0c;不论是自媒体文案写作、打工人汇报PPT、还是论文、公文写作&#xff0c;总…

什么是国产网络变压器Magcom,介绍它的优点和性能参数

国产网络变压器Magcom是一种中国生产的网络设备&#xff0c;其优点和性能参数如下&#xff1a; 优点&#xff1a; 1. 稳定性&#xff1a;Magcom具有稳定的性能&#xff0c;能够确保网络数据传输的稳定性。 2. 可靠性&#xff1a;通过调节信号强度和频率&#xff0c;Magcom能够…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-17讲 定时器按键消抖

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

带你玩转OpenHarmony AI:打造智能语音子系统

简介 AI时代&#xff0c;智者当先&#xff0c;判断一个终端设备是否智能&#xff0c;语音能力是必不可缺的。智能家居、智慧厨房、智能汽车等等&#xff0c;一切衣食住行都在往智能方向发展&#xff0c;那我们该如何在OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&am…

海康监控web插件,跨域问题处理web-control

海康视频跨域问题处理web-control 海康监控视频&#xff0c;跨域处理&#xff0c;web-control修改案例 海康监控视频&#xff0c;跨域处理&#xff0c;web-control修改 海康监控&#xff0c;web-control&#xff0c;跨域播放&#xff0c;嵌套页面实现跨域播放 案例 能到做到…

【intel CPU】三代牙膏的对比

1、PC处理器的选择 制程工艺 传说的“intel7”,感觉就像老婆饼&#xff0c;并不是7nm。 2、12代到13代其实应该归为一代&#xff0c;那就是大核心不行就堆小核心 3、所以智能踢掉有小核的&#xff1b; 3.1、CPU规格 3.2 内存规格 3.3 封装规格 其他都是一样的&#xff1b; …

变量与常量

1.变量 数学中的定义&#xff1a; 变量&#xff1a;可变的数据称为变量 Java中定义&#xff1a; 内存中一块存储区域 该区域的数据可以在同一类型范围内不断变化 变量是程序中最基本的存储单元&#xff0c;包含了变量类型、变量名和存储的值 变量的作用就是在内存中保存…

uniapp微信小程序在ios端返回不显示弹窗的bug解决

这个问题其实是因为返回页面的时候弹的太快了导致的解决办法&#xff1a; 其实就是返回页面的弹窗加个延迟就好啦

新定义RD8T36P48点亮LED--汇编

其实汇编和C语言差不多&#xff0c;简单的东西用汇编挺好&#xff0c;中等及以上复杂度的程序还是C语言更灵活 直接在keil新建好工程&#xff0c;选好芯片型号和下载方式&#xff0c;再创建一个.asm文件并添加到工程&#xff0c; 工程创建完如图 工程配置 代码 ORG 0000HL…

Ubuntu中 petalinux 安装 移植linux --tftp/tftp-hpa服务的方法

Xilinx 文档 PetaLinux 指南&#xff1a;如何创建 PetaLinux 环境 &#xff08;2019.1&#xff09; PetaLinux工具参考指南 PetaLinux安装详解(Xilinx , linux, zynq, zynqMP) petalinux 2020.1安装教程 一、PetaLinux工具和库安装 PetaLinux 工具要求主机系统 /bin/sh 为“b…

【分享】3种方法取消PPT的“限制保护”

PPT如果设置了有密码的“只读方式”&#xff0c;每次打开PPT&#xff0c;都会出现对话框&#xff0c;提示需要输入密码才能修改文件&#xff0c;否则只能以“只读方式”打开。 以“只读方式”打开的PPT就会被限制&#xff0c;无法进行编辑修改等操作。那如果后续不需要“限制保…