操作系统-处理机调度

在这里插入图片描述

调度的概念

处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

例如:在银行中普通客户需要取票排队而VIP客户可以优先服务。

调度的3个层次

高级调度

首先理解一下作业的概念,作业并不是学生时代时的作业,而是一个具体的任务。用户用户向系统提交一个作业 ≈ 用户让操作系统启动一个程序(来处理一个具体的任务)

高级调度的概念

  • 高级调度(作业调度)。按一定的原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。每个作业只调入一次,调出一次。作业调入时会建立PCB,调出时才撤销PCB。

中级调度(内存调度)——按照某种策略决定将哪个处于挂起状态的进程重新调入内存。一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高。

当内存不够时,可将某些进程的数据调出外存。等内存空闲或者进程需要运行时再重新调入内存。
暂时调到外存等待的进程状态为挂起状态。被挂起的进程PCB会被组织成挂起队列

低级调度:低级调度(进程调度/处理机调度)—— 按照某种策略从就绪队列中选取一个进程,将处理机分配给它。

进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。
进程调度的频率很高,一般几十毫秒一次。

三层调度的联系和对比

要做什么 调度发生在… 发生频率 对进程状态的影响
高级调度(作业调度) 按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程 外存->内存(面向作业) 最低 无->创建态->就绪态
中级调度 (内存调度) 按照某种规则,从挂起队列中选择合适的进程将其数据调回内存 外存->内存(面向进程) 中等 挂起态->就绪态(阻塞挂起->阻塞态)
低级调度(进程调度) 按照某种规则,从就绪队列中选择一个进程为其分配处理机 内存->CPU 最高 就绪态->运行态

切换与过程调度方式

进程调度的时机

  • 进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

需要进行进程调度与切换的情况

1.当前运行的进程主动放弃处理机

  • 进程正常终止
  • 运行过程中发生异常而终止
  • 进程主动请求阻塞(如 等待I/O)

2.当前运行的进程被动放弃处理机

  • 分给进程的时间片用完
  • 有更紧急的事需要处理(如 I/O中断)
  • 有更高优先级的进程进入就绪队列

还有不能进行进程调度与切换的情况:

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

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    _End丶断弦

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值