《时间触发嵌入式系统设计模式 8051系列微控制器开发可靠应用》 之调度器
来源:互联网 发布:解决sql注入问题 编辑:程序博客网 时间:2024/04/29 05:54
2011-08-07
什么是调度器?
可以从两种角度来看调度器
1 一方面,调度器可以看作是一个简单的操作系统,允许以周期性或(更少见)单次方式来调用任务。
2 从底层角度来看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序。因此,只需初始化一个定时器,而且改变定时的时候通常只需改变一个函数。此外,无论需要运行一个、10个还是100个不同的任务,通常都可以使用一个调度器完成。注意,这种“共享中断服务程序”与桌面操作系统提供的共享打印功能非常类似。
源程序清单13.6 使用一个调度器来(以不同的时间间隔)运行三个周期性任务
什么是调度器?
可以从两种角度来看调度器
1 一方面,调度器可以看作是一个简单的操作系统,允许以周期性或(更少见)单次方式来调用任务。
2 从底层角度来看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序。因此,只需初始化一个定时器,而且改变定时的时候通常只需改变一个函数。此外,无论需要运行一个、10个还是100个不同的任务,通常都可以使用一个调度器完成。注意,这种“共享中断服务程序”与桌面操作系统提供的共享打印功能非常类似。
例如:源程序清单13.6展示了如何使用调度器来调度源程序清单13.5中的三个任务。
void main(void){ //设置调度器一次 SCH_Init(); //增加任务(1ms时标间隔) //Function_A 将每隔2ms运行一次 SCH_Add_Task(Function_A,0,2); //Function_B 将每隔10ms运行一次 SCH_Add_Task(Function_B,1,10); //Function_C 将每隔2ms运行一次 SCH_Add_Task(Function_C,3,15); SCH_Start(); while(1) { SCH_Dispatch_Tasks(); }}
源程序清单13.6 使用一个调度器来(以不同的时间间隔)运行三个周期性任务
- 《时间触发嵌入式系统设计模式 8051系列微控制器开发可靠应用》 之调度器
- 存储器问题 ---- 时间触发嵌入式系统设计模式
- 改进型时间触发嵌入式系统编程模式
- 改进型时间触发嵌入式系统编程模式
- 读书笔记 -- 《时间触发嵌入式系统设计模式》 --- Part A_硬件基础
- 读书笔记 -- 《时间触发嵌入式系统设计模式》 --- Part B_软件基础
- 时间触发调度器
- 时间触发系统调度器思想LED闪烁简例
- iOS 开发 多线程详解之GCD应用延迟操作,单例设计模式,调度组
- 嵌入式常用算法:时间触发下的嵌入式软件设计模式
- 嵌入式系统之实时系统调度算法
- linux系统调度之时间
- 设计模式在嵌入式媒体播放器开发中的应用
- 时间片轮转调度在微控制器C8051F020中的实现及应用
- 测试驱动开发系列之二--嵌入式系统TDD策略
- 时间触发和状态机思想的嵌入式系统
- linux嵌入式系统开发之看门狗----应用篇。
- 嵌入式系统用户接口设计之裸机界面开发(一)
- 淘宝海量数据产品技术架构
- Objective-C语法快速参考
- Omni-NFS-X Windows与Linux间通讯的另一种方式
- jqGrid的编辑——基础知识
- 函数库学习入门指引
- 《时间触发嵌入式系统设计模式 8051系列微控制器开发可靠应用》 之调度器
- 美国50州的纪念币收齐了!
- MST Kruskal普遍实现
- 来,来,来聪明的小孩
- POJ 3522 Slim Span
- 由Map的复制问题引发对深复制和浅复制的思考
- 一道ACM题目的反思
- 读C++ Primer 之 句柄类
- MFC 编写自己的特色启动窗体...........