系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践
本章考点:
第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。
一、嵌入式系统发展历程
嵌入式系统发展历程见表19.1。
发展历程 | 硬件 | 软件 | 主要特点 |
---|---|---|---|
单片微型计算机(SCM) | 单片机 | 无操作系统 汇编语言 | 结构和功能相对单一 处理效率低 |
微控制器(MCU) | 单片机 嵌入式微处理器 外围电路 接口电路 | 以简单操作系统为 核心 | 微处理器、微控制器种类繁多 通用性比较弱 系统开销小,处理效率高 |
片上系统(SoC) | 嵌入式微处理器 | 嵌入式操作系统 | 嵌入式系统兼容性好 操作系统内核小 处理效率高 |
以Intemet 为基础的嵌入式系统 | 嵌入式微处理器 | 嵌入式操作系统 | 微处理器集成网络接口 应用域网络环境中 |
智能化、云技术推动下的嵌入式系统 | 微型传感器 智能服务设备 | | 低能耗,高速度,高集成,高可信,适应环境广 |
二、嵌人式系统硬件
1.传统嵌入式系统
传统嵌入式系统主要硬件包括:
(1)微处理器:微控制器(MCU),微处理器(MPU)。
(2)存储器:RAM、ROM。
(3)总线:内总线,外总线。
(4)定时器/计数器(Timer)。
(5)看门狗(WatchDog)。
(6)I/O接口:串口,网络,USB,JTAG。
(7)外部设备:UART,LED。
2.嵌入式处理器的分类
嵌入式处理器可以分为:
(1)微处理器(Micro Processor Unit,MPU).特点是体积小,重量轻,成本低,可靠性高,但技术保密性差。
(2)微控制器(Micro Control Unit,MCU).特点是单片化,体积小,功耗低,成本低,可靠性更高。
(3)信号处理器(Digital Signal.Processor,DSP).特点是系统结构和指令采用特殊设计,通常采用哈佛结构,编译效率高,指令执行速度也高。
(4)图形处理器(Graphics Processing Unit,GPU).专注于浮点运算,弥补了CPU-运算速度不足。
(5)片上系统(System on Chip,SoC).采用了片内再编程技术,可使片上系统内硬件的功能像软件一样通过编程来配置,从而可以实时地进行灵活而方便的修改和开发。
3.存储器
存储器就是一种存储程序和数据用的时序逻辑电路。存储器具有如下分类:
(1)随机存取存储器(Random Access Memory,RAM).它的特点是一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。根据组成元件的不同,RAM内存又可分为以下18种:①动态随机存取存储器(DRAM);②静态随机存取存储器(SRAM);③视频内存(VRAM);④快速页切换模式动态随机存取存储器(FPM DRAM);⑤延伸数据输出动态随机存取存储器(EDO DRAM);⑥爆发式延伸数据输出动态随机存取存储器(BEDO DRAM);⑦多插槽动态随机存取存储器(MDRAM);⑧窗口随机存取存储器(WRAM);⑨高频动态随机存取存储器(RDRAM);⑩同步动态随机存取存储器(SDRAM);⑪同步图形随机存取存储器(SGRAM);⑫同步爆发式静态随机存取存储器(SB SRAM);⑬管线爆发式静态随机存取存储器(PB SRAM);⑭二倍速率同步动态随机存取存储器(DDR SDRAM);1同步链环动态随机存取存储器(SLDRAM);⑯同步缓存动态随机存取存储器(CDRAM);⑰第二代同步双倍速率动态随机存取存储器(DDRII);⑱直接内存总线动态随机存取存储器(DRDRAM)。
(2)只读存储器(Read Only Memory,ROM).ROM在元件正常工作的情况下,其中的代码数据将永久保存,并且不能够进行修改。ROM一般应用于PC系统程序码和主机板BIOS上。ROM可以分为以下5种:①掩模型只读存储器(MASK ROM);②可编程只读存储器(PROM);③可擦可编程只读存储器(EPROM);④电可擦可编程只读存储器(EEPROM);⑤快闪存储器(Flash Memory)。
4.总线
总线是功能部件间传输信息的公共通信干线。总线的拓扑结构有星型、树状、环型、总线型和交叉开关型等5种。总线的类型可以按照计算机所传输的信息种类、按连接部件进行划分。
(1)按照计算机所传输的信息种类可以分为:
数据总线:用于处理器与RAM间传输待处理和待存储的数据。
地址总线:用于传输RAM中存储数据的地址。
控制总线:用于传输处理器控制单元信号到周边设备。
(2)按连接部件分类。
片内总线:内部总线,连接ALU、寄存器、指令部件等芯片内部元件。
系统总线:内部总线,又称板级总线,连接微控制器/处理器,主存,I/O接口。
局部总线:内部总线,连接少量组件用于交换数据。
通信总线:外部总线,又称外设总线,连接外部设备或外部系统。
5.看门狗
看门狗为嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序跑飞时重新启动系统。它的基本原理是由计数器自动计数,程序定期将其重置,如果系统卡死或程序跑飞,计数器溢出,进入中断处理,在设定时间间隔内,系统保留状态后复位重启。
三、嵌人式系统软件
1.嵌入式操作系统的定义及特点
嵌入式操作系统(Embedded Operating System,EOS)是指用于嵌入式系统的操作系统。与通用的操作系统相比,嵌入式操作系统具有:可剪裁性,可移植性,强实时性,强紧凑性,高质量代码,强定制性,标准接口,强稳定性,弱交互性,强确定性,操作简捷、方便,较强的硬件适应性,可固化性的特点。
2.嵌入式系统的架构
嵌入式操作系统分为面向控制、通信领域以及面向消费电子产品两类。嵌入式操作系统的架构如图19.2所示。
3.嵌入式操作系统的基本功能
(1)操作系统内核架构包括:
1)宏内核。用于管理用户程序和硬件间的系统资源,在宏内核中用户服务和内核服务在同一空间中实现,代码耦合度非常高,内核的功能组件代码可以互相调用。
2)微内核。微内核管理所有系统资源,在微内核中用户服务和内核服务在不同空间中实现,系统结构清晰,代码量少。
(2)任务管理。任务是嵌入式操作系统调度最小单位,类似于计算机操作系统中进程的概念。任务有3种工作状态:
1)执行状态:任务获得处理机,程序在处理机中执行。
2)就绪状态:任务已获得处理机以外资源,待获得处理机即可执行。
3)阻塞状态:执行状态任务因等待事件发生无法执行而放弃处理机。
嵌入式操作系统大都支持优先级抢占调度算法和时间片轮转调度算法。在实时系统的任务调度中,存在大量的实时调度方法,大致可以分为:
1)离线调度算法:系统运行前确定调度信息,如时间驱动,确定性,缺乏灵活性。
2)在线调度算法:系统运行中动态获得调度信息,如优先级驱动,灵活性较大。
3)抢占调度算法:运行任务可能被打断,更复杂,更耗资源。
4)非抢占调度算法:运行任务不被打断。
5)静态调度算法:任务优先级在设计时确定,不变化,简单,缺乏灵活性。
6)动态调度算法:任务优先级在运行中确定,不断变化,灵活,耗资源。
实时调度算法中还有强实时调度算法,具体可以分为;
1)最早截止时间优先(Earliest Deadline First,EDF)调度算法:根据任务截止时间确定优先级,截止时间越早,其优先级越高。
2)最低松弛度优先(Least Laxity First,LLF)调度算法:根据任务紧急或松弛程度确定优先级,紧急程度越高,优先级越高。
3)单调速率(Rate Monotonic Scheduling,RMS)调度算法:根据任务周期确定有限期,周期越短,优先级越高。这种算法被认为是最优的。
(3)存储管理。存储管理的主要目的是解决多个用户使用主存的问题,存储管理方法主要包括分区、分页、分段、段页式存储管理以及虚拟存储管理等。
(4)任务间通信。任务间通信管理也是嵌入式操作系统的关键功能之一。它主要为操作系统的应用程序提供多种类型的数据传输、任务同步/异步操作等手段。
4.嵌入式数据库
嵌入式数据库具有嵌入式、实时性、移动性、伸缩性的特点。嵌入式数据库可以按照如下方式分类:
(1)按嵌入对象分为:软件嵌入数据库、设备嵌入数据库、内存数据库。
(2)按系统结构分为:嵌入数据库、移动数据库、小型C/S结构数据库。
(3)按存储位置分为:①基于内存的数据库系统:采用内存存储,属于实时事务最佳技术;②基于文件的数据库:以文件方式磁盘存储,安全性低;③基于网络的数据库:远程服务器存储,无须解析SQL,支持更多SQL操作,客户端小,便于代码重用。
5.嵌入式数据库架构
数据库管理系统与嵌入式数据库对比见表19.2.
对比页 | 数据库管理系统 | 嵌入式数据库 |
---|---|---|
操作用户 | 允许非开发人员操作 | 只允许应用程序访问和控制 |
访问控制 | 数据与程序分离,便于访问控制 | 应用程序负责访问和控制 |
发布部署 | 独立安装、部署和管理 | 与应用程序一同发布 |
(1)基于内存的数据库系统。典型产品是 eXtremeDB 嵌入式数据库,它具有:最小化资源消耗、保持极小堆空间、维持极小代码体积、消除额外代码层、提供动态数据结构本地支持等特点。
(2)基于文件的嵌入式数据库系统架构。典型产品是SQLite,它的特点是:开源的内嵌式关系型数据库、集成在程序中,无须配置管理,服务器客户端同进程,简化管理,减少网络开销、对数据类型有独特处理。
(3)基于网络的嵌入式数据库系统架构。C/S架构的数据库、B/S架构的数据库以及云数据库等都属于这种类型。
6.嵌入式数据库主要功能
除了具有与通用数据库相似的功能外,嵌入式数据库还具有的功能包括:足够高效的数据存储机制、数据安全控制(锁机制)、实时事务管理机制、数据库恢复机制(历史数据存储)。
7.嵌入式中间件
嵌入式中间件是在嵌入式系统中处于嵌入式应用和操作系统之间层次的中间软件,其主要作用是对嵌入式应用屏蔽底层操作系统的异构性,常见功能有网络通信、内存管理和数据处理等。典型的嵌入式中间件有消息中间件、分布式对象中间件。
8.嵌入式系统软件开发环境
嵌入式系统软件开发环境的特点是:集成开发环境,交叉开发,开放式架构,可扩展性,可操作性,可移植性,可配置性,实时性,可维护性,用户界面友好。
四、嵌入式系统软件架构设计方法
(1)基于架构的软件设计开发方法(Architecture-Based Software Design,ABSD).这种方法的详细内容在第9课时中,这里不再赘述。
(2)属性驱动的软件设计方法(Attribute-Driven Design,ADD).ADD是把一组质量属性(可用性、性能、安全性等)场景作为输入,利用对质量属性实现与架构设计之间的关系的了解(如体系结构风格、质量战术等)对软件架构进行设计的一种方法。这种方法在满足质量属性的基础上建立模块分解过程,通过输入质量场景,利用质量属性战术实现架构设计。采用ADD方法进行软件开发时,需要经历评审、选择驱动因子、选择系统元素、选择设计概念、实体化元素和定义接口、草拟视图和分析评价等7个阶段。
(3)实时系统设计方法(Design Approach for Real-Time System,DARTS).DARTS基于传统结构化分析方法,扩展了行为建模部分。DARTS方法分为5个部分:用实时结构化分析方法开发系统规范、将系统划分为多个并发任务、定义任务间接口、设计每个任务、设计过程的成果。
DARTS方法的优势如下:
1)强调将系统分解为并发任务,并提供确认任务的标准。
2)提供定义任务间接口的指南。
3)强调用任务架构图的重要性。
4)提供从实时结构化分析规格到实时结构化设计的转换。
DARTS方法的不足如下:
1)DARTS使用信息隐藏技术封装数据存储,封装性不好。
2)如果实时结构化分析阶段完成得不好,那么任务的结构化工作就会更加困难。
五、嵌入式系统软件架构实践
1.鸿蒙操作系统
鸿蒙操作系统架构采用了分布式设计理念,实现了分布式软总线、分布式设备系统的虚拟化、分布式数据管理和分布式任务调度4种分布式能力。
鸿蒙操作系统的架构是一种层次式架构,由内核层、系统服务层、应用框架层、应用层组成,如图19.3所示。
(1)内核层。内核层采用微内核设计,内核层中的内核抽象层屏蔽多内核差异,对上层提供基础内核能力,如进程/线程管理、内存管理、文件系统、网络管理、外设管理等。驱动子系统则提供统一外设访问能力,驱动开发框架,驱动管理框架。
(2)系统服务层。属于核心能力集合的部分,为应用程序提供服务。
(3)应用框架层。为应用服务提供多语言用户程序框架、能力框架,以及各种硬件服务对外开放的API.
(4)应用层。包括系统应用和第三方非系统应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
鸿蒙垛作系统架构具有4个技术特性:
(1)分布式架构用于终端操作系统,实现跨终端无缝协同体验。
(2)确定时延引擎和高性能进程间通信技术,实现系统的流畅。
(3)基于微内核架构,重塑终端设备的可信安全。
(4)统一集成开发环境,一次开发,多端部署,实现跨终端生态共享。
2.面向安全攸关系统的跨领域系统架构(Generic Embedded System,GENESYS)
GENESYS是一种跨领域的通用嵌入式架构平台。GENESYS采用消息交换方式实现软硬件构件的抽象级别的提升,使得构件在接口规范基础上可以被重用,而不需要知道构件的内部实现。GENESYS 设计了故障或错误的隔离框架,构件在瞬态故障引起失效后,可选择性地重启和用构件复制来屏蔽瞬态和永久错误。同时GENESYS可以减少构件的功率需求或者在不需要时(功率门)完全关闭构件。因此GENESYS的出现解决了复杂性管理、系统健壮性、能量有效使用3个方面的挑战。
GENESYS架构主要提供了3组服务,即领域无关服务、领域专用服务和应用专用服务(包含中间件),如图19.4所示。
(1)领域无关服务。包括核心服务和选择服务,如嵌入式系统中的全局时间和消息传输等服务为核心服务。信息安全服务、外部存储器管理器或者Internet 网关服务等属于选择服务。
(2)领域专用服务是由领域特有的服务子集加上待开发领域特征的特定服务组合。GENESYS架构从硬件、软件的观点遵循了面向构件的风格,分离了计算与通信,将计算构件和通信设施作为独立构件进行设计。GENESYS架构的主要特征及优势包括:
1)精确的构件定位。具体体现为简单化、跨领域重用、规模的经济型、健壮性、可降低系统集成工作量这5个特征。
2)开放性。体现为具有可集成性、可升级性、可扩展性、遗产系统集成、降低成本这5个特征。
3)三级集成。具有芯片级集成、设备级集成、系统级集成的集成。
4)分层的服务。体现具有可重用性、领域定位、工效经济型的特性。
5)确定的核心。体现在具有及时性、降低复杂性、可测试性、认证、故障掩蔽的特征。
6)标准的互联集成。体现在对远程访问的保护、降低集成工作难度、常规人机交互、具有安全性4个方面。
3.物联网操作系统软件架构
物联网操作系统至今没有一个明确的定义。物联网操作系统通常包括芯片层、终端层、边缘层、云端层等多个层面内容。物联网操作系统使用的软件以及技术主要有:开源物联网操作系统(FreeRTOS)、公共服务组件(网络协议、外设支持、可移植操作系统接口 POSIX 等)定制性服务组件有:消息队列遥测传输协议(MQTT),安全超文本传输协议(HTTPS),加密消息标准PKCS#11支持,安全套件等。物联网操作系统主要特征有:内核实时性、内核尺寸伸缩性、架构可扩展性、高可靠性、低功耗。
六、课后练习
1.以下关于鸿蒙操作系统的叙述中,不正确的是()。
A.鸿蒙操作系统整体架构采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层
B.鸿蒙操作系统内核层采用宏内核设计,拥有更强的安全特性和低时延特点
C.鸿蒙操作系统架构采用了分布式设计理念,实现了分布式软总线、分布式设备系统的虚拟化、分布式数据管理和分布式任务调度等四种分布式能力
D.架构的系统安全性主要体现在搭载HarmonyOS的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”
2.GENESYS架构的主要特征及优势是什么?
3.鸿蒙操作系统架构具有哪几个技术特性?
4.嵌入式系统软件架构设计方法中的实时系统设计方法(DARTS)具有哪些优势和不足?
答案解析:
1、解析:鸿蒙操作系统采用微内核架构,整体采用层次式架构,采用分布式理念且实现了分布式安全框架。
答案:B
2、答案:GENESYS架构的主要特征及优势包括:
(1)精确的构件定位。具体体现为简单化、跨领域重用、规模的经济型、健壮性、可降低系统集成工作量这5个特征。
(2)开放性。体现为具有可集成性、可升级性、可扩展性、遗产系统集成、降低成本这5个特征。
(3)三级集成。具有芯片级集成、设备级集成、系统级集成。
(4)分层的服务。体现具有可重用性、领域定位、工效经济型的特性。
(5)确定的核心。体现在具有及时性、降低复杂性、可测试性、认证、故障掩蔽的特征。
(6)标准的互联集成。体现在对远程访问的保护、降低集成工作难度、常规人机交互、具有安全性4个方面。
3、答案:鸿蒙操作系统架构具有4个技术特性:
(1)分布式架构用于终端操作系统,实现跨终端无缝协同体验。
(2)确定时延引擎和高性能进程间通信技术,实现系统的流畅。
(3)基于微内核架构,重塑终端设备的可信安全。
(4)统一集成开发环境,一次开发,多端部署,实现跨终端生态共享。
4、答案:DARTS方法的优势:
(1)强调将系统分解为并发任务,并提供确认任务的标准。
(2)提供定义任务间接口的指南。
(3)强调用任务架构图的重要性。
(4)提供从实时结构化分析规格到实时结构化设计的转换。
DARTS方法的不足:
(1)DARTS使用信息隐藏技术封装数据存储,封装性不好。
(2)如果实时结构化分析阶段完成得不好,那么任务的结构化工作就会更加困难。
相关文章:

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践
本章考点: 第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值…...

