虚拟化知识学习
虚拟化知识学习
关键概念和术语的简要介绍
虚拟化的基本概念
-
虚拟机 (VM):一个虚拟机是一个模拟计算机系统的环境。它运行在物理硬件之上,但与物理硬件隔离,提供类似于物理计算机的功能。
-
虚拟化技术:这是指使用软件来创建虚拟版本的计算资源,包括操作系统、服务器、存储设备或网络资源。
虚拟化的类型
-
硬件虚拟化:通过在物理硬件之上运行多个虚拟机来实现。这些虚拟机可以运行不同的操作系统和应用程序。常见的硬件虚拟化技术包括VMware、Hyper-V和KVM等。
-
操作系统级虚拟化:也称为容器化,这种方法允许多个隔离的用户空间实例共享同一个操作系统内核。Docker和LXC是这种虚拟化技术的例子。
-
存储虚拟化:将多个物理存储设备抽象为一个单一的存储资源池,以便更有效地管理和分配存储资源。
-
网络虚拟化:将网络资源抽象为逻辑资源,以便更灵活地管理网络流量和网络服务。
关键术语
-
vCPU:虚拟中央处理单元,是分配给虚拟机的CPU资源。vCPU通常映射到物理CPU或其核心。
-
内存管理:在虚拟化环境中,内存管理涉及如何在物理内存和虚拟机之间分配和管理内存资源。常用技术包括内存共享、内存压缩和内存交换等。
-
超管程(Hypervisor):也称为虚拟机监控器,是一种软件、固件或硬件,它创建和运行虚拟机。Hypervisor可以分为Type 1(裸金属)和Type 2(托管)两种类型。
资源管理
-
CPU分配:在虚拟化环境中,物理CPU资源被分配给多个vCPU。资源调度程序负责管理这些分配,以确保每个虚拟机获得所需的计算能力。
-
内存分配:物理内存被划分并分配给不同的虚拟机。Hypervisor会根据需求动态调整内存分配,以优化整体性能。
-
存储管理:虚拟化环境中的存储资源可以通过存储池进行管理,允许灵活地分配和调整存储容量。
-
网络管理:虚拟网络设备和逻辑网络可以在物理网络基础设施上创建,以提供隔离和安全性。
主要的技术路线和趋势:
1. 虚拟机监控器(Hypervisor)
虚拟机监控器,也称为Hypervisor,是一种允许多个操作系统在同一物理硬件上运行的软件层。Hypervisor分为两种类型:
-
Type 1(裸机型):直接运行在物理硬件上,例如VMware ESXi、Microsoft Hyper-V和Xen。
-
VMware ESXi、Microsoft Hyper-V和Xen的基本介绍
1. VMware ESXi
VMware ESXi是由VMware公司开发的一种企业级虚拟化平台,属于Type 1(裸机型)Hypervisor。
特点:
- 性能和可靠性:ESXi直接运行在硬件上,不依赖于底层操作系统,因此具有高性能和高可靠性。
- 管理工具:VMware提供了vSphere作为管理工具,可以通过vCenter Server集中管理多个ESXi主机。
- 资源管理:支持高级资源管理功能,如资源池、动态资源调配(DRS)和高可用性(HA)。
- 安全性:提供了内置的安全功能,如虚拟机加密和安全启动。
使用场景:
- 适用于需要高度稳定性和性能的企业数据中心。
- 常用于构建私有云和混合云环境。
2. Microsoft Hyper-V
Microsoft Hyper-V是由微软开发的一种虚拟化技术,集成在Windows Server操作系统中,也属于Type 1(裸机型)Hypervisor。
特点:
- 集成性:Hyper-V与Windows Server紧密集成,易于在Windows环境中部署和管理。
- 虚拟交换机:提供了虚拟交换机功能,支持网络隔离和流量管理。
- 备份和恢复:支持Hyper-V复制(Hyper-V Replica),提供灾难恢复功能。
- 兼容性:支持多种操作系统,包括Windows和Linux。
使用场景:
- 适用于已有Windows基础设施的企业,特别是那些已经使用其他微软产品的组织。
- 常用于测试和开发环境,以及中小型企业的数据中心。
3. Xen
Xen是一种开源的虚拟化技术,由Xen Project维护,属于Type 1(裸机型)Hypervisor。
特点:
- 开源:Xen是一个开源项目,社区活跃,广泛应用于许多开源和商业虚拟化解决方案中。
- 灵活性:支持多种操作系统,包括Linux、Windows和BSD。
- 安全性:提供了安全增强功能,如Xen Security Modules(XSM)和虚拟机隔离。
- 云计算:Xen广泛应用于云计算平台,如Amazon EC2和Rackspace Cloud。
使用场景:
- 适用于需要开源解决方案的企业和组织。
- 常用于大型云服务提供商的数据中心。
总结
这三种虚拟化技术各有其优势和适用场景。VMware ESXi以其高性能和企业级功能著称,适合大型企业数据中心。Microsoft Hyper-V与Windows生态系统紧密集成,适合已有微软基础设施的企业。Xen作为开源解决方案,广泛应用于云计算平台,适合需要灵活性和定制化的组织。
-
-
Type 2(托管型):运行在主机操作系统之上,例如Oracle VirtualBox和VMware Workstation。
-
Oracle VirtualBox和VMware Workstation的基本介绍
Oracle VirtualBox
Oracle VirtualBox是由Oracle公司开发并维护的一种开源虚拟化软件,属于Type 2(托管型)Hypervisor。
特点:
- 跨平台支持:VirtualBox可以在Windows、macOS、Linux和Solaris操作系统上运行。
- 开源和免费:VirtualBox是开源软件,用户可以免费使用和修改源代码。
- 快照功能:允许用户创建虚拟机的快照,方便在不同状态之间切换和恢复。
- 扩展包:提供扩展包(Extension Pack),增加了对USB 2.0/3.0设备、远程桌面协议(RDP)和PXE网络启动的支持。
使用场景:
- 适用于个人开发者和小型团队进行开发、测试和学习。
- 适合需要跨平台兼容性的用户。
VMware Workstation
VMware Workstation是由VMware公司开发的一种商业虚拟化软件,也属于Type 2(托管型)Hypervisor。
特点:
- 高性能:VMware Workstation以其高性能和稳定性著称,适合运行资源密集型应用。
- 丰富的功能:支持快照、克隆、虚拟网络配置、多显示器支持等高级功能。
- 兼容性:与VMware的其他产品(如ESXi和vSphere)高度兼容,方便在不同环境之间迁移虚拟机。
- 企业级支持:提供商业支持服务,适合企业用户。
使用场景:
- 适用于企业开发人员和IT专业人员进行开发、测试和演示。
- 适合需要高性能和丰富功能的用户。
总结
- Oracle VirtualBox:开源免费,跨平台支持,适合个人和小型团队使用。
- VMware Workstation:高性能,功能丰富,适合企业用户和需要高级虚拟化功能的个人用户。
-
2. 容器化技术
容器化是一种轻量级的虚拟化方法,它允许多个隔离的用户空间实例共享同一个操作系统内核。主要的容器化技术包括:
- Docker:最流行的容器平台,提供了便捷的容器创建、部署和管理工具。
- Kubernetes:用于自动化容器化应用程序的部署、扩展和管理的开源系统。
- LXC/LXD:Linux容器技术,提供了操作系统级别的虚拟化。
3. 云计算平台
云计算平台利用虚拟化技术来提供弹性和可扩展的计算资源。主要的云计算服务提供商包括:
-
Amazon Web Services (AWS):提供了广泛的虚拟化服务,如EC2、EKS等。
-
Amazon EC2和EKS的基本介绍
Amazon EC2 (Elastic Compute Cloud)
Amazon EC2是Amazon Web Services (AWS) 提供的弹性计算服务,允许用户在云中运行虚拟服务器(称为实例)。
特点:
- 弹性扩展:根据需求动态调整计算资源,支持自动扩展和负载均衡。
- 多种实例类型:提供多种实例类型,适用于不同的工作负载,包括通用型、计算优化型、内存优化型、存储优化型和加速计算型实例。
- 定价模式:支持按需实例、预留实例和竞价实例等多种定价模式,帮助用户优化成本。
- 安全性:提供多层安全措施,包括虚拟私有云(VPC)、安全组和网络ACL等。
- 集成服务:与AWS的其他服务(如S3、RDS、Lambda等)无缝集成,方便构建复杂的应用程序架构。
使用场景:
- 适用于需要高弹性和可扩展性的应用,如Web应用、后台服务、大数据处理等。
- 常用于开发、测试和生产环境的部署。
Amazon EKS (Elastic Kubernetes Service)
Amazon EKS是AWS提供的托管Kubernetes服务,简化了在AWS上运行Kubernetes集群的管理工作。
特点:
- 托管服务:EKS管理Kubernetes控制平面,使用户可以专注于应用程序的部署和管理,而不必担心集群的维护和升级。
- 高可用性:EKS控制平面在多个可用区内分布,提供高可用性和容错能力。
- 安全性:与IAM、VPC和KMS等AWS服务集成,提供强大的安全功能。
- 自动扩展:支持Kubernetes的自动扩展功能,如Cluster Autoscaler和Horizontal Pod Autoscaler。
- 混合云支持:通过EKS Anywhere,可以在本地数据中心运行Kubernetes集群,并与AWS云环境无缝集成。
使用场景:
- 适用于需要使用Kubernetes进行容器编排和管理的应用程序。
- 适合微服务架构、大规模分布式系统和CI/CD流水线的构建。
-
-
Microsoft Azure:提供了虚拟机、容器服务以及其他云计算资源。
-
Google Cloud Platform (GCP):提供了Compute Engine、Kubernetes Engine等服务。
-
Compute Engine和Kubernetes Engine的基本介绍
Google Compute Engine (GCE)
Google Compute Engine是Google Cloud Platform (GCP) 提供的基础设施即服务(IaaS),允许用户在Google的全球数据中心中运行虚拟机实例。
特点:
- 灵活的实例类型:提供多种实例类型,包括通用型、内存优化型、计算优化型和GPU实例,以满足不同的工作负载需求。
- 自定义机器类型:用户可以根据实际需求自定义虚拟机的CPU和内存配置,优化成本和性能。
- 自动扩展:支持自动扩展功能,根据负载动态调整实例数量。
- 预留实例折扣:通过长期预留实例获得成本折扣,降低长期运行成本。
- 集成服务:与GCP的其他服务(如Cloud Storage、BigQuery、Cloud Pub/Sub等)无缝集成,方便构建复杂的应用架构。
使用场景:
- 适用于需要高性能和可扩展性的应用,如大数据处理、机器学习训练和Web应用托管。
- 常用于开发、测试和生产环境的部署。
Google Kubernetes Engine (GKE)
Google Kubernetes Engine是GCP提供的托管Kubernetes服务,简化了在GCP上运行Kubernetes集群的管理工作。
特点:
- 托管服务:GKE管理Kubernetes控制平面,使用户可以专注于应用程序的部署和管理,而不必担心集群的维护和升级。
- 自动化操作:支持自动化操作,如自动修复、自动扩展和自动更新,确保集群高可用性和安全性。
- 混合和多云支持:通过Anthos,GKE可以在本地数据中心和其他云平台上运行,支持混合云和多云部署。
- 内置安全性:提供内置的安全功能,如节点自动修复、安全补丁管理和基于角色的访问控制(RBAC)。
- 集成生态系统:与GCP的其他服务(如Cloud Build、Stackdriver、Cloud Run等)深度集成,简化CI/CD流程和监控管理。
使用场景:
- 适用于需要容器编排和管理的应用,如微服务架构、CI/CD流水线和大规模分布式系统。
- 适合希望利用Kubernetes生态系统的企业,以实现应用程序的高可用性、可扩展性和灵活性。
这两项服务各有其特点和优势,用户可以根据具体需求选择适合自己的服务。
-
4. 软件定义的数据中心(SDDC)
SDDC通过软件抽象和自动化来管理数据中心的所有资源,包括计算、存储和网络。关键技术包括:
-
软件定义网络(SDN):例如OpenFlow,用于动态管理网络流量。
-
SDN(软件定义网络)
SDN是一种网络架构方法,通过将网络控制平面与数据平面分离来实现集中化的网络管理和配置。
特点:
- 控制与数据分离:在传统网络中,控制平面和数据平面是耦合在一起的,而SDN将其分离,使得网络设备只负责数据转发,控制逻辑由集中控制器管理。
- 集中控制:通过集中控制器(如OpenDaylight、ONOS等)进行网络管理和配置,简化了网络操作和管理。
- 可编程性:SDN使得网络可以通过编程接口进行动态配置和管理,适应快速变化的业务需求。
- 灵活性和可扩展性:由于控制逻辑集中,可以更容易地实现网络策略的修改和扩展,提高了网络的灵活性和可扩展性。
使用场景:
- 数据中心网络:通过集中管理和自动化配置,提高数据中心网络的效率和灵活性。
- 服务提供商网络:实现服务快速部署和动态资源分配,优化网络资源利用率。
- 企业网络:简化网络管理,快速响应业务需求变化。
OpenFlow
OpenFlow是SDN架构中的一种通信协议,用于交换机和控制器之间的通信。
特点:
- 标准化协议:OpenFlow是最早提出并广泛采用的SDN协议,由Open Networking Foundation(ONF)制定。
- 流表规则:通过控制器下发流表规则到交换机,定义数据包的转发路径和处理方式。
- 灵活的数据包处理:支持多种匹配字段(如IP地址、MAC地址、端口号等),并可以执行多种动作(如转发、丢弃、修改头信息等)。
- 支持多种设备:OpenFlow协议支持多种网络设备,包括交换机、路由器、防火墙等,使其能够在异构网络环境中工作。
使用场景:
- 网络研究和实验:OpenFlow为研究人员提供了一个灵活的平台,用于测试和验证新的网络协议和算法。
- 数据中心虚拟化:通过OpenFlow实现虚拟网络的动态配置和管理,提高资源利用率和服务质量。
- 网络安全:使用OpenFlow实现细粒度的流量控制和监控,增强网络安全性。
-
-
软件定义存储(SDS):例如Ceph,用于抽象和管理存储资源。
-
SDS(软件定义存储)
SDS是一种存储架构方法,通过软件来管理和控制存储硬件,从而实现存储资源的虚拟化和自动化。
特点:
- 硬件独立性:SDS将存储管理功能从底层硬件中抽象出来,使得不同品牌和类型的存储硬件可以统一管理。
- 灵活性和可扩展性:通过软件定义,可以动态调整存储资源,满足不同的业务需求,提高系统的灵活性和可扩展性。
- 集中管理:提供统一的存储管理界面和API,实现存储资源的集中管理和自动化运维。
- 成本效益:利用通用硬件和开源软件,降低存储系统的建设和维护成本。
使用场景:
- 数据中心:实现存储资源的池化和灵活分配,提高资源利用率。
- 云计算环境:为虚拟机和容器提供高效、灵活的存储支持。
- 大数据和分析:满足大数据处理对存储容量和性能的高要求。
Ceph
Ceph是一个开源的分布式存储系统,提供对象存储、块存储和文件系统三种存储模式。
特点:
- 高可用性和可靠性:通过数据复制和纠删码技术,实现高可用性和数据冗余,防止单点故障。
- 高性能:采用分布式架构,支持大规模并发访问,满足高性能应用需求。
- 弹性扩展:支持在线扩展,可以根据需求动态增加或减少存储节点,灵活应对存储需求变化。
- 统一存储平台:同时支持对象、块和文件存储,满足不同应用场景的需求。
- 社区支持:作为开源项目,Ceph拥有活跃的社区支持和丰富的文档资源。
使用场景:
- 云计算平台:为OpenStack等云平台提供后端存储支持。
- 大数据处理:为Hadoop、Spark等大数据框架提供底层存储支持。
- 企业级存储:为企业提供高性能、高可用的存储解决方案。
-
5. 边缘计算
边缘计算将计算资源分布到靠近数据生成源的位置,以减少延迟和带宽使用。虚拟化在边缘计算中的应用包括:
- 边缘节点虚拟化:在靠近终端设备的位置部署小型虚拟机或容器。
- 雾计算:结合云计算和边缘计算,通过分布式节点提供计算资源。
6. 无服务器架构(Serverless)
无服务器架构允许开发者编写代码而无需管理底层服务器。主要的无服务器平台包括:
- AWS Lambda
- Azure Functions
- Google Cloud Functions
相关文章:

