登录 注册
当前位置:主页 > 资源下载 > 50 > 存储设备维护手册 - EMC DataDomain 2500 内核结构

存储设备维护手册 - EMC DataDomain 2500 内核结构

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

资源介绍

第3章 内核结构 本章给出μC/OS-Ⅱ的主要结构概貌。读者将学习以下一些内容; l μC/OS-Ⅱ是怎样处理临界段代码的; l 什么是任务,怎样把用户的任务交给μC/OS-Ⅱ; l 任务是怎样调度的; l 应用程序 CPU的利用率是多少,μC/OS-Ⅱ是怎样知道的; l 怎样写中断服务子程序; l 什么是时钟节拍,μC/OS-Ⅱ是怎样处理时钟节拍的; l μC/OS-Ⅱ是怎样初始化的,以及 l 怎样启动多任务; 本章还描述以下函数,这些服务于应用程序: l OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL(), l OSInit(), l OSStart(), l OSIntEnter() 和 OSIntExit(), l OSSchedLock() 和 OSSchedUnlock(), 以及 l OSVersion(). 3.0 临界段(Critical Sections) 和其它内核一样,μC/OS-Ⅱ为了处理临界段代码需要关中断,处理完毕后再开中断。 这使得μC/OS-Ⅱ能够避免同时有其它任务或中断服务进入临界段代码。关中断的时间是实 时内核开发商应提供的最重要的指标之一,因为这个指标影响用户系统对实时事件的响应 性。μC/OS-Ⅱ努力使关中断时间降至最短,但就使用μC/OS-Ⅱ而言,关中断的时间很大程 度上取决于微处理器的架构以及编译器所生成的代码质量。 微处理器一般都有关中断/开中断指令,用户使用的 C语言编译器必须有某种机制能够 在 C中直接实现关中断/开中断地操作。某些 C编译器允许在用户的 C源代码中插入汇编语 言的语句。这使得插入微处理器指令来关中断/开中断很容易实现。而有的编译器把从 C语 言中关中断/开中断放在语言的扩展部分。μC/OS-Ⅱ定义两个宏(macros)来关中断和开中 断,以便避开不同 C编译器厂商选择不同的方法来处理关中断和开中断。μC/OS-Ⅱ中的这 两个宏调用分别是:OS_ENTER_CRITICAL()和 OS_EXIT_CRITICAL()。因为这两个宏的定义取 决于所用的微处理器,故在文件 OS_CPU.H中可以找到相应宏定义。每种微处理器都有自己 的 OS_CPU.H文件。 3.1 任务 一个任务通常是一个无限的循环[L3.1(2)],如程序清单 3.1所示。一个任务看起来像 其它 C的函数一样,有函数返回类型,有形式参数变量,但是任务是绝不会返回的。故返回 参数必须定义成 void[L3.1(1)]。