centos8stream 修改为阿里云yum源
centos8stream 官方已经不再维护,导致该系统官方源实效,可以使用阿里云源进行替换 阿里云文档:centos-vault镜像_centos-vault下载地址_centos-vault安装教程-阿里巴巴开源镜像站 (aliyun.com) 咱们只需要执行下面命令,即可替换官…...

python转换并提取pdf文件中的图片
#安装fitz包 pip install pymupdf 脚本如下所示: import fitz import re import os import time import sysarguments sys.argvfor arg in arguments:print(arg)def file_name_list(base_dir):for i, j, k in os.walk(base_dir):name [i.replace(.pdf, ) for i …...

【MySQL】MySQL常用的数据类型——表的操作
前言: 🌟🌟本期讲解关于MySQL常用数据类型,表的简单使用,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/wwaqe 🌈感兴趣的小伙伴看一看小编主页:GGBondl…...

自然语言处理系列五十三》文本聚类算法》文本聚类介绍及相关算法
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列五十三文本聚类算法》文本聚类介绍及相关算法K…...

计算机网络(一) —— 网络基础入门
目录 一,关于网络 二,协议 2.1 协议是什么,有什么用? 2.2 协议标准谁定的? 2.3 协议分层 2.4 OSI 七层模型 2.5 TCP/IP 四层模型 三,网络传输基本流程 3.1 局域网中两台主机通信* 3.2 报文的封装与…...

