当前位置: 首页 > news >正文

Linux进程学习【基本认知】

🌼🌼前言:前言理解冯诺依曼体系结构与操作系统原理

在计算机科学的基础理论中,冯诺依曼体系结构和操作系统是两个关键概念,它们共同构成了现代计算机的运行基础。本文将从这两个方面入手,简要讲解它们的基本原理和相互关系。

一、冯诺依曼体系结构:计算机的基础框架
1. 冯诺依曼体系结构概述

冯诺依曼体系结构,又称普林斯顿结构,是一种经典的计算机结构设计模型。其核心思想是将程序指令存储器和数据存储器合并为一个统一的存储空间,并且通过共享的内存接口进行数据交换。在这种结构中,程序指令和数据位于内存的不同物理位置,但它们的存储形式和存取方式是一样的。

冯诺依曼体系结构被广泛应用于各类计算机系统中,包括从最早的EDVAC电子计算机到现代的高性能处理器。这个结构的设计思想至今仍是计算机系统的基石。

2. 冯诺依曼体系的组成

冯诺依曼体系结构的核心由五个基本组成部分构成:

  • 运算器(ALU):负责执行算术和逻辑运算。

  • 控制器(CU):管理计算机的指令流,控制数据流动和硬件操作。

  • 存储器(Memory):存储数据和程序指令,CPU通过内存与其他硬件设备进行交互。

  • 输入设备(Input):如键盘、鼠标、摄像头等,负责将外部信息输入计算机。

  • 输出设备(Output):如显示器、打印机等,负责展示计算机处理结果。

在冯诺依曼结构中,所有的数据和指令都必须通过内存CPU只能与内存进行交互,而不能直接操作外设(输入输出设备)。所有的输入输出操作实际上是通过内存中介完成的,这样可以避免CPU和外设之间的速度差异对计算机整体性能的影响。

3. 内存和数据流动

冯诺依曼体系架构中的内存扮演了至关重要的角色。所有的外设数据都首先传输到内存,再由内存传递到CPU,经过处理后再返回内存,并最终传输到输出设备。内存作为数据的缓存和中转站,大大提升了数据处理的效率。

二、操作系统:硬件和用户之间的桥梁
1. 操作系统的定义

操作系统(OS)是管理计算机硬件与软件资源的系统软件,它提供了一个稳定、有效的执行环境,允许用户和程序通过高效的方式使用计算机资源。简而言之,操作系统是计算机与用户之间的桥梁,帮助用户操作硬件、运行应用程序,并提供必要的服务和接口。

操作系统的功能远超简单的资源调度,它还涉及到进程管理、内存管理、文件系统管理和设备驱动管理等多个方面。

2. 为什么需要操作系统?

操作系统的出现是因为计算机硬件的复杂性远超单一用户的需求。假设每个用户都可以直接与硬件交互,效率将大打折扣,而且系统的安全性和稳定性也无法保障。

操作系统通过以下方式来简化与硬件的交互:

  • 资源管理操作系统管理计算机的所有硬件资源,包括处理器、内存、存储设备和输入输出设备,确保资源的合理分配和高效利用。

  • 进程与线程管理:操作系统负责调度进程的执行,确保各个进程之间不会相互干扰,提供多任务处理能力。

  • 内存管理:操作系统通过虚拟内存管理技术,为每个程序分配独立的内存空间,有效避免了程序之间的数据干扰。

  • 文件管理:操作系统提供文件系统,使得用户能够方便地存储和管理数据文件。

3. 驱动程序与硬件抽象

操作系统和硬件之间并不是直接交互的,操作系统通常依赖于驱动程序来管理硬件设备。每种硬件设备都需要一个对应的驱动程序,这些程序为操作系统提供硬件的抽象层,操作系统通过驱动程序与硬件进行交互。

例如,计算机的硬盘更换时,用户只需要更新硬盘的驱动程序,而不需要更改操作系统本身的代码。驱动程序为硬件和操作系统之间提供了一个可扩展的接口,使得硬件的更新和维护变得更加容易。

4. 系统调用与库函数

