打印

改造实时linux计划

[复制链接]
9208|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cooldog123pp|  楼主 | 2021-9-25 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
raw-os如何配合linux用来打造实时linux的方案已经考虑过2年,考虑过几种方案,但是都不通用。这段时间考虑了一种可行的方案如下:

raw-os既然能在vc上模拟,为什么不能在 linux内核级别也去模拟呢?如果采用linux内核级别的api模拟只采用到一个核心调度函数,而且不使用到linux内核相关的其他一切内核函数,那么可以最大化的避免linux内核产生的实时性的问题。具体的做法可以如下:

假设在一个4核的cpu上跑linux。
1    单独指定一个cpu跑raw-os的linux内核模拟。其过程高度类似于vc下的raw-os仿真。
2  raw-os的linux内核仿真支层只能调用raw-os的内核函数,linux层的api一律不能调用。
3 通过cpu间的相互中断来同步和传递raw-os以及linux层间的消息和数据。
4 linux 用户态创建线程和进程的时候只能在另外的3个不相干的cpu上,这一点可能需要改一下内核调度这块。
5 中断分发的时候只分发相关的中断到raw-os模拟的那个cpu上,无关的中断走其它3个cpu.

多核smp架构之间的实时性是一个非常复杂的问题,时间可能会不稳定,所以利用一个单核跑rtos,分开来做实时性的理念是可行的。

以上的过程具体的好处是,可以实现相当高的实时性,内核最大关中断时间为linux的调度函数,这个值是确定的一个常数时间,内核最大关抢占的时间转化为raw-os的内核最大关抢占的时间。而且移植非常方便,避开了对底层cpu细节的移植等等,唯一需要移植的就是cpu核间中断,这种是非常简单的。砖头已经抛出,希望能引到玉。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1839

主题

6409

帖子

30

粉丝