个人总结,仅供参考,欢迎加好友一起讨论
嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积和功耗等方面的要求,集可配置可裁减的软、硬件于一体的专用计算机系统。【面向特定领域】
主要由嵌入式硬件平台,相关的嵌入式硬件,嵌入式操作系统,支撑软件以及应用软件所组成。嵌入性、专用性和计算机系统是嵌入式系统的三个核心要素。
嵌入式系统具有以下特点:
硬件抽象层,是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,隐藏硬件的多样性,将操作系统与硬件平台隔开,使软硬件的设计与调试可以并行,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
在嵌入式系统中,板级支持包(BSP)是对硬件抽象层的实现,是介于底层硬件和上层软件之间的底层软件开发包,它主要的功能是给上层提供统一接口,同时屏蔽各种硬件底层的差异,以及提供操作系统的驱动、硬件初始化(加载bootloader)和驱动。
例题1:
例题1解析与答案:
答案:C
解析:C
根据系统对时间的敏感程度可将嵌入式系统划分为:
从安全性要求看,嵌入式系统划分为:
例题2:
例题2解析与答案:
答案:A
解析:MPU并不是适合于运算量较大的智能系统,DSP适合大量运算
冯·诺依曼结构
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
特点:
哈佛结构(嵌入式)
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
特点:
例题3:
例题3解析与答案:
答案:B
解析:略
嵌入式操作系统具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:
例题4:
例题4解析与答案:
答案:B
解析:“不需要支持多任务”是错误的
按照系统对响应时间的敏感程度,可以分为:
按软件体系结构,可以分为:
实质 | 优点 | 缺点 | |
---|---|---|---|
单体内核 | 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间 | 减少进程间通信和状态切换的系统开销,获得较高的运行效率 | 内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好 |
微内核 | 只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外 | 内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高 可用于分布式系统 | 用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核 |
单体结构(Monolithic):是一种常见的组织结构。
分层结构(Layered):操作系统被划分为若干个层次,各个层次之间的调用关系是单向的,即某一层次上的代码只能调用比它低层的代码。
微内核结构,也称客户/服务(client/server)结构
在内核中,把操作系统的大部分功能都剥离出去,只保留最核心的功能单元(如进程管理、存储管理)。
如:OS-9、C Executive、VxWorks和QNX等。
当外界时间或数据产生时,能够接受并以足够快的速度处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
工业控制,军事设备,航空航天等领域对系统的相应时间有苛刻的要求,这就需要使用嵌入式实时系统,能提供及时响应与高可靠性是主要特点。具体分为:
嵌入式实时操作系统实时性的评价指标:
嵌入式实时操作系统多任务调度算法:
在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
解析:略
嵌入式系统的数据库系统称为嵌入式数据库系统或嵌入式实时数据库系统。
嵌入式数据库管理系统一般只提供本机服务接口,为前端应用提供基本的数据支持。
嵌入式系统的数据库系统也称为移动式数据库或者嵌入式移动数据库。它存在的目的就是解决移动计算环境下的数据管理问题。移动数据库是移动计算环境中的分布式数据库。
在嵌入式系统中引入数据库的原因:
嵌入式数据库使用环境的特点:
市场上常见的嵌入式数据库:
例题10:
例题10解析与答案:
答案:C
解析:略
微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口。
微内核:尽可能把内核做的小一点。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成。这些原语仅仅包括了建立一个系统所需的几个部分。微内核的目标是将系统服务的实现和系统的基本操作规则分离开来。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其他的部分。
微内核系统十分适用于嵌入式的专用系统,对于通用性较广的系统,将使CPU的通信开销量变大,从而影响运行速度。
微内核技术的主要优点:统一的接口,可伸缩性好,实时性好,可移植性好,安全可靠性高,支持分布式系统,真正面向对象的操作系统。
微内核技术 | 描述 |
---|---|
统一的接口 | 在用户态和核心态之间无须进程识别 |
可伸缩性好 | 能适应硬件更新,应用变化 |
实时性好 | 微内核可以方便的支持实时处理 |
安全可靠性高 | 微内核将安全设计作为系统内部特征来进行设计,对外仅适用少量应用编程接口 |
支持分布式系统 | 支持多处理器的体系结构和高度并行的应用程序 |
真正面向对象 | 真正面向对象的操作系统 |
可移植性好 | 所有与机器相关的代码,全部隔离在微内核中,如果要移植的话只需要改少部分代码 |
实时性好
微内核可以方便的支持实时处理
安全可靠性高
微内核将安全设计作为系统内部特征来进行设计,对外仅适用少量应用编程接口
支持分布式系统
支持多处理器的体系结构和高度并行的应用程序
真正面向对象
真正面向对象的操作系统
可移植性好
所有与机器相关的代码,全部隔离在微内核中,如果要移植的话只需要改少部分代码