操作系统通常会暴露一些系统调用接口供开发者和程序使用。系统调用是操作系统向外提供的基本服务接口,程序可以通过这些接口来执行文件操作、内存分配、进程管理等基础功能。

对于开发者来说,直接使用系统调用较为复杂,因此操作系统还会提供一些封装好的库函数。这些库函数基于系统调用,将常见的操作封装成简单的函数,供程序开发者调用。

三,🚀 进程管理 

 进程 是计算机中的重要概念,每个运行中的程序都有属于自己的 进程 信息,操作系统可以根据这些信息来进行任务管理,比如在我们Windows中的任务管理器中,可以看到各种运行中的任务信息,这些任务就可以称之为 进程,简单的 进程 二字后面包含着许多知识,比如为什么OS需要对任务进行管理、任务信息是如何组成的、如何创建新任务等,下面我将带大家从 冯诺依曼 结构体系开始,理解学习 进程 相关知识。


 在操作系统的核心职能中,进程管理是至关重要的组成部分,它直接关系到计算机如何有效地运行多个任务。理解进程的概念和管理方式,是学习操作系统的基础之一。

操作系统的基本职能

操作系统的功能可以分为四大部分:

  • 内存管理

  • 进程管理

  • 文件管理

  • 设备管理

进程

我们以前的任何启动并运行程序的行为,都是由 操作系统 帮助我们将程序转换为 进程,然后完成特定任务。

正确定义:进程 由两边组成,分别是 相关代码和数据 和 内核关于进程的相关数据结构
也就是说,一个 进程 应该有两部分,数据 与 信息,此处的 信息(进程控制块) 是由 操作系统 对代码和数据进行描述后生成的 信息块 ,原因很简单,方便进行管理,而这就是管理本质的体现: 先描述,再组织

我们对 进程 的相关学习是建立在 进程控制块 上的,上面包含了其对应 进程 的各种信息,下面就来学习一下 数据 与 信息 这两部分知识吧

📃代码与数据
数据生万物,任何一个进程都有自己的代码和数据,比如我们常见的 C语言 源文件,经过编译后生成的可执行程序中,就包含着二进制代码和其创建修改的时间、所处位置信息

 当可执行程序 myprocess 运行时,各种数据就会被描述,生成相应的进程控制块

📃进程控制块

进程控制块即PCB(process control block)Linux 中的 PCB 是 task_struct,程序会被描述生成相应的task_struct 装载至 内存 中。

进程在CPU上面运行实际上是将 

 进程控制块包含内容:

标示符: 描述本进程的唯一标示符,用来区别其他进程

状态: 任务状态,退出代码,退出信号等
优先级: 相对于其他进程的优先级
程序计数器: 程序中即将被执行的下一条指令的地址
内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
上下文数据: 进程执行时处理器的寄存器中的数据
I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表
记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等
其他信息
注: ./可执行程序 其实就是将可执行程序加载至内存中,再执行描述+组织

四, 进程PID的介绍
1.PID进程标识符

 PID(Process ID)即进程标识符,是操作系统为每个进程分配的一个唯一的数字编号:

查看进程PID的几种方法:

1,指令查找 

操作系统提供了多种方式来查看进程的状态和信息。在Linux中,常见的查看工具包括:

ps 命令

ps(Process Status)命令用于查看当前系统中运行的进程。结合管道和grep命令,可以精确查找目标进程。

  • 示例命令 

  • ps -ajx|head -1;ps -ajx|grep filename|grep -v grep

命令列出系统指定文件进程的信息,并且可以通过管道将输出结果过滤,以便查找特定的进程。

top 命令

top 命令类似于Windows的任务管理器,它提供了一个动态实时的进程视图,允许用户监控系统的资源使用情况。

  • 示例命令:

  • top

top 命令显示的内容包括:进程的PID、用户、CPU占用率、内存占用率等信息。

/proc 目录

Linux系统将所有进程的信息存储在 /proc 目录下。每个正在运行的进程都有一个对应的目录,目录名称即为进程的PID。

  • 查看某个进程的信息:

  • cd /proc/PID/   //先进后看

    ls /proc/PID/

