计算机基础知识
  • 关于
  • 系统
    • 操作系统的概念、功能、目标
    • 操作系统的特征
    • 并发和并行的区别
    • 操作系统的发展与分类
    • 操作系统的运行机制和体系结构
    • 中断和异常
    • 用户态、核心态之间的切换是怎么实现的?
    • 系统调用
    • 进程的概念
    • 进程的状态和转换
    • 进程控制
    • 进程通信
    • 线程、多线程模型
    • 程序、进程和作业的关系
    • 处理机调度的概念、层次
    • 进程调度的时机、切换与过程、方式
    • 调度算法的评价指标
    • 批处理系统的调度算法
    • 交互式系统的调度算法
    • 进程同步与进程互斥
    • 进程互斥的软件实现方法
    • 进程互斥的硬件实现方法
    • 信号量机制
    • 用信号量机制实现进程互斥、同步、前驱关系
    • 生产者-消费者问题
    • 多生产者-多消费者问题
    • 吸烟者问题
    • 读者-写者问题
    • 哲学家进餐问题
    • 管程
    • 死锁的概念
    • 死锁的处理策略——预防死锁
    • 死锁的处理策略——避免死锁
    • 死锁的处理策略——检测和解除
  • 网络
    • 计算机网络的概念、组成、功能、分类
    • 标准化工作及相关组织
    • 性能指标之速率、带宽、吞吐量
    • 性能指标之时延、时延带宽积、往返时间RTT、利用率
    • 分层结构
    • OSI参考模型
    • TCP/IP参考模型
    • 5层参考模型
    • http与https的区别
    • TCP和UDP的区别
  • Java
    • Arraylist与LinkedList区别
    • HashMap,HashTable,ConcurrentHash的共同点和区别
  • 数据库
    • 为什么MySQL索引要使用B+树
由 GitBook 提供支持
在本页
  • CPU利用率
  • 系统吞吐量
  • 周转时间
  • 等待时间
  • 响应时间
在GitHub上编辑
  1. 系统

调度算法的评价指标

CPU利用率

指CPU“忙碌”的时间占总时间的比例。

利用率 = 忙碌的时间 / 总时间

某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率为66.67%、打印机利用率为33.33%。

系统吞吐量

单位时间内完成作业的数量

系统吞吐量 = 总共完成了多少道作业 / 总共花了多少时间

某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为10/100=0.1道/秒

周转时间

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

它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。

(作业)周转时间 = 作业完成时间 - 作业提交时间

平均周转时间 = 各作业周转时间之和 / 作业数

对于用户来说,更关心自已的单个作业的周转时间

对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值

思考:有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的,因此引出带权周转时间

带权周转时间 = 作业周转时间 / 作业实际运行的时间

带权周转时间 = (作业完成时间 - 作业提交时间) / 作业实际运行的时间

平均带权周转时间 = 各作业带权周转时间之和 / 作业数

对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高。

对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。

等待时间

等待时间,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。

对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待1/0完成的期间其实进程也是在被服务的,所以不计入等待时间。

对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。

一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。

响应时间

对于计算机用户来说,会希望自已的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。

响应时间,指从用户提交请求到首次产生响应所用的时间。

最后更新于2年前