- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 嵌入式操作系统
嵌入式操作系统是相对于其他PC操作系统而言的,是嵌入式系统设计的灵魂,它的出现大大提高了嵌入式系统开发的效率。在嵌入式开发中,操作系统不仅极大地减少了系统开发的工作总量,而且提高了嵌入式系统软件的可移植性。
近10年来,嵌入式操作系统得到了飞速的发展,从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多种品种的微处理器芯片;从只有内核到除了内核还提供其它功能模块,如文件系统、TCP/IP网络系统和窗口图形系统等。目前,实时嵌入式操作系统的种类繁多,大体上可分为两种——商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵;免费型的实时操作系统在价格方面则具有较大优势。
本章从操作系统的基本概念出发,讲解了操作系统中进程、任务、内核、调度、通信、同步等概念及嵌入式实时操作系统相应特点。针对当前实际应用情况,详细讲解了最为流行,应用最为广泛的几款嵌入式实时操作系统的结构、特点及其移植方法。其中包括免费型的μC/OS-Ⅱ,μCLinux,以及商用型的WinCE。
4.1 操作系统的基本概念
4.1.1 操作系统的结构和功能
为了满足嵌入式应用,嵌入式实时操作系统可以根据实际应用环境的要求对内核进行裁剪和重新配置。一般的,实时操作系统总是由以下几个重要部分组成:实时内核、网络组件、文件系统和图形用户接口等,其体系结构如图4.1所示。
图4.1 嵌入式实时操作系统的体系结构
从图4-1中可以看出,除了任务管理、任务调度,操作系统还提供大量其他的服务。嵌入式操作系统相对于一般操作系统而言,常常只包括操作系统的内核(或微内核),其他诸如网络模块、图形用户接口、通信协议等模块,可以根据实际需求另外选择。大多数嵌入式操作系统一般必须提供多任务管理、内存管理和外围资源(如I/O设备、通信端口)管理等功能。
4.1.2 多进程和多线程
许多嵌入式系统并不是单纯的完成一种功能。例如,在一个电话机应答系统中,需要把记录通话信息和操作用户控制面板定义为不同的任务,因为它们不仅在逻辑上进行的是不同的操作,而且完成的速度也不同。这些不同的任务构成了应答机系统功能的各个部分,为了完成多个任务,满足组织程序结构的需要,引入了进程的概念。
一个进程可以简单地认为是一个程序的唯一执行。进程是顺序执行的,而且CPU一次只能执行一个进程。但是,当确定了一个进程的完整状态后,就可以强制CPU停止执行当前进程而执行另一个进程。通过改变CPU中的程序计数器,使其指向新进程的代码,同时将新进程的数据移入寄存器和主存中,就可以实现进程的切换。这样,就能够使多个进程同时存在于CPU中。
在嵌入式系统中,一个进程的常用形式是线程(如图4.2所示)。线程在CPU的寄存器中有各自不同的值集合,但是共存于一个主存储空间中。线程普遍应用于嵌入式系统中(即任务),这样可以避免存储管理单元的复杂,节约存储单元的消耗。
图4.2 进程与线程的关系
4.1.3 任务
在嵌入式系统中,一个任务也称作一个线程,是一个程序,该程序在运行时可以认为CPU完全只属于该程序自己。在实时应用程序的设计过程中,要考虑如何将应用功能合理地划分为多个任务,让每个任务完成一定的功能,成为整个应用的一部分。每个任务都被赋予一定的优先级,有自己的一套CPU寄存器和栈空间(如图4.3所示)。
每一个任务都有其优先级,任务越重要,赋予的优先级越高。就大多数内核而言,任务的优先级由用户决定。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。相应的,应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级。
一般的,每一个任务都是一个无限的循环,可以处在如图4.4所示的五种状态之一。
1)休眠态(Dormant):是指任务驻留在内存的程序空间中,并未被多任务内核所调度。
2)就绪态(Ready):是指任务已经准备好,可以运行,但是由于该任务的优先级比正在运行的任务的优先级低,还是暂时不能运行。
3)运行态(Running):是指任务获得了CPU的控制权,正在运行中。基于优先级调度的实时内核总是让处于就绪状态的优先级最高的任务运行。
4)挂起态(Pending):也叫做等待事件态(Waiting),是指任务在等待某一事件的发生(如等待某外设的I/O操作、等待定时脉冲的到来、等待超时信号的到来以结束目前的等待,等等)。正在运行的任务由于调用了延时函数或等待某事件发生而将自身挂起,就处于挂起态。
图4.3 多任务堆栈与CPU寄存器
图4.4 任务状态转换图
5)被中断态(Interrupt):是指发生中断时,CPU提
您可能关注的文档
最近下载
- EN_IEC_60034-14-2018 旋转电机 - 第 14 部分:轴高 56 mm 及以上的某些机器的机械振动 - 振动严重程度的测量、评估和限制 (IEC 60034-14-2018).pdf VIP
- 提高PICC导管维护规范率..pptx
- Module 1 Wonders of the world Unit 1课件-外研九上(含音频+视频).pptx VIP
- 职业病诊断医师资格考试试题带答案.docx VIP
- 大学试题《工业通风与除尘》考试题库无答案.doc VIP
- 本科十四五教材针灸治疗学呃逆PPT课件.pptx VIP
- 中药材产业发展情况调研报告-中药材产业发展存在的问题及对策建议.pdf VIP
- T/CASEI62001—2019 起重机械 安全状况评估.pdf VIP
- ISO9001:2015质量管理体系标准培训.pptx VIP
- (2025秋新版)教科版科学三年级上册全册PPT课件.pptx
文档评论(0)