通过访问这些文件,我们可以了解进程的详细信息,包括内存使用情况、CPU时间、打开的文件描述符等。

 2.通过调用系统函数

 操作系统对进程进行管理,但是用户不能直接访问操作系统,因此需要通过系统提供的系统调用函数来管理进程。

查看pid的函数为getpid();

可以通过man手册进行查询,输入命令:  man getpid

通过创建一个C语言代码来查看PID:

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>int main()
{while(1){printf("I am a process,pid: %d\n",getpid());//查看pidsleep(1);//打印一次之后休眠一秒}return 0;
}

2.PPID父进程的PID

进程其实还有父亲,儿子这种说法。还可以用指令,函数等等,查看父进程的PID,在子进程中父进程的PID 名字叫做PPID。 

 该程序的父进程是bash(命令行解释器) 。

注:

  • 进程可以创建也可以销毁,通过指令 kill -9 PID 可以销毁指定进程,包括 bash,当然这个指令需要在新的窗口中执行
  • 也可以通过热键 ctrl+c 强制终止当前进程的运行
 五,创建父子进程

创建跟上面查看进程一样,需要调用系统提供的函数。创建进程的函数为fork();fork之后,父子代码共享。 

/*
* 创建子进程
* 这个函数有两个返回值
* 进程创建成功时,给父进程返回子进程的PID,给子进程返回0
* 创建失败时,返回 -1
*/
int fork(void)

fork 函数是一个非常重要的函数,它能在当前进程下主动创建 子进程 ,用于程序中
编写代码如下:

#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>/** 测试fork创建子进程* 理解fork函数的返回值* 通过if语句进行分流* 总结:fork创建子进程成功时,给父进程返回子进程PID,给子进程返回0,如果失败返回-1;通过两次fork可以发现当父进程执行后,才会去执行子进程,父子进程间存在独立性,即父进程被kill后,子进程任然可以运行,父子进程间存在写时拷贝机制,当子进程的值发生改变时,只会作用于子进程中*/int main()
{pid_t ret = fork(); //获取返回值int val = 1;  //比较值if(ret == 0){//在子进程内再创建(孙)子进程pid_t rett = fork();if(rett > 0){while(1){val = 2;  //写时拷贝printf("二代进程正在执行 PID:%d PPID:%d 比较值为:%d 地址:%p\n\n", getpid(), getppid(), val, &val);sleep(1);}}else if(rett == 0){while(1){val = 3;  //写时拷贝printf("三代进程正在执行 PID:%d PPID:%d 比较值为:%d 地址:%p\n\n", getpid(), getppid(), val, &val);sleep(1);}}elseprintf("进程创建失败\n");}else if(ret > 0){while(1){val = 1;  //写时拷贝printf("一代进程正在执行 PID:%d PPID:%d 比较值为:%d 地址:%p\n\n", getpid(), getppid(), val, &val);sleep(1);}}elseprintf("进程创建失败\n");return 0;
}

 

不难发现,子进程 是否出现取决于在当前进程中是否调用 fork 函数 

fork函数工作原理:

  • fork 创建子进程时,会新建一个属于 子进程 的 PCB ,然后把 父进程 PCB 的大部分数据拷贝过来使用,两者共享一份代码和数据

各进程间是相互独立的,包括父子进程
这句话当我们销毁 父进程 后,它所创建的 子进程 并不会跟着被销毁,而是被 init 1号进程接管,成为一个 孤儿进程

 fork 创建子进程时还存在 写时拷贝 这种现象,即存在一个变量,当父进程的改变值时,不会影响子进程的值,同理子进程也不会影响父进程,再次印证 相互独立 这个现象

 父子进程相互独立的原因:

  • 代码是只读的,两者互不影响
  • 数据:当其中一个执行流尝试修改数据时,OS 会给当前进程触发 写时拷贝 机制

以上只是对 fork 函数的一个简单介绍,关于这个函数底层是如何实现的,是一件较复杂的事,限于篇幅原因,我会在以后对此函数进行补充。

以上就是本文关于 进程 相关知识的讲解了,我们从 冯诺依曼 体系切入,理解了为什么需要 操作系统 ,以及 操作系统 是如何对计算机进行合理管理的:先描述,再组织;之后引入 进程 概念,清楚 进程 的构成及如何通过多种方式查看 进程 信息,最后学习了 fork 创建子进程,见识了 进程间具有独立性 这个重要概念。进程

相关文章:

Linux进程学习【基本认知】

&#x1f33c;&#x1f33c;前言&#xff1a;前言理解冯诺依曼体系结构与操作系统原理 在计算机科学的基础理论中&#xff0c;冯诺依曼体系结构和操作系统是两个关键概念&#xff0c;它们共同构成了现代计算机的运行基础。本文将从这两个方面入手&#xff0c;简要讲解它们的基本…...

电子工厂POE交换机端口数量选择与部署策略

引言 在电子工厂的智能化升级过程中&#xff0c;POE&#xff08;Power over Ethernet&#xff09;交换机凭借其“供电数据传输”一体化功能&#xff0c;成为构建工业物联网的核心设备。与传统工业交换机相比&#xff0c;POE交换机通过单根网线实现设备供电与数据交互&#xff…...

Codeforces Round 1020 (Div. 3) A-D

A. Dr. TC https://codeforces.com/contest/2106/problem/A 题目大意&#xff1a; 对输入字符串每个位置字符依次翻转&#xff08;1->0 , 0->1) 比如: 101 001 翻转位置1 111 2 100 3 题解&#xff1a; 观察数学特征&#xff1a;ansn…...

电子病历高质量语料库构建方法与架构项目(提示词设计篇)

电子病历人工智能提示词工程是医疗AI应用中的关键技术环节,它直接影响大语言模型在医疗场景下的输出质量和可靠性。随着大语言模型在电子病历生成、质控、数据提取等领域的广泛应用,如何通过编程实现高效、精准的提示词工程成为医疗信息化建设的重要课题。本文将系统介绍电子…...

蓝桥杯 4. 卡片换位

卡片换位 原题目链接 题目描述 你玩过华容道的游戏吗&#xff1f; 这是一个类似的&#xff0c;但更简单的游戏。 看下面的 3 2 格子&#xff1a; --------- | A | * | * | --------- | B | | * | ---------在其中放置了 5 张牌&#xff0c;其中&#xff1a; A 表示关…...

用python进行OCR识别

原文链接&#xff1a;https://www.bilibili.com/opus/1036675560501149699 我担心原作者删除&#xff0c;所以重新拷贝了一遍 1.下载tesseract 链接&#xff1a;https://github.com/UB-Mannheim/tesseract/wiki 这里示例安装最新版本 点击下载tesseract安装包 2.安装tess…...

【大语言模型】大语言模型(LLMs)在工业缺陷检测领域的应用

大语言模型&#xff08;LLMs&#xff09;在工业缺陷检测领域的应用场景正在快速扩展&#xff0c;结合其多模态理解、文本生成和逻辑推理能力&#xff0c;为传统检测方法提供了新的技术路径。以下是该领域的主要应用场景及相关技术进展&#xff1a; 1. 多模态缺陷检测与解释 视…...

202531读书笔记|《天上大风:良宽俳句·短歌·汉诗400》——我别无他物款待君,除了山中冬日寂寥,陶然共一醉,不知是与非,一饱百情足,一酣万事休

202531读书笔记|《天上大风&#xff1a;良宽俳句短歌汉诗400》——我别无他物款待君&#xff0c;除了山中冬日寂寥&#xff0c;陶然共一醉&#xff0c;不知是与非&#xff0c;一饱百情足&#xff0c;一酣万事休 《天上大风&#xff1a;良宽俳句短歌汉诗400》良宽是公认与松尾芭…...

HTMLCSS模板实现水滴动画效果

.container 类&#xff1a;定义了页面的容器样式。 display: flex&#xff1a;使容器成为弹性容器&#xff0c;方便对其子元素进行布局。justify-content: center 和 align-items: center&#xff1a;分别使子元素在水平和垂直方向上居中对齐。min-height: 100vh&#xff1a;设…...

Python爬虫(5)静态页面抓取实战:requests库请求头配置与反反爬策略详解

目录 一、背景与需求‌二、静态页面抓取的核心流程‌三、requests库基础与请求头配置‌3.1 安装与基本请求3.2 请求头核心参数解析‌3.3 自定义请求头实战 四、实战案例&#xff1a;抓取豆瓣读书Top250‌1. 目标‌2. 代码实现3. 技术要点‌ 五、高阶技巧与反反爬策略‌5.1 动态…...

电子病历高质量语料库构建方法与架构项目(数据遗忘篇)

引言 在人工智能与医疗健康的深度融合时代,医疗数据的价值与风险并存。跨机构和平台的医疗数据共享对于推动医学研究、提高诊断精度和实现个性化治疗至关重要,但同时也带来了前所未有的隐私挑战。先进的AI技术可以从理论上去标识化的医疗扫描中重新识别个人身份,例如从MRI数…...

需求开发向设计规划的转化-从需求到设计和编码

需求和设计之间存在差别&#xff0c;但尽量使你的规格说明的具体实现无倾向性。理想情况是&#xff1a;在设计上的考虑不应该歪曲对预期系统的描述&#xff08; Jackson 1995&#xff09;。需求开发和规格说明应该强调对预期系统外部行为的理解和描述。让设计者和开发者参与需求…...

browser-use:AI驱动的浏览器自动化工具使用指南

AI驱动浏览器自动化 browser-use下载项目创建Python环境安装依赖配置环境运行WebUI简单使用Deep Research使用本地浏览器免登录 browser-use browser-use是一个基于 Python 的开源库&#xff0c;旨在简化 AI 代理与浏览器之间的交互。它将先进的AI功能与强大的浏览器自动化功能…...

Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)

