首页 > 编程语言 >操作系统(3.1)--处理机调度的层次和调度算法的目标

操作系统(3.1)--处理机调度的层次和调度算法的目标

时间:2023-05-28 12:31:36浏览次数:40  
标签:处理机 -- 系统 作业 调度 时间 3.1 进程

一、处理机调度层次

1.高级调度(High Level Scheduling)

高级调度又称长程调度或作业调度,它的调度对象是作业。其主要功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。

主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度。

2.低级调度(Low Level Scheduling)

低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级线程)。其主要功能是,根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分派程序将处理机分配给被选中的进程。进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。

3.中级调度(Intermediate Scheduling)

引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。

使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件且内存又稍有空闲时,由中级调度来决定把外存上的那些又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。

二、处理机调度算法的目标

1.处理机调度算法的共同目标

(1)资源利用率

CPU的利用率=(CPU有效工作时间) / (CPU有效工作时间+CPU空闲等待时间)

(2)公平性

使诸进程都获得合理的CPU时间,不会发生进程饥饿现象。

(3)平衡性

尽可能保持系统资源使用的平衡性

(4)策略强制执行

2.批处理系统的目标

(1)平均周转时间短

周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔(称为作业周转时间)。

它包括四部分时间

  • ①作业在外存后备队列上等待(作业)调度的时间,
  • ②进程在就绪队列上等待进程调度的时间,
  • ③进程在CPU上执行的时间,以及
  • ④进程等待I/O操作完成的时间

平均周转时间:

操作系统(3.1)--处理机调度的层次和调度算法的目标_调度算法

操作系统(3.1)--处理机调度的层次和调度算法的目标_进程调度_02编辑

带权周转时间是作业的周转时间T与系统为它提供服务的时间Ts之比,即T/Ts。

平均带权周转时间:

操作系统(3.1)--处理机调度的层次和调度算法的目标_进程调度_03

操作系统(3.1)--处理机调度的层次和调度算法的目标_进程调度_04编辑

对用户而言,总希望自己作业的周转时间尽可能的少;对系统而言,则希望作业的平均周转时间尽可能的少。每个系统在选择作业调度算法时,既应考虑用户的要求,又能确保系统具有较高的效率。

(2)系统吞吐量高

吞吐量是指在单位时间内系统所完成的作业数,因而它与批处理作业的平均长度具有密切关系。尽量多的选择短作业运行。

(3)处理机利用率高

对于大、中型多用户系统,由于CPU价格十分昂贵,致使处理机的利用率成为衡量系统性能的十分重要的指标。尽量选择计算量大的作业运行。

3.分时系统的目标

(1)响应时间快

所谓响应时间,是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。

它包括三部分时间:

  • ①从键盘输入的请求信息传送到处理机的时间,
  • ②处理机对请求信息进行处理的时间,以及
  • ③将所形成的响应信息回送到终端显示器的时间。

(2)均衡性

是指系统响应时间的快慢应与用户所请求服务的复杂性相适应。

4.实时系统的目标

(1)截止时间的保证

所谓截止时间,是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。对于严格的实时系统,其调度方式和调度算法必须能保证这一点,否则将可能造成难以预料的后果。

(2)可预测性

在实时系统中,可预测性显得非常重要。


标签:处理机,--,系统,作业,调度,时间,3.1,进程
From: https://blog.51cto.com/hwuu/6365004

相关文章

  • IDEA中创建java多模块项目和打包
    文章来源:https://www.jb51.net/article/210892.htm#_label7   非常感谢。一、使用springinitializr创建java工程1、启动IDEA,新建java工程,使用向导创建一个springboot框架的工程 2.设置项目信息,java版本选择8 3、勾选项目需要用到的依赖 4、设置项目名称,点击......
  • 前端HTML标签1
    HTML实用合集11.框架使用英文!,按tab键出现框架。2.改标题<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname=&q......
  • python - 进程与线程 -1
    多任务就是操作系统能同时执行多个程序,比如:看电影,聊天,查看网页。进程(process)是计算机中已经运行程序的实体,一个任务就是一个进程。1.使用multiprocessing模块创建进程1.1用Process类创建进程在这个模块中有一个Process类代表一个进程对象:Process(group=None,target=None,......
  • WPF中使用EntityFramework6和Identity
    2023年05月28日VS2022WFP.NETFramework,Version=v4.6.2测试通过NUGET:EntityFramework6.4.4,Microsoft.AspNet.Identity.EntityFramework2.2.3  //扩展内置的identityuserpublicclassApplicationUser:IdentityUser{publicstringSex{set;g......
  • Linux部署ArcGIS Server 10.7.1简要手册
    一、经过测试可以正常安装并运行ArcGISServer10.7.1的发行版:CentOS7.9,Ubuntu/UbuntuServer22.04.2LTS,RedhatEnterpriseLinux9.1二、ArcGISServer使用的端口:6443,6080,6006,1098,6099,确保这些端口没有被其他程序占用,否则安装完毕之后,管理页面无法打开,详情见官方链接查看......
  • 【python基础】基本数据类型-字符串类型
    1.初识字符串字符串就是一系列字符。在python中,用引号括起来文本内容的都是字符串。其语法格式为:‘文本内容’或者“文本内容”我们发现其中的引号可以是单引号,也可以是双引号。这样的灵活性可以使我们进行引号之间的嵌套。编写程序如下所示:运行结果如下所示我们可以发现......
  • 支付宝小程序 hideTabBar 无效,出现两个 TabBar
    问题描述:使用uni-app开发的小程序,使用组件的形式做了自定义TabBar,在部分支付宝小程序中出现了两个TabBar在支付宝小程序的开发社区中也有类似问题的反馈《hideTabBarIOS失效,模拟器和安卓正常》《真机上调用my.hideTabBar无效》《tabbar隐藏在特殊情况下无效的问题》 ......
  • thisDemo
    packagecom.thisDemo;publicclassStudent{doublescore;publicvoidprinThis(){System.out.println(this);}publicvoidprintPass(doublescore){if(this.score>score){System.out.println("成功");......
  • 成员变量和局部变量的区别
    packagecom.variable;publicclassTest{//成员变量和局部变量的区别//1.类中的位置不同:成员变量(类中,方法外)、局部变量(常见于方法中)//2.初始化值不同:成员变量(有默认值,不需要初始化赋值)、局部变量(没有默认值,使用之前必须完成赋值)//3.内存位置不同:成员变量(存在于堆内存)、局......
  • phpcms系统连接mysql失败
    phpcmsv9安装程序代码对提交的密码中特殊字符(如:&$^!@#)未进行escape转义处理。解决办法:1、修改install/step5.tpl.php127行为:'&dbpw='+escape($('#dbpw').val())2、修改install/step6.tpl.php55行为:vardbpw=escape('<?=$dbpw?>');......