个人总结,仅供参考,欢迎加好友一起讨论
文章目录
系分 - 操作系统 - 嵌入式
考点摘要
- 嵌入式系统(★)
- 嵌入式系统特点
- 嵌入式系统分类
- 嵌入式微处理器(★)
- 嵌入式微处理器分类
- 嵌入式微处理器体系结构
- 嵌入式操作系统(★★★★)
- 嵌入式操作系统特点
- 嵌入式操作系统分类
- 嵌入式系统开发与设计(★★★)
- 交叉开发环境
- 软硬件协同设计
- 嵌入式软件移植
- 低功耗设计
- 嵌入式数据库
嵌入式系统
嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积和功耗等方面的要求,集可配置可裁减的软、硬件于一体的专用计算机系统。【面向特定领域】
主要由嵌入式硬件平台,相关的嵌入式硬件,嵌入式操作系统,支撑软件以及应用软件所组成。嵌入性、专用性和计算机系统是嵌入式系统的三个核心要素。
嵌入式系统具有以下特点:
- 规模较小。
- 开发难度大。
- 硬件资源有限。
- 嵌入式软件一般涉及到底层软件的开发,需要软、硬件基础。
- 开发环境和运行环境不同。
- 实时性和可靠性要求高。如火箭飞行控制、核电站。
- 要求固化存储。
硬件抽象层,是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,隐藏硬件的多样性,将操作系统与硬件平台隔开,使软硬件的设计与调试可以并行,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
在嵌入式系统中,板级支持包(BSP)是对硬件抽象层的实现,是介于底层硬件和上层软件之间的底层软件开发包,它主要的功能是给上层提供统一接口,同时屏蔽各种硬件底层的差异,以及提供操作系统的驱动、硬件初始化(加载bootloader)和驱动。
例题1:
例题1解析与答案:
答案:C
解析:C
嵌入式系统 - 分类
根据系统对时间的敏感程度可将嵌入式系统划分为:
- 嵌入式系统
- 嵌入式实时系统
- 强实时系统
- 弱实时系统
从安全性要求看,嵌入式系统划分为:
- 安全攸关系统
- 非安全攸关系统
嵌入式微处理器分类
- 嵌入式微控制器(MCU:Micro Controller Unit),又称为单片机,片上外设资源一般比较丰富,适合于控制,特点是体积小从而使功耗和成本下降。
- 嵌入式微处理器(EMPU:Embedded Micro Processing Unit),又称为单板机,由通用计算机中的CPU发展而来,仅保留和嵌入式应用紧密相关的功能硬件。
- 嵌入式DSP处理器(DSP: Digital signal Processor),专门用于信号处理方面的处理器,使用的哈弗体系结构,可以并行执行多个操作,有强大数据处理能力和高运行速度。
- 嵌入式片上系统(Soc),追求产品系统最大包容的集成器件。
- 成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。
- 减小了系统的体积和功耗、提高了可靠性和设计生产效率。
例题2:
例题2解析与答案:
答案:A
解析:MPU并不是适合于运算量较大的智能系统,DSP适合大量运算
嵌入式微处理器体系结构
冯·诺依曼结构
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
特点:
- 一般用于PC处理器,如l3,I5,I7处理器
- 指令与数据存储器合并在一起(程序和数据共用一个存储空间)
- 指令与数据都通过相同的数据总线传输(单一的地址及数据总线)
- 串行执行,在传输上会出现瓶颈
哈佛结构(嵌入式)
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
特点:
- 一般用于嵌入式系统处理器(DSP)
- 指令与数据分开存储,可以并行读取,有较高的数据吞吐率(程序和数据采用不同的存储空间)
- 有4条总线,指令和数据的数据总线与地址总线(独立的地址及数据总线)
- 并行执行,提高速度
例题3:
例题3解析与答案:
答案:B
解析:略
嵌入式操作系统(EOS)
嵌入式操作系统具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:
- 非通用型操作系统,微型化,EOS的运行平台不是通用计算机,而是嵌入式系统
- 代码质量高
- 专业化(处理器专用),高适应性和移植性,支持多种开发平台
- 在性能和实时性方面可能有严格的限制,实时性强
- 能源、成本和可靠性通常是影响设计的重要因素
- 占用资源少
- 可剪裁、可配置
- 硬件与软件结合度高,软硬件依赖强,硬件和软件结合度高
例题4:
例题4解析与答案:
答案:B
解析:“不需要支持多任务”是错误的
嵌入式操作系统 - 分类
按照系统对响应时间的敏感程度,可以分为:
- 硬实时系统,系统对响应时间有严格要求,若响应时间不能满足,是绝对不允
许的,会引起系统的崩溃或致命的错误 - 软实时系统,系统对响应时间有要求,若响应时间不能满足,会带来额外可接
受的代价 - 非实时系统,响应时间没有严格要求。如分时操作系统,基于公平性原则,各进程分享处理器,获得大致相同的运行时间
按软件体系结构,可以分为:
- 单体结构
- 分层结构
- 微内核结构
- 以上3类嵌入式操作系统的差异体现在:
- 内核的设计,内核中包含的功能组件
- 在系统中集成的其他系统软件
实质 | 优点 | 缺点 | |
---|---|---|---|
单体内核 | 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间 | 减少进程间通信和状态切换的系统开销,获得较高的运行效率 | 内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好 |
微内核 | 只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外 | 内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高 可用于分布式系统 | 用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核 |
嵌入式操作系统 - 单体结构
单体结构(Monolithic):是一种常见的组织结构。
- 中间件和设备驱动程序通常集成在系统内核中。
- 系统只有一个可执行文件,包含所有功能组件,功能模块可相互调用。
- 如Linux、Jbed RTOS、μC/OS、PDOS。
嵌入式操作系统 - 分层结构
分层结构(Layered):操作系统被划分为若干个层次,各个层次之间的调用关系是单向的,即某一层次上的代码只能调用比它低层的代码。
嵌入式操作系统 - 微内核结构
微内核结构,也称客户/服务(client/server)结构
在内核中,把操作系统的大部分功能都剥离出去,只保留最核心的功能单元(如进程管理、存储管理)。
如:OS-9、C Executive、VxWorks和QNX等。
嵌入式操作系统 - 实时操作系统(RTOS)
当外界时间或数据产生时,能够接受并以足够快的速度处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
工业控制,军事设备,航空航天等领域对系统的相应时间有苛刻的要求,这就需要使用嵌入式实时系统,能提供及时响应与高可靠性是主要特点。具体分为:
- 硬实时操作系统,在规定时间内必须完成操作
- 软实时操作系统,按照任务优先级完成即可
嵌入式实时操作系统实时性的评价指标:
- 任务切换时间
- 中断处理相关的时间指标
- 中断延迟时间
- 中断响应时间
- 系统响应时间(对用户的输入或请求作出反应的时间)
- 信号量混洗时间(指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟)
嵌入式实时操作系统多任务调度算法:
- 优先级调度算法,分配一个相对固定的优先顺序,然后调度程序根据优先级的高低排序,按时间顺序进行高优先级任务优先调度。(非抢占式)
- 抢占式优先级调度算法,是在优先级调度算法基础上,允许高优先级任务抢占低优先级任务而运行。
- 时间轮转调度算法,调度程序会依次调度每个任务运行一个小的时间片,然后再调度另一个任务。每个任务运行完一个时间片,无论是否结束都会释放CPU让下一个任务运行。(纯粹的时间轮转调度无法满足实时系统的要求,取而代之的是基于优先级的抢占式时间轮转调度)
- 最晚截止期调度算法,指调度程序按每个任务的最接近其截止期末端的时间进行调度。
- 最早截止期调度算法,指调度程序按每个任务的截止期时间,选择最早到截止期头端时间的任务进行调度。
在RTOS中,大多数的RTOS调度算法都是抢占式的。
常见的嵌入式RTOS(实时操作系统,Real-Time Operating System)vxWorks、RT-Linux、QNX、pSOs。
例题5:
例题5解析与答案:
答案:A
解析:RTOS本身就是嵌入式操作系统,所以可以进行配置和裁剪
例题6:
例题6解析与答案:
答案:B
解析:选项A任务之间要考虑实时性,重要的调度要优先
选项C“都采用”错,选项D“只采用”错
例题7:
例题7解析与答案:
答案:C
解析:RTOS本身就是嵌入式操作系统,嵌入式操作系统需要专业化和专用型
嵌入式系统开发与设计 - 交叉开发环境
例题8:
例题8解析与答案:
答案:C
解析:宿主机即用于开发程序的机器,目标机是最终运行程序的机器
宿主机与目标机之间的通信方式不止一种,物理连接和逻辑连接都可以,还可以细分
依据嵌入式开发调试方式的不同,宿主机与目标机之间的连接方式也不同
调试器与被调试程序不一定必须安装在同一台机器上
比如在线仿真法,就是宿主机运行调试器,控制目标机被调试程序
嵌入式系统开发与设计 - 软硬件协同设计
嵌入式系统开发与设计 - 嵌入式软件移植
嵌入式软件设计需要考虑可移植性以保障软件良好的可移植性。
无操作系统的软件移植
有操作系统的软件移植
嵌入式系统开发与设计 - 低功耗设计
嵌入式系统设计一般要考虑功耗问题,低功耗设计是嵌入式系统设计中的难点,是一个系统化的综合问题,必须从软件和硬件两个方面全面考虑:
- 基于硬件的低功耗
- 板级电路低功耗设计
- 选择低功耗处理器
- 总线的低功耗设计
- 接口驱动电路的设计
- 分区分时供电技术
- 基于软件的低功耗
- 编译优化技术
- 软件与硬件的协同设计
- 算法优化
例题9:
例题9解析与答案:
答案:D
解析:略
嵌入式系统开发与设计 - 嵌入式数据库(EDBMS)
嵌入式系统的数据库系统称为嵌入式数据库系统或嵌入式实时数据库系统。
嵌入式数据库管理系统一般只提供本机服务接口,为前端应用提供基本的数据支持。
嵌入式系统的数据库系统也称为移动式数据库或者嵌入式移动数据库。它存在的目的就是解决移动计算环境下的数据管理问题。移动数据库是移动计算环境中的分布式数据库。
在嵌入式系统中引入数据库的原因:
- 所有的应用都需要重复的进行数据的管理工作
- 各应用之间的数据共享性能
- 应用软件的独立性,可移植性差,可重用性低
嵌入式数据库使用环境的特点:
- 设备随时的移动性
- 网络频繁断接
- 网络条件多样化
- 通信能力不对称
市场上常见的嵌入式数据库:
- Berkeley DB(开源,商用收费,支持让数千的并发线程同时操作数据)
- SQLite(开源,商用免费)
- Empress(商业数据库)
- eXtremeDB(嵌入式内存数据库,针对实时系统进行了优化)
例题10:
例题10解析与答案:
答案:C
解析:略
微内核
微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口。
微内核:尽可能把内核做的小一点。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成。这些原语仅仅包括了建立一个系统所需的几个部分。微内核的目标是将系统服务的实现和系统的基本操作规则分离开来。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其他的部分。
微内核系统十分适用于嵌入式的专用系统,对于通用性较广的系统,将使CPU的通信开销量变大,从而影响运行速度。
微内核技术的主要优点:统一的接口,可伸缩性好,实时性好,可移植性好,安全可靠性高,支持分布式系统,真正面向对象的操作系统。
微内核技术 | 描述 |
---|---|
统一的接口 | 在用户态和核心态之间无须进程识别 |
可伸缩性好 | 能适应硬件更新,应用变化 |
实时性好 | 微内核可以方便的支持实时处理 |
安全可靠性高 | 微内核将安全设计作为系统内部特征来进行设计,对外仅适用少量应用编程接口 |
支持分布式系统 | 支持多处理器的体系结构和高度并行的应用程序 |
真正面向对象 | 真正面向对象的操作系统 |
可移植性好 | 所有与机器相关的代码,全部隔离在微内核中,如果要移植的话只需要改少部分代码 |
实时性好
微内核可以方便的支持实时处理
安全可靠性高
微内核将安全设计作为系统内部特征来进行设计,对外仅适用少量应用编程接口
支持分布式系统
支持多处理器的体系结构和高度并行的应用程序
真正面向对象
真正面向对象的操作系统
可移植性好
所有与机器相关的代码,全部隔离在微内核中,如果要移植的话只需要改少部分代码