从监控到智能:EasyCVR视频汇聚平台助力加油站安全监管升级转型
随着科技的不断进步,视频监控技术在各个行业的应用日益广泛,尤其在加油站这一关键领域,视频智能监管系统的应用显得尤为重要。TSINGSEE青犀视频EasyCVR视频汇聚平台作为一款基于“云-边-端”一体化架构的视频融合与AI智能分析平台,…...

日志服务管理
系统日志管理 sysklogd 系统日志服务 在 CentOS5 以及之前的发行版中,其采用的 sysklogd 服务来记录和管理系统日志的。 sysklogd 服务有两个模块: klogd: 用于记录 linux kernel 相关的日志 syslogd:用于记录用户空间应用日志…...

ROS 工具箱系统要求
ROS 工具箱系统要求 要为 ROS 或 ROS 2 生成自定义消息,或从 MATLAB 或 Simulink 软件中部署 ROS 或 ROS 2 节点,您必须构建必要的 ROS 或 ROS 2 软件包。要构建这些软件包,您必须具备 Python 软件、CMake 软件以及适用于您的平台的 C 编译器…...

CSS解析:定位和层叠上下文
许多开发人员对定位的理解很粗略,如果不完全了解定位,就很容易给自己挖坑。有时候可能会把错误的元素放在其他元素前面,要解决这个问题却没有那么简单。 一般的布局方法是用各种操作来控制文档流的行为。定位则不同:它将元素彻底…...

