Ctrl OS设计随笔

Ctrl OS设计说明

  1. CPU抢占问题
  • 问题:
    系统任务调度核心使用协程进行处理,在处理CPU密集(大量数据运行)任务时,并不会主动出让CPU资源,会导致其他协程被饿死!
  • 解决
    这个问题不是协程关心的问题,更不是协程应该解决的问题。使用协程的核心是不用关心临界区并且提高任务切换效率。
    协程适合的是IO密集型任务,有大量任务需要等待IO数据,并且进行阻塞。在这种情况下CPU的占用率是很低的,主要时间是在IO等待上。
    对于上述问题的解决方法是使用线程,线程和协程并不是互斥关系,在需要进行对低优先级、高CPU占用的情况更适合使用线程进行处理。
  1. 系统设计架构
    该系统选择使用协程作为任务调度核心,那他必须也必须接受协程带来缺点:设计者必须保证在协程中不能大量占用CPU资源。
    所以这也引出了这个系统的设计目的和设计要点:以IO作为系统处理核心,这里的IO包括物理设备、信号、文件等等。而任务是为IO服务的,它来处理IO的逻辑。
    在系统设计中,大量的对象都是以IO类的一个子类。有这相同的属性和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值