Java从入门到“放弃”&#xff08;精通&#xff09;之旅&#x1f680;——JavaSE终篇&#xff08;异常&#xff09; 一、异常的概念与体系结构 1.1 什么是异常&#xff1f; 在生活中&#xff0c;当一个人表情痛苦时&#xff0c;我们可能会关心地问&#xff1a;"你是不是生…...

TCP协议理解

文章目录 TCP协议理解理论基础TCP首部结构图示字段逐项解析 TCP是面向连接&#xff08;Connection-Oriented&#xff09;面向连接的核心表现TCP 面向连接的核心特性TCP 与UDP对比 TCP是一个可靠的(reliable)序号与确认机制&#xff08;Sequencing & Acknowledgment&#xf…...

NS3-虚拟网络与物理网络的交互-1 仿真概述

NS3-虚拟网络与物理网络的交互-1 仿真概述 目录 1. 仿真概述1.1 Testbed 仿真示例-FdNetDevice1.2 模拟通道示例-TapDevice 1. 仿真概述 NS-3 专为集成到 TestBed 和虚拟机中而设计 环境。我们通过提供两种网络设备来满足这一需求。 第一种设备是文件描述符 net 设备 &#x…...

晶振老化:不可忽视的隐患与预防策略

在电子设备的世界里&#xff0c;晶振如同精准的时钟&#xff0c;为电路系统提供稳定的频率信号。然而&#xff0c;随着时间推移&#xff0c;晶振会不可避免地出现老化现象。这个看似细微的变化&#xff0c;却可能引发设备性能下降、数据传输错误等一系列问题。晶振老化究竟藏着…...

