操作系统处理机管理

4.1 分级调度

操作系统根据调度对象的不同或调度性质的差异,一般采用分级调度的方法实现处理机的有效分配

作业调度

高级调度或宏观调度

按照某种算法从后备作业队列中选择一个或多个作业装入内存

在作业运行结束后做善后处理

完成作业调度功能的程序称为作业调度程序

交换调度

中级调度

功能是在内、外存间进行信息交换

实现虚拟存储管理

进程调度

低级调度或微观调度

它协调和控制各个进程对处理机的使用

相应的进程调度程序称为分派程序或低级调度程序

线程调度

低级调度或微观调度

用户级线程和核心级线程的调度方式是不同的

用户级线程由线程库进行管理和调度,称为进程局部调度

核心级线程则由系统内核来调度,称为系统全局调度

4.2 作业调度和进程调度

4.2.1 作业调度

1、作业调度的功能

作业调度主要是完成作业从后备状态转换到运行状态和从运行状态转换到完成状态

作业调度完成的主要功能

1、记录系统中的各作业的状况

2、选择作业

3、分配资源

4、为作业创建进程

5、善后处理

作业调度的目标

1、公平合理

2、高的利用率

3、执行尽可能多的作业

4、有快的响应时间

4.2.2 进程调度

进程调度解决的问题:

选择哪个进程占有处理机、何时进行占有、以何种方式进行占有

进程调度的功能

1、记录系统中所有进程的有关信息

2、确定处理机的分配原则

3、分配处理机

4、切换进程上下文

5、回收处理机

进程调度的方式

1、非抢占式(也称为不可剥夺方式)

2、抢占式(也称为可剥夺方式)

进程调度的时机

引起进程调度的主要原因

正在运行的进程正常执行结束

运行中的进程进行I/O操作后被阻塞

进程因执行某种原语操作将自己阻塞进入阻塞

在执行完系统调用后,选择一个用户进程进程执行

在可剥夺方式下,就绪队列中存在更高优先级的进程

进程调度的性能评价

一般来说从定量和定性两方面对进程调度的性能进行衡量和评价

在定量方面主要包括:

(1)CPU的利用率

CPU的利用率=CPU的有效时间/总时间

(2)进程在就绪队列中的等待时间与执行时间之比

在定性衡量方面,主要考虑:

(1)可靠性

(2)简洁性

4.3 调度算法

常用的进程调度算法

先来先服务调度算法

优先级调度算法

轮转调度算法

分级(或多级)轮转调度算法

分级反馈轮转调度算法

最短作业(进程)优先算法

响应比高者优先调度算法

4.3.1 先来先服务调度算法FCFS

适合:作业调度和进程调度

对作业:先进入后备队列的作业可以优先获得调度

对进程:先进入就绪队列的进程可优先被调度

4.3.2 优先级调度算法PS

适合:作业调度和进程调度

基本思想:按照某种准则为进程(作业)确定一个优先级,以表示该进程(作业)享有优先被调度的权利,优先级高者被优先的调度

算法的核心:如何确定进程(作业)的优先级

算法分类:抢占式和非抢占式

确定优先级的方法:静态和动态法

作业的静态优先级的确定:

(1)按其类型确定;

(2)由用户根据自己的实际情况给定;

(3)按照作业要求的资源情况确当。

作业的类型一般可分为:

(1)I/O繁忙型作业;

(2)CPU繁忙型作业;

(3)I/O与CPU均衡型作业;

(4)一般型作业等。

作业一般来说没有动态优先级。

进程静态优先级的确定:

(1)按其类型确定;

(2)将进程所属作业的静态优先级直接作为进程的优先级。

进程的动态优先级的确定:

(1)根据进程占有CPU时间确定

(2)根据进程等待CPU时间确定

4.3.3 轮转调度算法RR

适用:进程调度

基本思想:将CPU的处理时间分成固定大小的时间片,将CPU轮流分配给各个进程,为各进程提供服务。

如果一个进程被进程调度程序选中后用完了系统所规定的时间片而未执行结束,则它要释放CPU并把自己插入到某个就绪队列的末尾,等待下一次调度。同样位于某个阻塞队列中的进程因被唤醒而插入到就绪队列的末尾等待CPU。

