【操作系统】第八课

本文详细介绍了操作系统中的CPU调度,包括调度背景、调度准则和各种调度算法,如FCFS、SPN、HRRN、轮循等。讨论了实时调度的重要性,如实时系统、RM和EDF算法,并涉及多处理器调度和优先级反转问题。内容源于《操作系统_清华大学(向勇、陈渝)》。
摘要由CSDN通过智能技术生成

课程来源《操作系统_清华大学(向勇、陈渝)》

处理器和CPU调度

1.背景(CPU调度、CPU调度时间)、
2.调度准则(调度策略、程序执行模型、比较调度算法的准则、吞吐量VS延迟、公平的目标)、
3.调度算法(一般性的调度算法、针对嵌入式系统的特殊调度算法、多CPU多内核的调度算法)、
4.实时调度(实时系统、可调度性、单调度性(RM)、截至日期最早优先(EDF))、
5.多处理器调度、
6优先级反转

1.背景

上下文切换:
1.切换CPU的当前任务,从一个进程/线程到另一个,
2.保存当前进程/线程在PCB/TCB中的执行上下文(CPU状态),
3.读取下一个进程/线程的上下文

CPU什么时候上下文切换,怎么切换,主要看CPU调度。

CPU调度:
1.从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个线程/进程
2.调度程序:挑选进程/线程的内核函数(通过一切调度策略)使得效率最高,满足用户需求

在进程/线程的生命周期中的什么时候进行调度? 从一个状态变为另一个状态,特别是和运行(running)相关的状态。

内核运行调度程序的条件:
1.进程从运行状态切换到等待状态
2.or终结了(done)

不可抢占调度,调度必须等待事件/进程结束,早期OS。

现在多为可以抢占的进程,OS决定在何时打断进程,调度程序在中断被响应后执行,当前进程从运行切换到就绪,或者一个进程从等待切换到就绪,可以被换出。

针对的是用户态的进程。
进程在内核中通过系统调用执行,因为系统调用返回时是到发起这个调用的进程继续执行,所以内核中不会切换,抢占。只要进程在系统调用时不存在从运行态到阻塞态的变化,OS可以确保返回正常。

如果在内核中也允许这种抢占,系统调用返回时不是原来的进程而是另一个优先级更高的进程,就是内核中的抢占。

早期是完全不可抢占,后来用户态进程允许抢占,现在内核态进程也可以抢占。

2.调度原则

调度原则:调度策略、程序执行模型、比较调度算法的准则、吞吐量VS延迟、公平的目标

在这里插入图片描述

CPU的占用率是波状,CPU大量运算是高峰,而读写I/O时是平稳的低值。

执行模型,程序在CPU突发和I/O中交替:
1.每个调度决定都是关于下一个CPU突发时将哪个工作交给CPU,
2.在时间分片下,线程可能在结束当前CPU突发前被迫放弃CPU。

程序在CPU突发和I/O中交替,CPU占用率高说明是在充分地使用CPU。

选择调度方法的评价指标:
CPU使用率:CPU处于忙状态的时间百分比
吞吐量:单位时间内完成的进程数量
周转时间:一个进程从初始化到结束包括(所有等待时间)所花费的时间,周转时间=等待时间+服务时间
等待时间:进程在就绪队列中的总时间,进程从就绪态到运行态的时间。
响应时间:一个请求被提交到第一次响应所花费的总时间

NEED SPEED FO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值