系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:

        第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。

一、嵌入式系统发展历程

嵌入式系统发展历程见表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.

表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)如果实时结构化分析阶段完成得不好,那么任务的结构化工作就会更加困难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/872932.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于C++数组越界的异常

数组越界一般是很难发现的,而且并不是每次都会崩溃. 比如说定义一个数字 #DEFINE MAX_ARRAY 5 int m_IntArray[MAX_ARRAY]; 我们在初始化的时候,故意给他越界,这个时候一般是不会报错的. for(int i0;i<15;i) { m_IntArray[i]0; } 尤其是全局变量,居然一点提示都没有,局部变…

基于约束大于规范的想法,封装缓存组件

架构&#xff1f;何谓架构&#xff1f;好像并没有一个准确的概念。以前我觉得架构就是搭出一套完美的框架&#xff0c;可以让其他开发人员减少不必要的代码开发量&#xff1b;可以完美地实现高内聚低耦合的准则;可以尽可能地实现用最少的硬件资源&#xff0c;实现最高的程序效率…

jmeter执行python脚本,python脚本的Faker库

jmeter安装 jython的插件jar包 通过如下地址下载jython-standalone-XXX.jar包并放到jmeter的XXX\lib\ext目录下面 Downloads | JythonThe Python runtime on the JVMhttps://www.jython.org/download.html 重启jmeter在JSR223中找到jython可以编写python代码执行 python造数据…

Minimax-秋招正式批-面经(SQL相关)

1. 谈谈对聚簇索引的理解 聚簇索引 InnoDB通过主键聚集数据&#xff0c;如果没有定义主键&#xff0c;InnoDB会选择非空的唯一索引代替。如果没有这样的索引&#xff0c;InnoDB会隐式定义一个主键来作为聚簇索引聚簇索引就是按照每张表的主键构造一颗B树&#xff0c;同时叶子…

redis之缓存淘汰策略

1.查看redis的最大占用内存 使用redis-cli命令连接redis服务端&#xff0c;输入命令&#xff1a;config get maxmemory 输出的值为0&#xff0c;0代表redis的最大占用内存等同于服务器的最大内存。 2.设置redis的最大占用内存 编辑redis的配置文件&#xff0c;并重启redis服务…

【软考】设计模式之代理模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.代理模式&#xff08;Proxy Pattern&#xff09;。2.意图&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。3.通过提供与对象相同的接口来控制对这个对象的访问。4.是设计模…

WordPress独立资源下载页面插件美化版

插件介绍&#xff1a; xydown是一款wordpress的独立下载页面插件&#xff0c;主要适用于wp建站用户使用&#xff0c;有些用户在发布文章的时候想要添加一些下载资源&#xff0c;使用这款插件可以把下载的内容独立出来&#xff0c;支持添加本地下载或者百度网盘蓝奏网盘的网址&…

FreeRTOS学习笔记—④RTOS通信管理篇/同步互斥与通信(正在更新中)

二、RTOS的核心功能 RTOS的核心功能块主要分为任务管理、内核管理、时间管理以及通信管理4部分&#xff0c;框架图如下所示&#xff1a;   &#xff08;1&#xff09;任务管理&#xff1a;负责管理和调度任务的执行&#xff0c;确保系统中的任务能够按照预期运行。   &…

uni-appH5项目实现导航区域与内容区域联动效果

一、需求描述 将导航区域与内容区域实现联动&#xff0c;即点击导航区域&#xff0c;内容区滚动到对应位置&#xff0c;内容区滚动过程中根据内容定位到相对应的导航栏。 效果如下&#xff1a; 侧边导航与内容联动效果 二、功能实现思路分析汇总&#xff1a; 三、具体代码 1…

流媒体技术革新,EasyCVR视频汇聚平台赋能视频监控全面升级

