zoukankan      html  css  js  c++  java
  • simpleOS 1.0

    做了一个so simple的OS,本不好意思多说的。。。。不过还是说下吧。

    首先,买不起开发板的我没有办完完成一件事,那就是保存任务上下文,因为这个过程实际上是将寄存器的值存放到任务堆栈中去的。

    而要想实现,因为要访问寄存器,所以这个需要用到汇编代码,本机window显然没法模拟。

    (有时间研究下Linux或者买个开发板看看能不能解决)

    所以,最后的实现结果,实际上是每次选择优先级最高的任务去完成,这样就不存在抢占的问题了,不复杂。

    大致为OSTaskCreate()创建任务,OSTaskDel()删除任务,OSSched()调度程序,OSTaskIdle()空闲任务,OSInit()操作系统初始化。

    OSSched()选择优先级最高的任务,如何快速选择?uC/OS中的方法是个不错的选择:

    http://www.cnblogs.com/gylei/archive/2012/05/31/2528776.html

    好了剩下的就不复杂了,具体见代码吧:

    View Code

     

  • 相关阅读:
    【MySQL】自增步长调整
    【Python】异常
    【Python】单例模式
    rabbitMQ-server 下载地址
    函数(六)---内置函数
    # python04---函数
    python02---基础数据类型
    0001-代码仓库-git 命令
    0001-代码仓库-mvn
    腾讯短信接口使用
  • 原文地址:https://www.cnblogs.com/zhazhalovecoding/p/5403932.html
Copyright © 2011-2022 走看看