TOD的编程思想

thread oriented design,面向线程编程。
TOD,用于应用程序设计,且需要由OS来支持。
常见的OS都是支持TOD的,例如ucos或者freertos。

TOD设计,解决的不是单个代码段如何编写的问题,而是更加关注于代码段部署和系统运行时同步问题。其中的关键技术,就是IPC。IPC需要OS的支持。
在有的OS中,将线程成为task,这只是称呼不同。

既然是应用编程,自然无需关注于OS的硬件实现机制,而只是考虑应用编程所需要的设计资源。
一是event,二是message。

在TOD时,可以简单理解为每个线程,拥有一个自己的处理机,宏观上看,似乎线程都是并行执行的。
如果没有同步,那么各个进程按照自己的代码段的控制流向下执行。如果需要同步,那么就需要在代码段的合适位置,插入同步语句,让进程机处于自旋状态,并等待OS根据event或者message,将进程机解除自旋,继续向下执行。
从这个角度来看,TOD的核心设计,就是同步,就是IPC。

对于嵌入式设计来讲,首要问题就是线程划分和线程布局。
应用中,需要创建什么线程,这个线程是什么角色,完成什么任务,对应的入口函数是哪个代码段?
然后的问题就是,线程的资源依赖分析,
线程函数在执行时,哪里需要插入同步,哪里需要插入通信,需要哪些数据资源,哪些event,哪些message?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值