2008925_ucos2精华快速掌握.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008925_ucos2精华快速掌握ppt课件

Operating System 的发展 人工操作:无os,资源独占,利用率低,效率低; 批处理(弹道和多道):磁盘。作业周转长,无交互能力; 分时系统:文件系统,前后台。交互,共享。 ATT公司贝尔实验室的两个计算机迷 Dennis Ritchie 和 Ken Thompson, 首先在 PDP-7 上实现了UNIX系统。(这样他们可在一台无人使用的 DEC PDP-7 小型计算机上玩星际探险游戏); 实时系统:控制,信息处理,及时,可靠; 分布式操作系统:无主从关系,资源共享; … … 80年代开始: WinCE —— Microsoft VxWorks —— WindRiver WinCE 支持针对小内存体积占用进行的优化 :200k “硬”实时内核 :由于支持256个优先级别和嵌套中断 强健的内存管理 :虚拟地址空间从32MB扩展到当前的64MB。另外还支持内存映射文件。这些基于Win32?的文件映射API除了允许数据文件映射到内存当中并建立类似于内存指针的引用之外,还可以用来分配能够在多个进程之间进行共享的内存。 开放的通信平台:TCP/IP ,IPv6 … 远程和系统管理 对标准的支持 广泛的存储和文件系统 …… VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。 μC/OS-Ⅱ是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。抢占式内核。 UClinux则是继承标准Linux的优良特性,针对嵌入式处理器的特点设计的一种操作系统,具有内嵌网络协议、支持多种文件系统,开发者可利用标准Linux先验知识等优势。其编译后目标文件可控制在几百KB量级。无MMU,采用时间片轮番调度算法。 RT_Linux μC/OS-Ⅱ 无操作系统-有操作系统区别 无操作系统 有操作系统 特点: 可靠性 实时性 可裁减性 时钟节拍(Clock Tick) μC/OS是系统心脏的脉动,需要用户提供周期性信号源,用于实现时间延时和确认超时。节拍率应在每秒10次到100次之间,或者说10到100Hz。时钟节拍率越高,系统的额外负荷就越重。时钟节拍的实际频率取决于用户应用程序的精度。时钟节拍源可以是专门的硬件定时器,也可以是来自50/60Hz交流电源的信号。 用户必须在多任务系统启动以后再开启时钟节拍器 OS_TICK_PER_SEC 设定时钟节拍 OSTimeISR() 在每一个时钟节拍时发生中断。 OSTimeTick() void OSTimeTick (void) { #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr; #endif OS_TCB *ptcb; OSTimeTickHook(); /* Call user definable hook */ #if OS_TIME_GET_SET_EN 0 OS_ENTER_CRITICAL(); /* Update the 32-bit tick counter */ OSTime++; OS_EXIT_CRITICAL(); #endif if (OSRunning == TRUE) { ptcb = OSTCBList; /* Poi

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档