轮转调度算法的分类

根据每一轮的时间片是否可变分为:

(1)固定周期轮转法;

(2)可变周期轮转法;

轮转调度法特别适合分时系统使用

在该方法中时间片长度的选取非常重要

时间片长度的选择

根据系统对响应时间的要求R和就绪队列中所允许的最大进程数N来确定的。它可表示为:q=R/N

加入到就绪队列的进程有三种情况:

(1)分给它的时间片用完,但进程还未完成。

(2)当阻塞解除之后再回到就绪队列。

(3)新创建进程进入就绪队列。

4.3.4 分级(或多级)轮转调度算法

基本思想:根据进程性质或优先级的不同将处于就绪状态的进程组成两个或多个就绪队列,先调度高优先级就绪队列中的进程,在调度低优先级就绪队列中的进程。

优缺点:实现简单,调度程序开销少,但不灵活。

4.3.5 分级反馈轮转调度算法

该算法允许进程在不同的就绪队列间移送

基本思想:

(1)根据对处理器的需求及占有情况把进程放入不同的就绪队列。

(2)如果某个进程占用了太多的处理器时间,降低该进程的优先级,插入较低优先级队列中。

(3)将长时间等待于较低优先级队列中进程取出赋予较高的优先级,插入较高优先级队列中

分级反馈轮转调度算法性能取决于下列因素:

(1)队列个数

(2)每个队列的调度算法

(3)决定何时使进程升入到更高优先级队列的方法。

(4)决定何时将进程降入到更低优先级队列的方法

(5)当进程需要服务时决定进程进入到哪一个队列中的方法

4.3.6 最短作业(进程)优先算法SJF

基本思想:短作业或短进程优先进行调度CPU。

特点:系统的吞吐量大,但处理时间长的作业可能长时间得不到服务

4.3.7 响应比高者优先调度算法

该方法以响应比作为作业调度的优先级,响应比越高,作业得到调度的优先级就越高

响应比的定义Rp如下:

Rp=(等待时间+要求执行时间)/要求执行时间

优点:即考虑了作业到达的先后顺序

也适当的照顾了短作业

缺点:每次要调度作业时都要计算响应比

增加一定的系统开销

4.4 选择调度方式和评价调度算法的若干准则

评价处理机的调度算法准则包括如下几个方面:

(1)CPU的利用率

(2)系统吞吐率

(3)周转时间

(4)带权周转时间

(5)等待时间

(6)响应时间

(7)公平

(8)对资源的均衡使用

4.5 实时调度算法

4.5.1 实时系统的特点

最大的特点:实时性

实时操作系统处理的任务分类:

根据对延迟的约束要求可分为:

(1)硬实时任务:如果系统对任务的响应时间超出了给定的时限,将会引起灾难性后果

(2)软实时任务:允许系统对任务的响应具有一定的延迟

根据任务发生的时间特征实时任务分为:

(1)周期性任务

(2)非周期性任务

实时操作系统基本特征

(1)支持多线程和可抢占式调度

(2)有限等待时间和响应时间

(3)可靠性高,健壮性强

(4)操作系统的行为应该被用户所了解和掌握

4.5.2 实现实时调度应具备的条件

1、提供必要的信息

(1)就绪时间

(2)开始时限和完成时限

(3)处理时间

(4)资源要求

(5)优先级

2、系统处理能力强

3、采用抢占式调度机制

4具有快速任务切换机制

对外部中断的快速响应能力

快速的任务调度能力

4.5.3 实时调度算法的分类

按实时任务性质分类

硬实时调度算法

软实时调度算法

按调度方式分类

非抢占调度算法

抢占调度算法

按因调度程序调度时间

静态调度算法

动态调度算法

在多处理环境下

集中式调度

分布式调度

按调度方式的不同对调度算法进行的分类:

非抢占式调度算法

轮转调度算法

优先调度算法

抢占式优先级调度算法

基于时钟中断

立即抢占

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答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程序的正常执行,并提高系统的性能和资源利用率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值