UCOS任务转换
UCOS有一个任务调度机制,它根据任务的优先级来调度任务。具体调度方法可以看邵贝贝的书。关于移交CPU使用权,主要有两个方面:
一种是硬件中断,那么系统会把与当前任务相关的变量放入堆栈,然后执行中断服务程序,执行完后再从堆栈返回。
另一个是任务之间的切换。使用的方法是任务调度。每个任务都有自己的符合性相同的堆栈,然后执行另一个程序,然后退出返回。
具体可以看邵贝贝的书,网上搜很多。
关于LINUX的问题,首先,这两个应用程序有一些不同。UCOS是嵌入式实时操作系统,关键是实时性,应用于对时间要求高的地方。虽然linux的一些版本是实时的,比如RTlinux,但是UCOS相对来说选择的更多,LINUX的应用方向很多,比如服务器、计算机操作系统、嵌入式操作系统等。不知道你想问什么样的学问?如果是嵌入式操作系统,学习UCOS是有帮助的。事件、消息等系统级应用方法在LINUX上是一样的,只是函数名可能不一样,但是直接学习LINUX系统编程对理解这些东西更有帮助。刚开学最好不要看内核代码,先用,再看。如果学习LINUX,需要了解LINUX下的常用命令,SHELL命令解析器的使用,LINUX下编辑器的使用,MAKEFILE的使用,GCC的使用等。其实有一些类似于DOS的东西,是ARM_LINUX里面最热门的要学的东西,然后学习ARM的架构,就可以开发了。
可以在优酷上找一些关于ARM_LINUX的视频,然后借鉴一下。最好买一套开发板,方便练习。目前资料比较多,论坛比较多,学习的人也比较多,分别是S3C2440和S3C6410。
如果你学LINUX系统编程,推荐你一本书,UNIX环境下的高级编程。
打字真的很累,仅此而已。如果你有任何问题,你可以问他们。想系统学习就去培训吧!