调度的概念与分类

调度是操作系统中的一个核心概念,它涉及确定某种规则来决定处理任务的顺序。根据任务的不同层次,调度可以分为三种主要类型:作业调度、内存调度和进程(处理机)调度。

目录

作业调度(高级)

内存调度(中级)

进程(处理机)调度(低级)

评价指标

闲逛进程

调度算法

用于批处理系统的调度算法

用于交互式系统的调度算法

多级队列


作业调度(高级)

  • 概念: 作业调度主要负责选择一个作业调入内存。每个作业只调入一次,调出一次。
  • 作用: 这是一个相对高层的调度,决定了哪些作业应该进入内存,并开始执行。

内存调度(中级)

  • 概念: 当内存不足时,内存调度负责将某些进程的数据调出外存(挂起)。等内存空闲或进程需要运行时,再重新调入内存。
  • 特点:
    • 挂起与阻塞: 挂起是将进程数据移出内存,而阻塞是在内存中等待。
    • 七状态模型: 引入了就绪挂起和阻塞挂起的状态。

进程(处理机)调度(低级)

  • 概念: 进程调度是最基本的调度,负责将一个处理机分配给一个进程。
  • 时机:
    • 可以进程调度: 当进程主动放弃(如正常终止、异常终止、主动阻塞)或被动放弃(时间片用完、紧急事件、高优先级进程)时。
    • 不可以进程调度: 在处理中断过程、内核程序临界区、原语操作中。
  • 调度方式:
    • 非剥夺调度方式(非抢占): 适用于批处理系统。
    • 剥夺调度方式(抢占): 适用于分时操作系统、实时操作系统。
  • 进程调度和切换:
    • 过程: 保存原进程数据,恢复新进程数据。
    • 代价: 频繁切换会降低系统效率。

评价指标

  • CPU利用率: CPU忙碌时间占总时间的比例。
  • 系统吞吐量: 单位时间完成的专业数量。
  • 周转时间: 作业提交到完成的时间间隔。
  • 带权周转时间: 作业时间/运行时间。
  • 等待时间: 处于等待处理机状态的总时间。
  • 响应时间: 提交请求到首次响应的时间。

闲逛进程

  • 概念: 在没有其他就绪进程时,运行闲逛进程(idle)。

调度算法

调度算法根据系统的不同需求设计,主要分为以下几种:

用于批处理系统的调度算法

  • 先来先服务(FCFS): 非抢占式,公平,对长作业有利,不会饥饿。
  • 短进程优先(SJF): 非抢占式,对短作业有利,可能饥饿。
    • 最短剩余时间优先算法(SRTN): 抢占式。
  • 高响应比优先(HRRN): 非抢占式,综合考虑等待和运行时间,不会饥饿。

用于交互式系统的调度算法

  • 时间片轮转(RR): 抢占式,公平,响应快,不会饥饿,用于分时操作系统。
  • 优先级调度: 区分紧急程度,可能饥饿,用于实时操作系统。
  • 多级反馈队列: 综合各种调度算法,注重系统响应时间、公平性等,可能导致饥饿。

多级队列

  • 概念: 系统中按进程类型设置多个队列,进程创建后插入某个队列。
  • 调度策略:
    • 固定优先级: 高优先级队列空时低优先级才能被调度。
    • 时间片划分: 如三个队列分配时间50%、40%、10%。
  • 应用:
    • 系统进程队列: 采用优先级调度。
    • 交互式队列: 采用时间片轮转。
    • 批处理队列: 采用先来先服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值