登录 注册
当前位置:主页 > 资源下载 > 50 > 初始化统计任务的指南 - EMC DataDomain 2500 存储设备维护手册

初始化统计任务的指南 - EMC DataDomain 2500 存储设备维护手册

  • 更新:2024-11-04 13:52:50
  • 大小:4.33MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:OS - 操作系统
  • 格式:PDF

资源介绍

图 F3.4统计任务的初始化 TaskStart()负责初始化和启动时钟节拍[图 F3.4(5)]。在这里启动时钟节拍是必要的,因 为用户不会希望在多任务还没有开始时就接收到时钟节拍中断。接下去 TaskStart()调用统 计初始化函数 OSStatInit()[图 F3.4(6)]。统计初始化函数 OSStatInit()决定在没有其 它应用任务运行时,空闲计数器(OSIdleCtr)的计数有多快。奔腾 II 微处理器以 333MHz 运行时,加 1操作可以使该计数器的值达到每秒 15,000,000次。OSIdleCtr的值离 32位计 数器的溢出极限值 4,294,967,296还差得远。微处理器越来越快,用户要注意这里可能会是 将来的一个潜在问题。 系统统计初始化任务函数OSStatInit()调用延迟函数OSTimeDly()将自身延时2个时钟 节拍以停止自身的运行[图 F3.4(7)]。这是为了使 OSStatInit()与时钟节拍同步。μC/OS- Ⅱ然后选下一个优先级最高的进入就绪态的任务运行,这恰好是统计任务 OSTaskStat()。 读者会在后面读到 OSTaskStat()的代码,但粗看一下,OSTaskStat()所要做的第一件事就 是查看统计任务就绪标志是否为“假”,如果是的话,也要延时两个时钟节拍[图 F3.4(8)]。 一定会是这样,因为标志 OSStatRdy 已被 OSInit()函数初始化为“假”,所以实际上 DSTaskStat也将自己推入休眠态(Sleep)两个时钟节拍[图 F3.4(9)]。于是任务切换到空