【操作系统理论】—— 线程调度

本文详细解释了Linux系统的调度策略,包括SCHED_FIFO、SCHED_RR对实时和正常线程的处理,以及在仅含实时线程时的优先级规则。特别介绍了CFS策略在normal线程中的应用,它提供了公平的CPU时间分配。
摘要由CSDN通过智能技术生成

在这里插入图片描述

  • linux只支持scs调度策略,即1:1模型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

调度策略的过程

在这里插入图片描述

  • 在系统中,若同时存在实时(real time)和正常(normal)的线程时,系统优先处理real time;同理,real time的线程会抢占normal线程的CPU
  • 在仅有real time的线程的情况下,会根据PR值决定线程的处理先后顺序;若PR值相同时,SCHED_FIFO会按照先来先服务原则,顺序执行,SCHED_RR则会给线程分配相同的时间片,交替执行
  • 在仅有real time的线程的情况下,若有两个线程分别是SCHED_FIFO和SCHED_RR的调度策略,且这两个线程的优先级一样,那么系统怎么调度这两个线程:SCHED_FIFO 的优先级高于 SCHED_RR
  • 仅有normal模式的线程时(这里只讨论SCHED_OTHER),会采用分时调度CFS策略和动态优先级调整的策略来完成线程调度。
    CFS 旨在公平地分配 CPU 时间给系统中运行的进程或线程,相比于传统的时间片轮转调度算法,CFS 不会固定分配时间片给每个进程,而是根据进程的优先级和历史运行时间动态调整,以确保每个进程都可以获得公平的 CPU 时间份额
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值