jovisheng
jovisheng
这家伙很懒,什么也没写!

注册于 14年前

回答
2
文章
0
关注者
0

发布于14年前

banord,这两天做系统有个小想法不知道有没有用。关于设备驱动方面的,设备缓冲不要只设一个,设计成多级缓冲,比如说*in_buf[n]吧,读设备缓冲先用设备的get_lock的到一个可用的in_buf,而设备本身在写in_buf的时候也要用get_lock得到一个可用锁(这样做的意义在于,想像一下如果buf很大,光取buf数据可能就要浪费很多时间,而这时候设备如果有实时处理要求得不到buf的话要么等待要么会丢失数据,对于一个1ms就可能会响应多个数据包的设备)。不要使用信号量什么的,太费处理时间。
对应lock函数区分中断和非中断调用,中断处理lock的时候用最快速度(不需要临界处理,用其它方式)。对于中断处理要保证至少能得到一把锁可以对in_buf操作(不要在中断等待)。
当然还要free_lock了。
考虑通用性和实时性。

发布于14年前

呵呵,兄弟们都冷静一下。每个人的喜好各不一样对吧,咸菜萝卜各有所爱,我觉得兄弟们都有自己的独到的看法,求同存异允许有异嘛。RT-THREAD的作者们吸收了很多LINUX的思想,又借鉴了很多小型实时操作系统的优点,可以说是又重新组装了一个很吸引人的产品。我的观点是一个优美的代码也需要一个大家都感觉比较舒服的语法,linux的代码风格就是那么简单,多好。每个函数每个定义都要加RT,有没有被植入的感觉?我再说一遍,LINUX的的代码里面大家看到有那么多LINUX-前缀的函数和定义吗。细节决定。。。
重新申明,我不是来故意挑刺的,喜欢的东西才会希望能更加完美。

回到
顶部

发布
问题

投诉
建议