调度器的介绍
来源:互联网 发布:淘宝售后差评回复 编辑:程序博客网 时间:2024/05/18 18:21
调度器:
一方面,调度器可以看作是一个简单的操作系统,允许以周期性或(更少见)单次方式来调用任务
从底层的角度看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序,因此,只需要初始化一个定时器,而且改变定时的时候通常只需要改变一个函数。此外,无论需要运行1个、10个还是100个不同的任务,通常都可以使用同一个调度器完成。注意,这种“共用中断服务程序”与桌面操作系统提供的共用打印功能非常类似。
合作式调度器:
合作式调度器不但可靠而且可预测的主要原因是在任一时刻只有一个任务是活动的。
抢占式调度器:
混合式调度器:
这里面一个关键性问题就是如何解决不可重入函数:
a、修改或读取变量(尤其是用于任务间通信的全局变量)
b、操作单片机端口等硬件接口的代码(volatile类型修饰符的使用)
c、调用公共函数的代码,例如,如果同一个函数同时被多个任务调用
当然这里C的问题归根到底还是A的问题,只要这个函数是可重入函数,都肯定没有问题。
第一个问题的解决方法,最容易想到的是在开始访问共享资源的时候,禁止调度器。但这也是不能完全解决这个问题,因为你不能保证访问共享资源和禁止调度器之间不会发生中断,该中断恰好正要访问这个端口。
可以考虑在访问共享资源之前就禁止调度器,这样就可以解决这个问题,但一旦调度器停止,整个时基就停止了,如果这个端口访问很频繁,调度器不断的停止,对于整个系统的运行影响会非常的大。
- 调度器的介绍
- MySQL的事件调度器使用介绍
- IO调度器原理介绍
- IO调度器原理介绍
- 调度器学习笔记四:fpfsm调度器介绍
- Android进程调度cgroups的简单介绍
- Android进程调度cgroups的简单介绍
- 调度算法的介绍及优缺点
- Linux2.6内核调度器介绍
- Quartz调度器(定期执行)使用介绍
- Linux IO调度器相关算法介绍
- Linux内核中的IO调度器介绍
- cocos2d-x 调度器(scheduler)介绍
- Hadoop的调度器
- 调度器的理解
- 调度器的实现
- Hadoop的调度器
- 调度器的使用
- 测试用例设计
- Linux常用命令
- 关于元件2801-4与MAX604项目延展使用理解
- linux 嵌入式学习步骤
- DataGridView 中动态加入ComboBox
- 调度器的介绍
- 《Regular Expression Cookbook》学习笔记——单词、文本行和特殊字符
- java能不能引领一个新的时代?
- 过滤器的简介和简单应用(禁止缓存,设置中文乱码等)
- Javascript 操作XML
- POJ2449 K短路
- 6条建议帮助你开发优秀Web应用程序
- Android Activity和Intent机制学习笔记
- 从数据库中随机查询记录,使用JOIN比使用WHERE的效率要好