流浪的天空
流浪的天空
-
C51内核-原创
2007-10-12
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
10月份开始写,大约1000行代码吧,第一次自己写个,心没有低。 <
http://weblook.blogbus.com/logs/14799657.html
>由于C51内核很小 <
>暂时有:任务调度,任务切换,信号量处理,延时及超时服务,消息邮箱管理。 <
>一定要坚持写完。。。。<
>概念:>> >><
>>> 后 >> >> >>台系统 >> >>应用程序是一个无限的循环循环中调用相应的函数完成相应的操作这部分可以看成后台行为(background).也可以叫做任务级. >> >><
>>> 前台系统 >>中断服务程序处理异步事件这部分可以看成前台行为(foreground).也可以叫做中断级. >><
>>> 代码的临界区 >>指处理时不可分割的代码.一旦这部分代码开始执行则不允许任何中断打入.为确保临界区代码的执行在进入临界区之前要关中断而临界区代码执行完以后要立即开中断. >><
>>> 资源 >>任何为任务所占用的实体都可称为资源.资源可以是输入输出设备例如键盘显示器等.资源也可以是一个变量一个结构或一个数组等. >><
>>> 共享资源 >>可以被一个以上任务使用的资源叫做共享资源.为了防止数据被破坏每个任务在与共享资源大交道时必须独占该资源.这叫做互斥. >><
>>> 多任务 >>多任务运行的实现实际上是靠CPU在许多任务之间的转换调度. >><
>>> 任务 >>一个任务也称为一个线程是一个简单的程序该程序可以认为CPU完全只属于该程序自己.每个任务都是一个无限的循环. >><
>>> 每个任务都处在以下5种状态之一的状态下这5中状态分别是休眠态就绪态运行态挂起态和被中断态. >><
>>> 休眠态 >>相当于该任务驻留在内存中但并不被多任务内核所调度. >><
>>> 就绪态 >>意味着该任务已经准备好可以运行了但由于该任务的优先级比正在运行的任务的优先级低还暂时不能运行. >><
>>> 运行态 >>是指该任务掌握了CPU的控制权正在运行中. >><
>>> 挂起态 >>指该任务在等待等待某一事件的发生. >><
>>> 被中断态 >>发生中断时CPU提供相应的中断服务原来正在运行的任务暂不能运行. >><
>>>文章引用自: >><
>>> >>内核 >> >>多任务系统中内核负责管理各个任务或者说为每个任务分配CPU时间并且负责任务之间的通信.内核提供的基本服务是任务切换.实时内核可以大大简化应用系统的设计它允许将应用分成若干个任务由实时内核来管理他们.(非占先式占先式)<
>>>调度 >> >>是内核的主要职责之一就是决定该论到哪个任务运行了.多数实时内核是基于优先级调度法的.<
>>>任务切换 >> >>当多任务内核决定运行另外的任务时它保存正在运行任务的当前状态即CPU寄存器中的全部内容.这些内容保存在任务的当前状态保存区也就是任务自己的栈区之中.入栈工作完成以后就把下一个将要运行的任务的当前状态从该任务的栈中从新装入CPU的寄存器并开始下一个任务的运行.这个过程就成为任务切换.<
>>>静态优先级 >> >>应用程序执行过程中诸任务优先级不变则称之为静态优先级.在静态优先级系统中诸任务以及它们的时间约束在程序编译时是已知的.<
>>>动态优先级 >> >>应用程序执行过程中任务的优先级是可变的则称之为动态优先级. 随机文章:
证券投资(查看报表) 2008-11-20Linux 启动 2007-09-29system代码 2007-09-27c语言中命令行参数argcargv 2007-09-11C51中RAM的地址分配 2007-09-01
收藏到:Del.icio.us









评论