随着科技的飞速发展&#xff0c;流媒体技术和视频监控正经历着前所未有的变革与融合。本文将从流媒体技术的新兴趋势出发&#xff0c;探讨其与视频监控领域的深度结合&#xff0c;以及这一融合所带来的创新与发展。 一、流媒体技术的新兴趋势 1、5G网络的广泛应用 5G网络以其…

鸿蒙开发入门day16-拖拽事件和手势事件

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;还请三连支持一波哇ヾ(&#xff20;^∇^&#xff20;)ノ&#xff09; 目录 拖拽事件 概述 拖拽流程 ​手势拖拽 ​鼠标拖拽 拖拽背板图 …

企业架构的概念及发展历程简述(附TOGAF架构理论学习资料下载链接)

企业架构在数字化转型中发挥着至关重要的作用。它不仅确保了战略一致性、提高了运营效率、强化了信息安全&#xff0c;还指导了数字化转型路径、推动了技术与业务的深度融合以及促进了生态系统的连接。因此&#xff0c;在数字化转型过程中&#xff0c;企业应高度重视企业架构的…

《OpenCV计算机视觉》—— 图像边缘检测

文章目录 一、图像边缘检测概述二、常见的图像边缘检测算法&#xff08;简单介绍&#xff09;1.sobel算子2.Scharr算子3.Laplacian算子4.Canny算子 三、代码实现 一、图像边缘检测概述 图像边缘检测是一种重要的图像处理技术&#xff0c;用于定位二维或三维图像中对象的边缘。…

计算氨基酸残基之间的键角和二面角

在蛋白质结构中,不同的角度由特定的原子位置决定。常见的原子类型包括氨基酸主链中的 Cα(α 碳)、C(羰基碳)、N(氮原子)和 O(氧原子)。为了更加清晰,下面给出几种常见角度的定义及其对应的原子类型: 使用具体原子的坐标计算键角和二面角 1. 计算 N−Cα−C 的键角…

初次使用住宅代理有哪些常见误区?

随着网络技术的发展&#xff0c;住宅代理因其高匿名性和稳定性成为许多用户进行网络活动的首选工具。然而&#xff0c;对于新手而言&#xff0c;使用住宅代理时往往容易陷入一些误区&#xff0c;这不仅可能影响使用效果&#xff0c;还可能带来安全风险。本文将探讨新手在使用住…

前缀列表(ip-prefix)配置

一. 实验简介 本来前缀列表是要和访问控制列表放在一起讲的&#xff0c;但是这里单拎出来是为了更详细的讲解两者的区别 1.前缀列表针对IP比访问控制更加灵活。 2.前缀列表在后面被引用时是无法对数据包进行过滤的 实验拓扑 二. 实验目的 R4路由器中只引入子网LoopBack的…

oracle数据库安装和配置

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; Oracle 数据库的安装和配置是一个较为复杂的过程&#xff0c;涉及多个步骤和配置项。以下将详细介绍如何在 Linux 和 Windows 系统中安装 Oracle 数据库并进行基础配置。 一、Oracle 数据库安装前的准备 …

提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具&#xff0c;但有时候遇到个人的特殊情况还是无法满足&#xff0c;这时就可以试着创建自定义脚本工具。 一、编写代码 此处的代码就是一个很简单的给图层更改别名的代码。 1. import arcpy 2. input_fc arcpy.GetParam…

Oracle同义词

默认只能访问自己用户下面的对象&#xff0c;所以可以创建同义词。 同义词(Synonym) 是数据库对象的一个别名&#xff0c;Oracle 可以为表、视图、序列、过程、函数、程序包等指定一个别名 https://blog.csdn.net/ChineseSoftware/article/details/121750937

【springboot】使用缓存

目录 1. 添加依赖 2. 配置缓存 3. 使用EnableCaching注解开启缓存 4. 使用注解 1. 配置缓存名称 2. 配置缓存的键 3. 移除缓存 5. 运行结果 1. 添加依赖 <!-- springboot缓存--><dependency><groupId>org.springframework.boot</groupId>…