企业为何要禁止“片断引用开源软件代码”?一文看透!

开篇故事&#xff1a;一段“开源代码”引发的百亿级灾难 某电商平台为快速上线新功能&#xff0c;从GitHub复制了一段“高性能加密算法”代码到支付系统中。 半年后&#xff0c;黑客通过该代码中的隐藏后门&#xff0c;盗取百万用户信用卡信息。 事后调查&#xff1a;这段代…...

测试模版x

本篇技术博文摘要 &#x1f31f; 引言 &#x1f4d8; 在这个变幻莫测、快速发展的技术时代&#xff0c;与时俱进是每个IT工程师的必修课。我是盛透侧视攻城狮&#xff0c;一名什么都会一丢丢的网络安全工程师&#xff0c;也是众多技术社区的活跃成员以及多家大厂官方认可人员&a…...

deepseek-r1-671B满血版,全栈式智能创作平台 - 多模态大模型赋能未来创作

引领AI创作新纪元 比象AI全栈式智能创作平台是基于全球领先的多模态大模型技术构建的新一代AI创作引擎&#xff0c;集成了前沿的BeyondLM-7B认知计算框架、BeyondDiffusion-XL视觉生成系统和BeyondSynth音视频合成技术&#xff0c;打造从内容构思到成品输出的完整智能创作闭环…...

