CosyOS 发表于 2023-5-6 12:56:44

神农鼎 发表于 2023-5-6 09:23
大侠,本坛有爱好者咨询 FreeRTOS的问题时也帮忙解答下,
顺便介绍下您的 CosyOS 比 FreeRTOS 的优势,
让 ...

好的,以后我会积极参与的。

CosyOS 发表于 2023-5-6 13:04:29

本帖最后由 CosyOS 于 2023-5-6 13:07 编辑

32位8051-STCAI 发表于 2023-5-6 09:14
帮网友问下:要消耗多少RAM
关于内存的占用,我现在还不能提供一个准确的数字,一般情况下,8K内存跑十多个任务还是绰绰有余的。然而,这也却决于多方面因素,如用户定义的变量、创建的邮箱、队列的多少等。

神农鼎 发表于 2023-5-6 13:15:37

有人来批评或来骂街,国产OS就成功指日可待,不要全是赞美的声音,要有客观的批判


CosyOS 发表于 2023-5-6 13:21:01

神农鼎 发表于 2023-5-6 13:15
有人来批评或来骂街,国产OS就成功指日可待,不要全是赞美的声音,要有客观的批判



对的,欢迎大家提出异议,共同探讨,有批评才能有进步。
另外,对于 FreeRTOS 我也不够精通,只能尽量参与。

神农鼎 发表于 2023-5-6 13:22:01

我刚注意到大侠的CosyOS 是为 STC8H8K64U
这个 STC 8051世界 最快的 1T 8051, STC8H8K64U量身定制的,
请CosyOS大侠大笔墨介绍下针对STC8H8K64U比其他流行OS的优势

杨为民 发表于 2023-5-6 13:26:51

CosyOS 发表于 2023-5-6 12:33
临界区是有的,同时也开放给用户。CosyOS的临界区只有一种,对于8051、80251内核,在进入临界区时会关闭 S ...

临界区保护分为两种情况,一种是操作系统本身对系统自身的资源(任务表、调度过程等)的保护,如你上面提到的。另一种是对公共资源的保护,比如对一个12位的ADC,一个任务(如实验板上的NTC)读了一个字节后,任务被切换了,新任务重新进行了ADC变换,然后任务再切换回来后读到的另一个字节已经不是原来的字节了,就会产生错误。为了避免出现这类错误,就需要公共资源临界区保护。如果按照传统操作系统的临界区保护方法编程太过复杂,不得已RTT、uC/OS以及FreeRTOS这些RTOS才提供了“关全局中断”(EA=0)的通用临界区保护手段。
但是,使用中断对于STC单片机十分重要,因此避免在RTOS关闭全局中断是一个很重要的选择。建议将CosyOS现在的特色“所有内核全局不关中断的RTOS”修改为“所有内核不关全局中断EA的RTOS”更为贴切,这样既体现了CosyOS的特色,又表明了关不关全局中断由用户自己选择的方法

CosyOS 发表于 2023-5-6 13:44:23

本帖最后由 CosyOS 于 2023-5-6 16:04 编辑

首先,CosyOS在开发之初就设定好了基本框架,要实现所有内核全局不关中断,
要全面支持STC的8位、32位8051 MCU。针对STC MCU的优化是贯穿始终的,
这一点从 MCU配置文件 中就能体现。
代码中的所有细节均考虑到了系统级全局变量的可重入性,确保安全可信。
CosyOS是原生支持STC的8位、32位8051 MCU的,非移植的OS可比。
移植的OS在很多细节的地方可能会存在安全隐患。

我描述一种典型的情况,某些RTOS在开发之初只考虑了对Arm等32位以上MCU的支持,并没有考虑对51、251的支持,
所以很多系统级的全局变量(4bytes及以下)是根本不用考虑重入问题的,因为汇编都是单指令访问完成。
然而移植到51、251情况就完全不同了,51只有单字节变量不会重入,251只有data、edata直接寻址不会重入,
间接寻址汇编一次只能访问1-2个字节。什么是间接寻址呢?idata、pdata、xdata访问都是间接寻址,指针的访问也是间接寻址。
如 u32 edata * edata p; 读写*p都是间接寻址,虽然数据在edata中,但汇编也要两条指令才能完成读或写。
每个OS中都有大量的指针访问,Arm32完全不用考虑的问题,换成了51/251,都要全盘重新考量。
这就为系统安全性埋下了伏笔???
这就是 “原生” 与 “移植” 的区别!!!


神农鼎 发表于 2023-5-6 13:55:07


全网热烈讨论中

hu_jia168 发表于 2023-5-6 13:57:08

神农鼎 发表于 2023-5-6 14:00:23

有啥在这讨论,官方保驾护航
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 全局不关总中断的 RTOS,CosyOS-III-V1.2.0, 送 擎天柱-AI8051U转89C52核心板