2.2处理机的调度

1.调度

处理机调度是对处理机进行分配;

从进程就绪队列中按照一定的调度算法对进程进行处理机分配,以实现并发执行;

处理机调度是多到程序操作系统基础,是操作系统设计核心问题

调度的层次

1)作业调度,高级调度,内存与辅存之间的调度;

2)内存调度,中级调度,提高内存的利用率和系统的吞吐量;

3)进程调度,低级调度,根据调度算法分配处理机。

三层调度的关系

1.作业调度为进程左准备活动,选择作业进入内存,并创建进程分配资源;内存调度处于作业调度和进程调度之间;

2.作业调度少,内存调度略多,进程调度最为频繁;

3.进程调度是操作系统中最基本的一种调度,不可或缺;

2.调度的时机、切换与过程

进程调度进程切换程序都是操作系统内核程序

进程调度与进程切换有什么样的联系?

先后顺序:请求进程调度的事件发送后,运行进程调度程序,从就绪队列中调度了新的进程后,才会进行进程之间的切换;

3.进程的调度方式

1)非抢占式(非剥夺)调度方式,当前执行进程不因其他重要进程就绪而停止执行;

注:优:实现简单、系统开销小;

适用批处理系统不适用分时系统实时系统

2)抢占式(剥夺)调度方式,运行进程可因为其他重要进程就绪而暂停执行;

优:提高了系统吞吐率和响应效率;

该方式需要根据调度的原则决定优先程度:优先权、短进程优先、时间片轮转等;

4.调度的准则

调度算法的性能评判因素:

1)CPU利用率 2)系统吞吐量(cpu单位时间内完成作业数目) 3)周转时间 4)等待时间 5)响应时间

5.调度算法

1)先来先服务调度算法(FCFS)

即可用作业调度,又可用于进程调度

FCFS属于不可剥夺调度算法;在执行作业过长,导致后面作业等待过长时间,故不适合分时系统和实时系统;

注:可与优先级调度算法结合,相同优先级的进程按FCFS先来先服务调度;

算法特点:简单,但效率低;

2)短作业优先调度算法(SJF)

短作业优先调度;

不可忽视缺点:

只考虑短作业,对长作业明显不利;

不考虑作业的重要程度;

短作业会受用户影响;

注:SJF调度算法的平均等待时间、平均周转时间最少

3)优先级调度算法

根据作业或进程的优先级调度;适合实时系统;

作业调度,选择优先级高的作业,调入内存,分配资源,并创建相应进程,插入就绪队列;

进程调度,当有优先级更高的进程就绪能否抢占正在执行的进程;

非抢占式优先级调度;

抢占式优先级调度;

进程的优先级可分为:静态优先级、动态优先级;

静态优先级:创建时确定优先级,运行周期时不变;

动态优先级:运行时,根据进程动态变换调整优先级;

一般优先级:

1)系统进程>用户进程;

2)交互进程(前端实时响应)>非交互进程(后台运行);

3)I/O进程>计算型进程;注:I/O处理速度慢,设优先级高,先开始有助于提高系统整体效率;

4)高响应比调度算法

主要用于作业调度:选择作业调度内存,分配资源;

综合FCFS、SJF,同时考虑作业等待时间和估计运行时间;

响应比R_p=(等待时间+要求服务时间)/要求服务时间

适合分时操作系统;

5)时间片轮转调度算法

将就绪进程队列,按达到时间排成循队列,选着当前队头进程运行指定时间片,eg:100ms;,时间片结束下一个进程,结束进程从新排队;

时间片的大小决定算法效率,设置时间片影响因素有:系统响应时间、就绪进程数目、系统的处理能力;

6)多级反馈队列调度算法

综合****时间片轮转调度优先级调度,通过动态调整进程优先级和时间片大小,兼顾系统多方面目标;

算法思想:

1)设置多个进程就绪队列,并将队列分级,级别高该队列优先级高;

2)每个队列中时间片大小不同;优先级高的时间片小;

3)新进程进入内存,按优先级梯度下降FCFS调度执行直至作业完成;

总结:

优先级调度算法适合实时操作系统

