|
http://www.52rd.com/bbs/Detail_RD.BBS_195592_132_1_1.html
之前研究过Nucleus,最近因为想了解下其他RTOS的机制,所以特意从网上找了些其他RTOS的代码来看,其中也包括ThreadX的代码。于是便发现了一个很有意思的事情。什么有意思的事情呢,呵呵,Nucleus的代码和ThreadX的代码太类似了。虽然作者刻意的用文件,函数,参数的命名来干扰我们的实现,但是仍然可以很清晰的发现两个代码的相似之处。我这人比较八卦,于是想,是不是哪个工程师跳槽了,导致这样的事情呢。后来才发现,两个代码里面,都有William E. Lamie这位老兄,上网一查,原来这位老兄是Nucleus的创始人也是ThreadX的创始人。难怪 在Nucleus的后期版本里面,都看不到这位老兄的身影了。寻遍搜索,把两个系统的历史简单描述下,Nucleus从1.0版本发展到1.3版本后,被Mentor收购,Mentor将Nucleus的版本修改为1.11后继续发展,而这位老兄另立公司,重新开发ThreadX,最初采用的版本是 3.0,现在已经发展到了5.X。这样就比较清楚了,敢情William E. Lamie耍了个小聪明,卖了一个壳子给Mentor,自己换了个马甲,继续干活收钱。不过ThreadX和Nucleus虽然大体结构和大部分机制相似,但是William E. Lamie还是做了很多变化的,因为本人刚研究ThreadX,所以不能给大家一个清晰的例举,等稍后再写一篇详细的分析吧。
其实这样对大家来说也有一个好处。因为Nucleus操作系统没有任何书籍,只有Internal和Refrence可以看。如果你想了解作者的思路和一些机制思想,以及使用Nucleus需要注意的地方,基本上没有任何文字的东西可以指导你。但是ThreadX不一样,作者在User Guide之外,还写了三本书(列在最后)来描述这个系统,指导如何使用好这个系统。然后呢,这两个系统这么接近,又是出自同一个作者,你当然可以用这三本书里面看到的知识,来分析Nucleus的系统。这也不失为一条深入研究Nucleus的通道。虽然有些曲折,但你别无他法,呵呵。
《Real-Time Embedded Multithreading Using ThreadX and ARM》(有中文版)
《Real-Time Embedded Multithreading Using ThreadX 2e》
《Real-Time Embedded Multithreading Using ThreadX and MIPS》
William E. Lamie is co-founder and CEO of Express Logic, Inc., and is the author of the ThreadX RTOS. Prior to founding Express Logic, Mr. Lamie was the author of the Nucleus RTOS and co-founder of Accelerated Technology, Inc. Mr. Lamie has over 20 years experience in embedded systems development, over 15 of which are in the development of real-time operating systems for embedded applications
http://www.52rd.com/bbs/Detail_RD.BBS_195592_132_1_1.html |
|