Promethues 普罗米修斯

Prometheus 并非传统意义上的数据库&#xff0c;而是一个开源的系统监控和报警工具包&#xff0c;但它的核心组件之一是时间序列数据库&#xff0c;用于存储监控指标数据。以下是对 Prometheus 及其时间序列数据库功能的详细介绍&#xff1a; 1. Prometheus 概述 目标定位&a…...

Web 服务架构与技术组件概述

目录 web服务流程图 Web 服务流程图描述了客户端与服务器之间的交互。首先&#xff0c;用户通过浏览器发送请求到 Web 服务器。如果请求的是静态资源&#xff08;如 HTML、CSS、图片&#xff09;&#xff0c;Web 服务器直接返回响应&#xff1b;如果是动态资源&#xff0c;We…...

华硕NUC产品闪耀第31届中国国际广播电视信息网络展览会

2025年4月22日&#xff0c;第31届中国国际广播电视信息网络展览会在北京国家会议中心盛大开幕。作为一年一度的行业盛会&#xff0c;展会汇聚了来自全球各地的顶尖技术与设备厂商。在这片科技与创新交织的海洋中&#xff0c;华硕NUC以其卓越性能、小巧体积和创新技术十分引人注…...

Matplotlib高阶技术全景解析(续):动态交互、三维可视化与性能优化

目录 ​编辑 一、动态可视化&#xff1a;实时数据流与动画生成 1. 实时数据流可视化 2. 复杂动画控制 二、三维可视化&#xff1a;科学计算与工程建模 1. 基础三维绘图 2. 高级三维渲染优化 三、交互式可视化&#xff1a;GUI集成与Web部署 1. Tkinter/PyQt嵌入式开发 …...

[DDD传灯录]禅师:这,就是领域驱动设计(01-02)

用《软件方法》引领AI全流程开发-5月12-14日第3期 领域驱动设计是革命性的创造&#xff0c;是划时代的洞见&#xff0c;是解决业务领域用户需求技术系统功能逻辑架构分析设计复杂性的敏捷精益方法学。 这一切的根源&#xff0c;归结于领域驱动设计蕴含丰富的佛学思想。佛学是所…...

0基础 | Proteus仿真 | 51单片机 | 继电器

继电器---RELAY 本次选择一款5v一路继电器进行讲解 信号输入 IN1输入高电平&#xff0c;三极管导通&#xff0c;LED1点亮&#xff0c;电磁铁12接通吸引3向下与4接通&#xff0c;J1A的12接通 IN1输入低电平&#xff0c;则J1A的23接通 产品引脚定义及功能 序号 引脚符号 引脚…...

鸿蒙应用开发证书考试的一点想法

一、介绍&#xff1a; 直接上图 二、体验后的想法&#xff1a; 1.知识点在指南API参考最佳实践里面找 2.没有明确说明考试不能查第1点的文档&#xff0c;但是考试只有1个小时&#xff0c;合理分配时间 3.切屏三次后自动提交要注意&#xff0c;每月3次机会下月又有3次机会&a…...

MiniMind模型的web交互功能初试

MiniMind模型的web交互功能初试 一、前言 MiniMind提供了基于streamlit的web交互功能&#xff0c;能够即时切换模型和修改相关参数&#xff0c;经初步测试&#xff0c;具有比较好的体验感。本文介绍了使用MiniMind使用web交互功能的方法&#xff0c;并对使用中出现的问题给出…...

手把手玩转 JSON:快递包裹式思维拆箱装箱,Python / Java / Scala 全景实战指南