虚拟化知识学习
虚拟化知识学习 关键概念和术语的简要介绍 虚拟化的基本概念 虚拟机 (VM):一个虚拟机是一个模拟计算机系统的环境。它运行在物理硬件之上,但与物理硬件隔离,提供类似于物理计算机的功能。 虚拟化技术:这是指使用软件来创建虚拟版…...

一键生成迷宫-Word插件-大珩助手新功能
Word大珩助手是一款功能丰富的Office Word插件,旨在提高用户在处理文档时的效率。它具有多种实用的功能,能够帮助用户轻松修改、优化和管理Word文件,从而打造出专业而精美的文档。 【新功能】迷宫生成器 1、可自定义迷宫大小; …...

运维开发详解(上)
🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是运维开发 二、运维开发的基础知识 1、运…...

react useState基本使用
1. React Hooks介绍 React Hooks是React 16.8版本引入的新特性,它允许在不编写类的情况下使用state和其他React特性。Hooks的引入极大地简化了组件的编写,使得函数式组件能够拥有类似类组件的功能。 1.1 函数式组件与类组件的区别 函数式组件与类组件…...

基于jeecgboot-vue3的Flowable流程-待办任务(二)
因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 接下来讲待办的流程处理 1、根据这个vue3新的框架,按钮代码如下: /*** 操作栏*/function getTableAction(record) {return [{label: 处理,onClick: handleProcess…...

1103. 分糖果 II
1103. 分糖果 II 题目链接:1103. 分糖果 II 代码如下: class Solution { public:vector<int> distributeCandies(int candies, int num_people) {vector<int> res(num_people,0);int count1,i0;//count代表此时对应第i个人需要分得糖果wh…...

SQL实验 数据的插入、修改和删除操作
一、实验目的 1.掌握Management Studio的使用。 2.掌握SQL中INSERT、UPDATE、DELETE命令的使用。 二、实验内容及要求 用SQL语句完成下列功能。使用数据库为SCHOOL数据库。 1、新开设一门课程,名叫网络安全与防火墙,学时40&#x…...

es初始化
一.初始化es public void initES() {/*LOGGER.info("host" host);LOGGER.info("port" port);LOGGER.info("scheme" scheme);LOGGER.info("userName" userName);LOGGER.info("password" password);*/// 客户端连接创建…...

【蓝桥杯】常见的数据结构
🌸个人主页:Yang-ai-cao 📕系列专栏:蓝桥杯 C语言 🍍博学而日参省乎己,知明而行无过矣 目录 🌸个人主页:Yang-ai-cao 📕系列专栏:蓝桥杯 C语言 &…...

STM32H750外设ADC之外部触发和注入管理
目录 概述 1 外部触发转换和触发极性 1.1 外部触发条件 1.2 忽略硬件触发条件 1.3 触发框图 1.4 常规通道的外部触发 1.5 注入通道的外部触发 2 注入通道管理 2.1 触发注入模式 2.2 自动注入模式 2.3 注入转换延迟 概述 本文主要介绍STM32H750外设ADC之外部触发和注…...

软设之排序算法对比
直接插入 时间复杂度:平均情况为O(n^2)。特殊情况下基本有序最优为O(n) 空间复杂度:O(1) 希尔排序 时间复杂度:平均情况O(n^1.3) 空间复杂度:O(1) 直接选择排序 时间复杂度:O(n^2) 空间复杂度:O(1) 堆排序 时间复杂度:O(nlog(2)n) 空间复杂度:O(1) 冒泡排序 时间…...

javascript导入excel文件
导入文件用到一个 xlsx.core.js 的包。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><script type"tex…...

「C系列」C 变量及常见问题梳理
文章目录 一、C 变量1. 整数变量2. 浮点数变量3. 字符变量4. 字符串变量(在C中,通常使用字符数组来表示字符串) 二、C 变量-常见问题1. 变量未初始化2. 变量类型不匹配3. 变量作用域问题4. 变量命名冲突5. 变量越界访问6. 变量声明位置7. 变量…...

<网络安全VIP>第二篇《工业控制软件》
1 PLC PLC,(Programmable Logic Controller),可编程逻辑控制器(PLC)是种专门为在工业环境下应用而设计的数字运算操作电子系统。 2 DCS 四、DCS的发展趋势 一、DCS的基本定义 DCS是分布式控制系统(Distributed Control System)的英文缩写,在国内自控行业又称之为集…...

微服务:Rabbitmq中的不同交换机的使用Fanout、Direct、Topic(消息队列中间件)
文章目录 发布订阅Fanout 交换机Direct 交换机Topic 交换机通配符规则 发布订阅 在这里插入图片描述 Fanout 交换机 Fanout 交换机会将收到的消息路由到每一个跟其绑定的queue上。 我们做一个交换机,两个队列,两个消费者分别连接两个队列。 定义交换…...

数据结构单链表的前插法实现
单链表的前插法实现可以通过以下步骤进行: 创建一个新的节点,并将要插入的元素存储在新节点的数据域中。 将新节点的指针域指向原链表的头节点。 将原链表的头节点指向新节点。 具体代码实现如下所示: class Node:def __init__(self, da…...

Cocos Creator开发学习路线
1.JavaScript与TypeScript程序设计 由于可以跨平台发布,同时要能支持h5的游戏,cocos creator选择了JavaScript与TypeScript来做为它的开发语言,所以我们要先学习JavaScript与TypeScript。TypeScript是基于JavaScript的一个语法糖,运行的时候被编译为JavaScript,所以我们要…...

C语言:IO操作
引言 I/O操作是一切实现的基础。IO即为input &output 标准IO(stdio) FILE类型贯穿始终,FILE是由typedef定义出来的 vii /usr/include/asm-generic/errno-base.h (errno定义的位置) /usr/include/x86_64-linux-gnu/bits/types/struct…...

算法 | 刷题日记
1.递归通常是用栈来实现的 递归在其本质上是通过函数调用栈(Call Stack)来实现的,而不是队列(Queue)。当你调用一个函数时,该函数的局部变量、参数和返回地址会被压入(push)到一个由…...

微信小程序登录接口
微信小程序登录,实现思路分析: 用户触发登录操作:用户在微信小程序中点击“登录”按钮,触发登录流程。调用微信登录接口:小程序端调用微信提供的登录接口(如wx.login),获取临时登录…...

VBA实战(Excel)(5):介绍一种排列组合算法
1. 需求场景 有多个条件,条件个数不定,每个条件有若干种情况,情况个数不定,输出所有条件可能的情况的排列组合。 2.举例 假设第一次有5个情况要填,第一个条件20种情况,第二个5种,第三个40种&…...

迭代器的使用
参考: 生成器迭代器next函数 迭代器的使用 说到迭代器就必须先要提一下可迭代对象(iterable),可迭代对象是能够逐一返回其成员项的对象。可迭代对象包括序列类型(如list、str、tuple)和非序列类型&#…...

安卓手机APP开发___广播概述
安卓手机APP开发___广播概述 目录 概述 关于系统广播 系统广播所发生的更改 接收广播 清单声明的接收器 上下文注册的接收器 对进程状态的影响 发送广播 通过权限限制广播 带权限的发送 带权限的接收 安全注意事项和最佳做法 概述 Android 应用可以通过 Android …...

【封装】Unity切换场景不销毁物体
在切换场景时,如果物体不需要销毁,可以直接使用下方脚本 代码 public class DontDestroyLoader : MonoBehaviour{ //所有不销毁的物体预制体[SerializeField] private GameObject[] dontDestroyPrefabs;//实例化预制体public void Load(){foreach (var …...

基于学习的决策树
基于学习的决策树概述 决策树是一种监督学习方法,广泛应用于分类和回归任务中。基于学习的决策树模型通过学习数据中的特征来构建树状结构,帮助做出决策。以下是对基于学习的决策树的详细介绍,包括其基本概念、工作流程、构建算法、优势和挑…...

godot.bk2
1.$node_name 其实 就是 get_node 的语法糖 2.场景内部用get_node,场景外部用信号 这是自定义信号的绑定,如果是内置信号,直接右键点击链接到一个函数即可 3.场景切换和摄像头一直居中 4.class_name命名一个类,extends继承&…...

STM32 IIC 使用 HAL 库操作eeprom
在STM32上通过I2C接口(注意:在标准STM32库中,I2C接口通常被写为"I2C"而不是"IIC")与EEPROM芯片通信时,你需要遵循I2C通信协议,并使用STM32的HAL库或标准外设库(如果适用&am…...

YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)
1.效果视频:海洋船只检测yoloV8检测(https://mbd.pub/o/bread/mbd-ZpaYk55r)_哔哩哔哩_bilibili资源包含可视化的海洋船只检测系统,可对于高空拍摄到的海洋图片进行轮船检测,基于最新的YOLOv8训练的海洋船只检测模型&a…...

PCL 高阶多项式曲线回归拟合(二维)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 高阶多项式曲线回归(Polynomial Regression)是一种线性回归模型的扩展,它允许数据拟合一个非线性的曲线。虽然多项式本身是非线性的,但我们可以通过引入新的变量(例如,原始变量的平方、立方等)来将问题转化为…...

深入理解 Python3 函数:从基础语法到高级应用
Python3 函数是构建模块化代码的基本单位,允许我们将代码组织成独立的、可重用的块。本文将详细介绍 Python3 函数的基本语法、常用命令、示例、应用场景、注意事项,并进行总结。 基本语法 在 Python 中,函数的定义使用 def 关键字…...