无名管道与有名管道的区别(C语言)
目录 一、引言 二、无名管道(匿名管道) 1.概念 2.特点 3.使用方法 三、有名管道(命名管道) 1.概念 2.特点 3.使用方法 四、总结 本文将详细介绍在C语言中无名管道(匿名管道)与有名管道(命名…...

Vue+Nginx前端项目多种方式部署一文搞定(练习源码自取)
目录 介绍 本地项目部署 nginx部署 云端服务器部署 介绍 对于Vue项目而言,Nginx可以轻松地配置来处理SPA的路由问题,即对于所有未定义的路径请求返回index.html,这样前端路由机制就可以接管URL的处理。此外,Nginx支持反向代理设…...

MATLAB 中双引号 ““ 和单引号 ‘‘ 的区别详解
在 MATLAB 中,双引号 "" 和单引号 都可以用来表示字符串,但它们的作用和底层类型是不同的。理解它们之间的区别,对于正确使用字符串处理功能非常重要。本文将深入探讨 MATLAB 中 "" 和 的区别,以及在实际编…...

Linux概述、远程连接、常用命令
Linux介绍 Linux操作系统介绍 Linux操作系统的特点 开源免费安全稳定可移植性好 Linux可以安装在不同的设备上 高性能 Linux的使用领域 应用服务器数据库服务器网络服务器虚拟化云计算嵌入式领域个人PC移动手机 Linux文件系统和目录 /:根目录,唯一/h…...

闯关leetcode——1.Two Sum
大纲 题目地址内容 解题 题目 地址 https://leetcode.com/problems/two-sum/description/ 内容 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would hav…...

02 Shell Script注释和debug
Shell Script注释和debug 一、ShellScript注释 # 代表不解释不执行 语法:# # 创建myshell.sh文件 [rootlocalhost ~]# vi myshell.sh # 写入内容 #!/bin/bash# 打印hello world(正确) echo "hello world" echo "he…...

如何设计项目架构
设计项目架构是软件开发过程中的关键步骤之一,它涉及到如何组织系统的各个部分以及它们之间的交互方式。良好的架构设计能够提高系统的可维护性、扩展性和性能。以下是设计C项目架构的一些基本原则和步骤: 1. 明确需求 在设计任何系统之前,…...

OTG配置为USB盘之二
在前面一节中,描述了otg配置U盘时涉及到的知识点,本篇用统一的脚本完成。 目标 将3588开发板子配置为一个U盘。 配置文件和脚本 配置文件 说明: 1)USB_FUNCS是将开发板配置为什么类型的设备,例如u盘,配置um…...

