实时多任务系统内核分析 实时多任务系统内核分析 初次接触实时多任务操作系统的人,往往对实时程序的运行机制感到很困惑:任务在什么时候投入运行?操作系统以什么机制决定目前应该运行哪一个任务?本任务什么时候放弃了对CPU的控制?为了解答以上问题,我们从分析一个很简单的实时调度程序入手,来说明一下多任务程序的运行过程。 从结构上来说,实时多任务操作系统包括两部分,一部分为操作系统内核(kernel),即实时执行程序(Real TimeExecutive:RTX),另一部分是输入输出部分(I/O)(注意开发系统不属于操作系统的范畴);嵌入式系统对I/O的需求通常比较小(无文件系统需求),因此很多实时多任务操作系统本质上就是一个实时执行程序,如AMX(Kadak),VRTX(Microtec),iRMX(Intel)等(这里的X即:eXecutive),如果纯粹从kernel的角度来考察目前流行的各种实时多任务操作系统的性能,它们的效率差别都不大。 在市面上可以得到一些RTX的源代码(有用C实现的,有用汇编实现的,还有用PL/M语言实现的),从internet上也可以荡一些下来(我介绍一个站点www.eg3.com,堪称世界电子工程师资源宝库),下面我要介绍的一个RTX版本(我命名为SRTX:shortRTX),可以说是RTX中的元老级产品了,来自某研究所,九十年代初他们到美国考察,从美国某公司购得。五年以前,SRTX在国内有售,许多搞工控的研究所利用SRTX开发了一些大型或小型的产品,这里介绍的SRTX我作了一些简化和改动. 在功能上,SRTX的确无法和目前市售的实时多任务操作系统相比,不支持任务……
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
热门标签
评论