- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第13章 嵌入式操作系统 * * 13.1嵌入式操作系统的发展 13.1.1 无操作系统阶段 13.1.2 简单操作系统阶段 13.1.3 实时操作系统阶段 13.1.4 面向Internet阶段 * * 13.1嵌入式操作系统的发展 嵌入式操作系统的发展经历了从无到有,从实时到面向Internet的四个阶段,其演变过程如下图所示,可以看到其从最简单的“核(Kernel)+应用(Application)”结构逐步演变到了带网络(Networking)、文件系统(File System)、Java虚拟机(Java)等复杂结构。 * * 13.1.1 无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、控制、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言或者C语言等对硬件进行直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用嵌入式处理器芯片来执行一些单线程的程序,因此严格地说还谈不上系统的概念。 这个阶段的软件结构可以分为如下左图所示结构的简单轮询(Round-Robin)和如下右图所示的带中断轮询结构两大类。 * * 13.1.2 简单操作系统阶段 20世纪80年代,随着微电子工艺水平的提高,芯片制造商开始把嵌入式应用中所需要的处理器、I/O接口、串行接口以及RAM和ROM等部件统统集成到一片芯片中,随着硬件性能的提升,系统的功能日益复杂,开始出现多任务的需求,此时就出现一些简单的“操作系统”,这些简单的操作系统通常只包括负责多任务处理、执行任务创建和初始化、任务调度、存储时钟和中断管理的内核(Kernel),仅仅实现了任务调度、任务间通信和中断管理等最基本的功能,以多个并发的任务(Task)来取代主循环。 此时的操作系统是监控式的,嵌入式系统的软件是监控式操作系统和应用软件的结合,其本质是由多个任务、多个中断服务子程序和操作系统组成的有机整体,操作系统通过任务调度和任务切换来保证任务的并行运行,各个任务之间以及任务与终端服务程序之间的通信、同步和互斥也需要操作系统的介入,其增加了系统的硬件开支,但是降低了用户软件开发的难度,并且可以保证系统的实时性和可维护性,其典型实例是在下一章(第十四章)中将要介绍μC/OS-II操作系统。 * * 13.1.3 实时操作系统阶段 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(Real Time OS,RTOS),并开始成为嵌入式系统的主流。 * * 13.1.4 面向Internet阶段 21世纪是一个网络的时代,随着网络技术的发展,其和嵌入式系统结合日益紧密,包括iOS、Android(安卓)、嵌入式Linux等操作系统迅速发展,为嵌入式系统提供了网络支持,在嵌入式系统软件部分形成了通用嵌入式操作系统和应用软件结合的结构。 在这个阶段出现了中间件软件(middleware),这是除了操作系统内核、设备驱动程序和应用软件之外的系统软件,其是一种独立的系统软件或服务程序,应用软件可以借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件,相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。中间件用户可以在获得相对稳定的应用软件开发和运行环境的同时减轻开发难度并减少工作量,并且当底层的软硬件发生变化的时候依然能保证应用软件的稳定,常见的中间件软件包括Java虚拟机中间件、数据库访问中间件等。 此时嵌入式系统上的开发已经需要在开发主机上使用交叉编译环境来进行,所以在开发主机上还需要运行大量的支撑软件,这些软件用于辅助设计和进行测试,通常包括系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理工具,而在调试阶段嵌入式目标系统上也会运行一些开发工具的代理程序。 * * 13.2嵌入式操作系统的特点和分类 13.2.1 嵌入式操作系统的特点 13.2.2 嵌入式操作系统的分类 * * 13.2.1嵌入式操作系统的特点 和通用操作系统相比,嵌入式操作系统除了具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点: 可装卸性,嵌入式操作系统具有开放性、可伸缩性的体系结构,可以比较方便的添加或者删除组
您可能关注的文档
- 嵌入式Linux C语言程序设计基础教程第8章 函数.ppt
- 嵌入式Linux C语言程序设计基础教程第9章 用户自定义数据类型.ppt
- 嵌入式Linux C语言程序设计基础教程第10章 嵌入式C语言的高级用法.ppt
- 嵌入式Linux C语言程序设计基础教程第11章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第1章 嵌入式linuxC语言开发工具.ppt
- 嵌入式Linux C语言开发第3章 嵌入式Linux C高级用法.ppt
- 嵌入式Linux C语言开发第4章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第5章 嵌入式Linux文件操作.ppt
- 嵌入式Linux C语言开发第6章 嵌入式Linux进程和线程编程.ppt
- 嵌入式Linux C语言开发第7章 网络通讯相关的C语言应用.ppt
文档评论(0)