如何使用 PHP 函数与其他 Web 服务交互?
在 PHP 中,我们可以使用 cURL 或者 file_get_contents 函数与其他 Web 服务进行交互。 使用 cURL 函数 cURL 是一个库,它允许你使用各种类型的协议来发送数据,并从服务器获取数据。 $curl curl_init(‘http://example.com/api’); curl_s…...

.NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
实现目标。点击图片上传头像 效果图 前端部分图片上传关键代码 <div class"avatar-wrap"><el-imagestyle"width: 154px; height: 154px":src"form.headPic":fit"fit"/></div><div class"upload-box"…...

机器学习如何用于音频分析?
机器学习如何用于音频分析? 一、说明 近十年来,机器学习越来越受欢迎。事实上,它被用于医疗保健、农业和制造业等众多行业。随着技术和计算能力的进步,机器学习有很多潜在的应用正在被创造出来。由于数据以多种格式大量可用&…...

适合程序员在周末阅读的历史书籍:理解人性和世界
一、《人类简史:从动物到上帝》 这本书提供了对人类历史和社会发展的深刻洞察,帮助读者理解人类过去、现在和可能的未来。 《人类简史:从动物到上帝》是以色列历史学家尤瓦尔赫拉利(Yuval Noah Harari)创作的一部极具影…...

探索Mem0:下一代人工智能与机器学习内存管理基础设施(二)Mem0+Ollama 部署运行
探索Mem0:下一代人工智能与机器学习内存管理基础设施(二) Mem 0(发音为“mem-zero”)通过智能记忆层增强AI助手和代理,实现个性化的AI交互。Mem 0会记住用户偏好,适应个人需求,并随着时间的推移不断改进,使其成为客户支持聊天机器人,AI助手和自治系统的理想选择。 …...

C++入门10——stack与queue的使用
目录 1.什么是stack? stack的使用 2.什么是queue? queue的使用 3.priority_queue 3.1 什么是priority_queue? 3.2 priority_queue的使用 1.什么是stack? 在官网中,对stack有这样的介绍: Stacks are a type o…...

詳細解析軟路由與代理爬蟲池-okeyproxy
什麼是軟路由? 軟路由,顧名思義,就是通過軟體實現的路由器功能。與傳統的硬體路由器不同,軟路由通常是基於PC或單板電腦(如樹莓派)運行的路由器軟體。 靈活性高:可以根據需求安裝各種插件和服…...

视频监控管理平台LntonAIServer视频智能分析噪声检测应用场景
在视频监控系统中,噪声问题常常影响到视频画面的清晰度和可用性。噪声可能由多种因素引起,包括但不限于低光环境、摄像机传感器灵敏度过高、编码压缩失真等。LntonAIServer通过引入噪声检测功能,旨在帮助用户及时发现并解决视频流中的噪声问题…...

技术分享-商城篇-用户中心-注销修改(二十三)
前言 上一篇文章技术分享-商城篇-用户中心(二十二)在构建高效、安全的商城用户中心时,确保用户账户的安全性与便捷性至关重要。本文将重点阐述三大核心功能——修改密码、协议授权及注销账户的业务逻辑、设计思路及注意事项,旨在…...

Linux-实用指令
目录 前言 指定运行级别 基本介绍 切换运行级别 指令类 帮助指令 man 获得帮助信息 help指令 文件目录类 pwd指令 ls指令 cd指令 mkdir命令 rmdir指令删除空目录 touch指令 cp指令 rm指令 mv指令 cat指令 more指令 less指令 echo指令 head指令 tail指令…...

【MySQL00】【 杂七杂八】
文章目录 一、前言二、MySQL 文件1. 参数文件2. 日志文件3. 套接字文件4. pid 文件5. 表结构定义文件6. InnoDB 存储引擎文件 二、BTree 索引排序三、InnoDB 关键特性1. 插入缓冲1.1 Insert Buffer 和 Change Buffer1.1 缓冲合并 2. 两次写2. 自适应哈希索引3. 异步IO4. 刷新邻…...

计算机网络 第2章 物理层
文章目录 通信基础基本概念信道的极限容量编码与调制常用的编码方法常用的调制方法 传输介质双绞线同轴电缆光纤以太网对有限传输介质的命名规则无线传输介质物理层接口的特性 物理层设备中继器集线器一些特性 物理层任务:实现相邻节点之间比特(0或1&…...