我下午对研究生小朋友有陈述了一遍我的思路。
就一张联络图,里面根本没有任何思想。
因为我这次出手OS时接坚持抛开所有理论和它的束缚。
可以说思路是强实时的。因为它不经过任何切换的过程,只需
对PC和SP的管理。
当不切换时,原路返回。
切换时,保护该任务本次断点的SP,PC,取出需要切换到任务上次断点的SP,PC.
切换需要的就是这么简单的事。
那么如何判断切换呢?
用二叉树组成任务就绪表。(每次切换都自动刷新)
因为每次进入节拍中断时,都要对sleep进行节拍+1来判别是否定时就绪。
由于有sleep二叉树,可以加快和不搜索不需要节拍+1的节点。
当被中断的任务不是任务就绪表表头时,状态自动降级。
此时任务就绪表表头节点内的任务号就是需要切换的任务。
退出判断并散转自动切换到新任务上次的断点。
那么初始化时那个“上次的断点”该是什么呢???
由于菜农任务函数里规定格式隐藏了任务测试。
故提前已经计算好首次需要切换回的“断点”---实际是虚拟的。!!!
这样在任务开始启动工作时,就假定全部任务同时都在任务环的某一固定点!!!!!!!!
这2个假定使所有任务切换的方式都归结为一种(硬件退出也被归化了)
这样首次节拍中断时,全部的任务都在任务循环里了~~~
就先讲到这里,太多大家迷糊。
总之,我讲任务的走向或未来都事先归化好了,这样节拍中断时就不在需要
处理过多的事情。
所以,我准备有时间请教我写vxworks书的教授朋友,hotbios属于什么性质的
OS....
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。