高响应比、时间片轮转、多级反馈队列调度适合分时操作系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 操作系统是计算机系统中的一个关键组件,它管理和协调计算机硬件和软件资源,为用户提供一个稳定、高效的工作环境。 处理机调度是操作系统的一个重要功能,它负责按照一定的算法和策略,合理地分配处理机资源,使得各个进程能够得到适当的执行。通过处理机调度,操作系统可以实现多任务之间的切换,提高计算机的并发性和吞吐量。 Java是一种高级编程语言,它是跨平台的,并且具有良好的可移植性和灵活性。操作系统中的处理机调度和Java之间存在着密切的关系。 首先,Java应用程序是运行在操作系统之上的,即Java程序需要操作系统提供的执行环境和资源才能运行。处理机调度负责分配处理机资源,使得Java程序得以运行并获得所需的计算能力。 其次,Java虚拟机(JVM)是Java程序执行的基础,而JVM的运行也依赖于操作系统的处理机调度。操作系统为JVM分配处理机资源,使得JVM能够高效地进行Java代码的解释和执行。 此外,操作系统中的处理机调度算法也会对Java程序的性能产生一定的影响。不同的调度算法会导致不同的进程切换开销,从而影响到Java程序的响应速度和执行效率。 综上所述,操作系统的处理机调度和Java之间存在着紧密的联系。处理机调度保证了Java程序能够得到合适的执行环境和资源支持,从而通过Java编程语言进行开发的应用程序能够高效地运行。 ### 回答2: 操作系统是一种软件,它管理和控制计算机系统的硬件资源和软件资源。它的功能包括进程管理、内存管理、文件系统管理、设备管理等。处理机调度是操作系统的一项重要功能,它决定了在多道程序环境下,哪个进程将获得处理机的使用权。 在操作系统中,处理机调度的目标是提高系统的吞吐量、CPU利用率和响应时间,并保证公平性和资源平衡。常用的处理机调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转(RR)等。 Java是一种面向对象的编程语言,它经常用于开发跨平台的应用程序。Java程序在运行时需要操作系统提供的处理机资源来执行。操作系统通过处理机调度算法决定在何时分配处理机资源给Java程序运行,并按照一定的调度策略进行管理。处理机调度算法的选择对Java程序的性能和响应时间有重要影响。 例如,时间片轮转调度算法可以使得所有Java程序按照一定的时间片依次获得处理机使用权,保证每个程序都能有机会运行。而短作业优先调度算法可以使得短时间的Java程序优先获得处理机使用权,提高系统的响应时间。 总之,操作系统的处理机调度功能对于Java程序的性能和执行效率有着重要影响。合理选择合适的处理机调度算法可以优化Java程序的运行效果。 ### 回答3: 操作系统是计算机系统中的一个重要组成部分,它负责管理和控制计算机系统的资源,为用户和应用程序提供各种服务和支持。处理机调度是操作系统的核心功能之一,主要负责决定哪个程序在何时获得处理器的使用权。而Java是一种广泛使用的跨平台编程语言,通过虚拟机技术可以在不同的操作系统上运行。 操作系统的处理机调度算法可以分为多种类型,如先来先服务(FCFS)、最短作业优先(SJF)、时间片轮转等。这些算法的目标是合理分配处理机资源,提高系统的吞吐量、响应速度和资源利用率。 Java作为一种高级编程语言,程序通过Java虚拟机(JVM)解释和运行。Java虚拟机在操作系统中运行,操作系统负责为虚拟机提供处理器资源,并根据处理机调度算法决定虚拟机能否获得使用权。操作系统通过处理机调度来保证Java程序能够按照一定的顺序运行,并且合理分配处理机资源。 处理机调度算法可以根据任务的特点和需求进行选择,比如对于计算密集型任务可以选择SJF算法,而对于交互式任务可以选择时间片轮转算法。同时,处理机调度算法的设计和优化也需要考虑到系统的负载情况、任务的优先级、响应时间等因素。 总之,操作系统的处理机调度算法在Java程序的运行中起着重要的作用,通过合理的调度策略可以确保Java程序的正常执行,并提高系统的性能和资源利用率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值