在日常开发中&#xff0c;JSON 就像全栈程序员口袋里那把万用螺丝刀——既轻便又几乎无处不在。本文面向初学者和中级读者&#xff0c;用“快递包裹”与“便签盒子”的比喻&#xff0c;结合 Python / Java / Scala 三语种示例&#xff0c;带你从概念、语法到实战全面掌握 JSON。…...

HFSS5(李明洋)——设置激励(波端口激励)

Magnetic是适用于铁磁氧导体的,只有前三种激励类型可以用于计算S参数 1波端口激励 也可以设置在模型内部,如果是设置在模型内部必须加一段理想导体,用于指定端口方向 1.1——模式 number 输入N:计算1-N的模式都计算 1.2——模式校准 计算端口特征阻抗有三种方式:Zpi、…...

NVIDIA --- 端到端自动驾驶

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、传统驾驶模型二、NVIDIA的端到端驾驶模型1.基本模型2.自查讯向量3.通用框架 总结 前言 端到端自动驾驶指的是系统接收来自摄像头雷达和激光雷达的原始传感…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(11): てあります。

日语学习-日语知识点小记-构建基础-JLPT-N4阶段&#xff08;11&#xff09;&#xff1a; てあります。 1、前言&#xff08;1&#xff09;情况说明&#xff08;2&#xff09;工程师的信仰 2、知识点&#xff08;1&#xff09;てあります。&#xff08;&#xff12;&#xff09;…...

【前端】如何检查内存泄漏

在实际的场景中&#xff0c;如果观察到内存持续出现峰值&#xff0c;并且内存消耗一直没有减少&#xff0c;那可能存在内存泄漏。 使用 Chrome DevTools 来识别内存图和一些内存泄漏&#xff0c;我们需要关注以下两个方面&#xff1a; ● 使用性能分析器可视化内存消耗&#xf…...

【多线程】四、死锁

文章目录 Ⅰ. 死锁的概念Ⅱ. 死锁的四个必要条件Ⅲ. 避免死锁的方案Ⅳ. 避免死锁的算法Ⅰ. 死锁的概念 ​ 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态。 ​ 通常,死锁发生在多个进程同时需要…...

【现代深度学习技术】循环神经网络06:循环神经网络的简洁实现

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

Video-LLaVA

一、研究背景与现有方法局限性 在多模态大语言模型(LVLMs)的发展中,现有方法面临两大核心挑战。其一为单一模态处理的局限,多数 LVLMs 仅能处理图像 - 语言或视频 - 语言等单一视觉模态,难以在统一框架下高效整合多种视觉输入。其二为统一表示的困难,尽管部分研究尝试通过…...

firewalld 详解

firewalld 详解 firewalld 是 Linux 系统中一个动态防火墙管理工具&#xff0c;取代了传统的 iptables&#xff0c;提供更灵活、动态的规则配置&#xff0c;支持运行时修改且无需重载服务。以下是其核心概念、常用操作及示例指南&#xff1a; 一、核心概念 区域&#xff08;Zo…...

QuecPython+USBNET:实现USB网卡功能

USBNET 概述 USBNET&#xff08;USB Networking&#xff09; 是一种通过 USB 接口 实现网络通信的技术&#xff0c;允许设备通过 USB 连接模拟以太网&#xff08;Ethernet over USB&#xff09;或直接进行网络数据传输。它广泛应用于嵌入式设备、工业控制、虚拟机和便携式设备…...

百度搜索AI开放计划:助力开发者通过MCP Server连接用户和应用

百度搜索AI开放计划&#xff1a;助力开发者通过MCP Server连接用户和应用 一、背景 2025年4月25日&#xff0c;百度在Create开发者大会上发布了全新的AI开放计划。这一计划的核心目的是实现用户和AI应用、MCP Server的高效链接&#xff0c;提供更流畅的互动体验&#xff0c;推…...

一文带你了解单例模式及其逐步优化~

单例模式 单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。 使用场景&#xff1a; 需要频繁创建和销毁的对象 创建对象时耗时过多或资源消耗过大 工具类对象&#xff08;无状态的工具类&#xff09; 访问…...

【金仓数据库征文】-不懂数据库也能看懂!一文解析金仓技术介绍以典型应用

