【愚公系列】软考高级-架构设计师 035-嵌入式系统
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
嵌入式系统是一种特定类型的计算机系统,它通常被嵌入在更大的电子或机械系统中,用于控制、监控或执行特定功能。与通用计算机系统不同,嵌入式系统的设计目标是满足特定应用领域的需求,通常对系统的性能、功耗、尺寸和成本有着严格的要求。
嵌入式系统通常由以下几个部分组成:
-
处理器(CPU):通常是针对嵌入式应用设计的低功耗、高性能的处理器,如微控制器(Microcontroller)或嵌入式处理器(Embedded Processor)。
-
存储器(Memory):包括随机存储器(RAM)和只读存储器(ROM),用于存储程序代码、数据和系统配置。
-
输入/输出(I/O)设备:用于与外部世界进行通信和交互,如传感器、执行器、显示器、键盘等。
-
嵌入式软件:专门设计用于嵌入式系统的软件,包括操作系统、驱动程序、应用程序等。
嵌入式系统广泛应用于各个领域,包括但不限于:
- 消费电子:如智能手机、数码相机、家用电器等。
- 工业自动化:如机器人、数控机床、工业机器人等。
- 汽车电子:如车载娱乐系统、车辆控制系统、驾驶辅助系统等。
- 医疗设备:如医疗监测设备、医疗成像设备、植入式医疗器械等。
- 航空航天:如飞行控制系统、导航系统、通信系统等。
嵌入式系统的设计和开发需要考虑到特定应用领域的要求,包括性能、功耗、实时性、可靠性和安全性等方面。因此,嵌入式系统工程师通常需要具备深厚的硬件和软件知识,以及对特定领域的深入了解。
🚀一、嵌入式系统
🔎1.嵌入式系统的组成和特性
嵌入式系统的组成包括嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件。这些系统通常具备以下特性:
- 专用性强:针对特定应用需求设计,将通用 CPU 中的任务集成在芯片内部,有利于系统小型化。
- 技术融合:结合先进的计算机、通信、半导体和电子技术,成为一个技术密集、资金密集、不断创新的系统。
- 软硬一体、软件为主:软件是主体,具备 IP 核,硬件和软件都可以高效设计,提高性能。
- 资源较少:由于通常只完成少数任务,使用资源较少,成本低,结构简单。
- 程序固化:为提高执行速度和系统可靠性,程序代码存储在非易失存储器中,而非磁盘。
- 需专门开发工具和环境:嵌入式系统本身不具备开发能力,需开发工具和环境进行开发。
- 体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
- 高安全性和可靠性要求。
🔎2.嵌入式系统分类
-
嵌入式系统的分类:
- 按用途划分:嵌入式系统分为嵌入式实时系统和嵌入式非实时系统。实时系统可分为强实时系统和弱实时系统。从安全性要求看,嵌入式系统还可分为安全攸关系统和非安全攸关系统。
-
嵌入式系统的分层结构:
- 硬件层:提供运行支撑的硬件环境,包括微处理器、存储器(ROM、SDRAM、Hash等)、I/O接口(A/D、D/A、I/O等)、通用设备、总线、电源、时钟等。
- 抽象层:位于硬件层和软件层之间,实现对硬件的抽象,为上层应用(操作系统)提供虚拟的硬件资源。板级支持包(BSP)是一种硬件驱动软件,面向硬件层的硬件芯片或电路进行驱动,为上层操作系统提供对硬件进行管理的支持。
- 操作系统层:包括嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可配置模块组成。
- 中间件层:位于操作系统之上,管理计算机资源和网络通信,是连接两个独立应用的桥梁。
- 应用层:嵌入式系统的具体应用层,包括不同的应用软件。
这些层次之间的分工清晰,有助于嵌入式系统的设计、开发和维护。
🔎3.嵌入式数据库系统EDBMS
🦋3.1 使用环境的特点:
-
设备随时移动性:
- 嵌入式数据库主要应用于移动信息设备,这些设备的位置通常随着用户移动而变化。
-
网络频繁断接:
- 由于移动设备的使用环境和位置变化频繁,以及受到电源和网络条件的影响,设备通常不持续保持网络连接,而是经常间歇性断开和重新连接。
-
网络条件多样化:
- 移动信息设备由于位置频繁变化,可能会通过不同的网络系统与数据库服务器连接,这些网络在带宽、通信代价、网络延迟和QoS(服务质量)等方面可能存在差异。
-
通信能力不对称:
- 受到移动设备资源限制,移动设备的网络通信能力通常与服务器之间是非对称的。特别是移动设备的发送能力受限,导致下行通信(从服务器到设备)带宽与上行通信(从设备到服务器)带宽存在显著差异。
🦋3.2 系统组成:
-
主数据库:
- 存储数据的核心数据库,为系统提供主要的数据存储和管理功能。
-
同步服务器:
- 管理移动设备与主数据库之间的数据同步,确保数据一致性和最新状态。
-
嵌入式数据库:
- 部署在移动设备上的数据库,支持设备在离线或网络条件不佳的情况下独立运行。
-
连接网络:
- 负责嵌入式数据库与同步服务器或主数据库之间的数据通信。
🦋3.3 关键问题解决:
- 数据一致性(复制性):确保数据在主数据库和嵌入式数据库之间保持同步和一致。
- 高效的事务处理:在移动和变化的网络条件下,保持事务的稳定性和效率。
- 数据安全性:保护数据免受未授权访问和其他安全威胁。
这种系统的设计和实现需要考虑移动环境的特殊要求和挑战,以确保数据的可靠性和系统的稳定性。
🔎4.嵌入式操作系统EOS
嵌入式操作系统(EOS)与通用操作系统相比的主要特点:
-
微型化:
- EOS 主要运行在嵌入式系统上,这些系统通常配备有限的内存,且几乎没有外部存储设备。因此,EOS 需要设计得尽可能小巧,以占用最少的系统资源。
-
代码质量高:
- 在嵌入式应用中,存储空间仍是一种宝贵资源。这要求 EOS 的程序代码必须高质量、高效率,并尽量精简,以减少对存储空间的占用。
-
专业化:
- 嵌入式系统的硬件平台多样化,且处理器的更新迭代速度快。每种处理器通常都是为特定的应用领域专门设计的。因此,EOS 必须具备良好的适应性和移植性,支持多种开发平台。
-
实时性强:
- 嵌入式系统广泛应用于要求实时响应的领域,如过程控制、数据采集、通信和多媒体信息处理等。因此,强实时性是 EOS 的重要特点之一。
-
可裁减和可配置:
- 鉴于应用的多样性,EOS 需要具有较强的适应能力,能够根据应用的具体特点和需求进行灵活的配置和合理的裁剪。这样可以更好地满足对微型化和专业化的要求。
这些特点共同定义了嵌入式操作系统的独特性,使其能够有效地服务于特定的、资源受限的嵌入式系统环境。
🔎5.嵌入式实时操作系统
🦋5.1 嵌入式实时系统的特性:
- 完全嵌入性:该系统完全嵌入在受控器件内部,为特定应用而设计。
- 可预测性:在系统运行前,其功能、响应特性和执行结果是可预测的。
- 确定性:系统在给定的初始状态和输入条件下,能在确定的时间内给出确定的结果。
🦋5.2 实时操作系统(RTOS)的特点
- 及时响应与高可靠性:RTOS 能够在外界事件或数据产生时迅速接受并处理,且处理结果能够在规定时间内控制生产过程或做出快速响应。系统还需确保所有实时任务协调一致运行。
- 硬实时与软实时:
- 硬实时:要求系统必须在规定的时间内完成操作,这通常是在操作系统设计时就已经确保的。
- 软实时:系统只需根据任务的优先级尽可能快地完成操作。
实时操作系统是嵌入式实时系统不可或缺的组成部分,关键在于其能够保证系统的响应时间和可靠性,适用于对时间敏感的应用场合。
🦋5.3 实时操作系统的特征
-
高精度计时系统: 在实时应用系统中,需要精确确定操作设备、执行任务或计算时间函数。这需要依赖于硬件提供的时钟精度以及实时操作系统实现的高精度计时功能。
-
多级中断机制: 实时应用系统需要处理多种外部信息或事件,但这些事件的紧急程度不同。为了确保对紧急事件的及时响应和处理,系统需要建立多级中断嵌套处理机制。
-
实时调度机制: 实时操作系统不仅要及时响应实时事件中断,还需要及时调度运行实时任务。为了保证实时调度的有效性,系统需要在调度策略和算法上优先考虑实时任务,并建立更多的“安全切换”时间点,以确保及时调度实时任务的执行。
🔎6.练习
🦋6.1 题目一
以下关于RTOS(实时操作系统)的叙述中,不正确的是( )。
A.RTOS不能针对硬件变化进行结构与功能上的配置及裁剪
B.RTOS可以根据应用环境的要求对内核进行裁剪和重配
C.RTOS的首要任务是调度一切可利用的资源来完成实时控制任务
D.RTOS实质上就是一个计算机资源管理程序,需要及时响应实时事件和中断
解析:
A. RTOS不能针对硬件变化进行结构与功能上的配置及裁剪 - 这一说法是不正确的。实际上,RTOS 非常灵活,它可以根据不同的硬件和应用需求进行结构与功能的配置和裁剪。这是因为嵌入式系统的硬件平台可能会有很大差异,RTOS 需要适应这些差异以提供最佳的性能和资源利用。
B. RTOS可以根据应用环境的要求对内核进行裁剪和重配 - 这是正确的。RTOS 允许开发者根据应用的具体需求对操作系统内核进行裁剪和配置,以最小化资源消耗并优化性能。
C. RTOS的首要任务是调度一切可利用的资源来完成实时控制任务 - 这也是正确的。RTOS 的设计和实现的主要目标是确保实时任务得到及时的调度和执行,从而满足实时性要求。
D. RTOS实质上就是一个计算机资源管理程序,需要及时响应实时事件和中断 - 这同样是正确的。RTOS 的核心功能之一是管理计算机资源(如处理器时间、内存等),并确保对实时事件和中断的快速响应。
因此,选项A是不正确的描述,而B、C、D都正确描述了RTOS的相关特性。
🦋6.2 题目二
以下描述中, ()不是嵌入式操作系统的特点。
A.面向应用,可以进行裁剪和移植
B.用于特定领域,不需要支持多任务
C可靠性高,无需人工干预独立运行,并处理各类事件和故障
D.要求编码体积小,能够在嵌入式系统的有效存储空间内运行
解析:
A. 面向应用,可以进行裁剪和移植:这是嵌入式操作系统的典型特点,因为这类系统需要适应各种不同的硬件和应用需求,所以通常是可裁剪和可移植的,以确保它们能在多种设备上有效运行。
B. 用于特定领域,不需要支持多任务:这个描述是错误的,因为很多嵌入式操作系统确实需要支持多任务处理。多任务是现代嵌入式系统如智能手机、汽车导航系统等复杂设备的必要功能。虽然有些简单的嵌入式系统可能不需要多任务支持,但这不能作为嵌入式操作系统的一个普遍特点。
C. 可靠性高,无需人工干预独立运行,并处理各类事件和故障:高可靠性是嵌入式操作系统的必要特点,因为这些系统经常在无人监控的环境下运行,需要能够自主处理各种硬件和软件问题。
D. 要求编码体积小,能够在嵌入式系统的有效存储空间内运行:由于嵌入式系统的存储资源有限,操作系统和应用程序通常需要有很小的体积,以适应这些限制。
综上,选项 B 描述的内容不适用于所有嵌入式操作系统,因此它不是一个特点。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)