ucos操作系统学习体会
0赞
发表于 7/12/2013 5:36:04 PM
阅读(2798)
最近想移植tcp/ip协议到arm7上,但是找了些资料,都是基于操作系统下的网络协议。资料最多的就是ucos+lwip。如是开始学习ucos实时操作系统。现在吧我这几天学习和大家分享下:
μC/OS-Ⅱ是可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU 的控制权。
当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU 使用权就被
剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务
子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。
每一个任务都是一个进程,都有任务优先级设置。想让μC/OS-Ⅱ管理用户的任务,用户必须要先建立任务。用户可以通过传递任务地址和其它参数到以下两个函数之一来建立任务:OSTaskCreate() 或 OSTaskCreateExt()。如果某个优先级高的到达,则执行任务调度函数OSSched(),任务电镀函数其实就是对上个任务的资源进行堆栈保护,对将要运行的任务递交cpu资源。μC/OS-Ⅱ中的时钟节拍服务是通过在中断服务子程序中调用OSTimeTick()实现的,OSTimeTick()对任务的优先级进行了判断,修改。通过它低优先级的任务可以得到cpu的执行权。