目录 一、主角登场 没有数据库&#xff0c;你的生活可能会 “乱套” 国产数据库之金仓 KingbaseES 金仓数据库凭啥 “C 位出道”&#xff1f; 二、金仓数据库产品核心解析 企业级数据库 “全能选手” 巧妙的 “内部协作” 按需选择的版本 四、生态联合解决方案深度探索…...

什么是视频上墙

视频联动上墙是指当监控系统中出现报警或其他特定事件时&#xff0c;相关的视频画面能够自动切换并显示在指定的监控大屏或显示设备上&#xff0c;以便监控人员能够快速、直观地查看事件现场的情况&#xff0c;及时做出响应和处理。 具体介绍• 系统组成 &#xff1a;一般由前端…...

C++初登门槛

多态 一、概念 多态是指不同对象对同一消息产生不同响应的行为。例如&#xff0c;蓝牙、4G、Wi-Fi 对“发送数据”指令有不同的具体实现。 二、核心理解 本质&#xff1a;通过基类指针或引用操作子类对象&#xff0c;实现运行时动态绑定。 表现形式&#xff1a; 接口统一&a…...

【金仓数据库征文】- 金融HTAP实战:KingbaseES实时风控与毫秒级分析一体化架构

文章目录 引言&#xff1a;金融数字化转型的HTAP引擎革命一、HTAP架构设计与资源隔离策略1.1 混合负载物理隔离架构1.1.1 行列存储分区策略1.1.2 四级资源隔离机制 二、实时流处理与增量同步优化2.1 分钟级新鲜度保障2.1.1 WAL日志增量同步2.1.2 流计算优化 2.2 物化视图实时刷…...

SpringBoot 学习

什么是 SpringBoot SpringBoot 是基于 Spring 生态的开源框架&#xff0c;旨在简化 Spring 应用的初始化搭建和开发配置。它通过约定大于配置的理念&#xff0c;提供快速构建生产级应用的解决方案&#xff0c;显著降低开发者对 XML 配置和依赖管理的负担。 特点&#xff1a; …...

Q2桥门式起重机司机考试复习重点

Q2桥门式起重机司机考试复习重点 Q2桥门式起重机司机属于特种设备作业人员&#xff0c;理论考试重点复习时应重点掌握以下内容&#xff1a; 1、基础知识 桥门式起重机的结构组成&#xff08;大车、小车、起升机构、电气系统等&#xff09;。 主要技术参数&#xff08;额定起…...

并发设计模式实战系列(7):Thread Local Storage (TLS)

&#x1f31f; 大家好&#xff0c;我是摘星&#xff01; &#x1f31f; 今天为大家带来的是并发设计模式实战系列&#xff0c;第七章Thread Local Storage (TLS)&#xff0c;废话不多说直接开始~ 目录 一、核心原理深度拆解 1. TLS内存模型 2. 关键特性 二、生活化类比&a…...

本地使用Ollama部署DeepSeek

以下是在本地使用Ollama部署DeepSeek的详细教程&#xff0c;涵盖安装、修改安装目录、安装大模型以及删除大模型的操作步骤。 安装Ollama 1. 系统要求 确保你的系统满足以下条件&#xff1a; 操作系统&#xff1a;macOS、Linux或者Windows。足够的磁盘空间和内存。 2. 安装…...

通过VSCode远程连接到CentOS7/Ubuntu18等老系统

通过VSCode远程连接到CentOS7/Ubuntu18等老系统 背景 VSCode的远程连接插件Remote SSH一直以来是简单好用的远程工具。然而&#xff0c;2025年2月之后的版本在远程安装vscode-server时&#xff0c;预编译的server依赖glibc 2.28&#xff0c;这就要求Linux远程机的glibc版本应…...

Python在AI虚拟教学视频开发中的核心技术与前景展望

Python在AI虚拟教学视频开发中的核心技术与前景展望 一、引言&#xff1a;AI虚拟教学的技术革新 随着教育数字化转型加速&#xff0c;AI虚拟教学视频凭借个性化、沉浸式体验成为教育科技的新风口。Python以其强大的多模态处理能力、丰富的开源生态和跨领域兼容性&#xff0c;成…...