最新资讯

  • 【Linux篇】从冯诺依曼到进程管理:计算机体系与操作系统的核心逻辑

【Linux篇】从冯诺依曼到进程管理:计算机体系与操作系统的核心逻辑

2025-04-27 09:37:07 0 阅读

📌 个人主页: 孙同学_
🔧 文章专栏:Liunx
💡 关注我,分享经验,助你少走弯路!

文章目录

    • 1.冯诺依曼体系结构
      • 存储分级
      • 理解数据流动
    • 2. 操作系统(Operator System)
      • 2.1 概念
      • 2.2 设计OS的目的
      • 2.3 核心功能
        • 2.3.1 如何理解"管理"
      • 2.4 系统调用和库函数概念
    • 3. 进程
      • 3.1 基本概念与基本操作
      • 3.2 描述进程-PCB
        • 3.2.1 task_struct
      • 3.3 查看进程

1.冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

截至目前,我们所认识的计算机,都是由一个个的硬件组件组成

  • 输入单元:包括键盘,鼠标,扫描仪,写板等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出单元:显示器,打印机等

再次强调:
程序运行时必须先从磁盘加载到内存,CPU获取写入只能从内存中拿数据,CPU执行我们的代码,访问我们的数据,数据从一个设备“拷贝”到另一个设备
体系结构的效率:由设备的拷贝效率决定
结论: CPU在数据层面只和内存打交道,外设只和内存打交道

存储分级


由于外设的速度比较慢,CPU的速度较快,所以外设和CPU之间就存在木桶原理,内存的出现让CPU和外设的速度更匹配。
冯诺依曼体系结构的存在使得电脑变便宜了。

理解数据流动


两个人如果在微信上面聊天,本质上是两个冯诺依曼体系之间的信息流通,发信息的人通过输入设备“键盘”进行输入。我们发微信首先得打开登陆微信,即把微信的可执行程序加载到内存。所以在键盘里输入根据冯诺依曼体系是把键盘数据搬到内存(硬件层面),软件层面是把数据交给微信 ,所以数据流动就从输入数据流到存储器。微信信息比如说要加密,把数据“你好”(发送的数据)经过运算器控制,运算器运算完毕之后把“你好”转化成了一个乱码的结构,然后再有CPU写入内存,再由微信把你自己的数据传输到输出设备 ,用户a的输出设备是网卡,网卡把数据交到网络里,通过网络再把数据交给用户b用户b的输入设备拿到数据,而用户b的输入设备只能是网卡,输入设备拿到数据放到内存里,用户b也必须启动微信,启动的微信也在内存里,在微信里读到的代码再交给CPU,将乱码数据解密成“你好”,再通过存储器刷新到输出设备上,这个输出设备就是显示器。
那如果是发送文件呢???
其实文件的本质也是数据,当我们把文件拖到微信程序时,在没拖之前文件是在磁盘上,本质上是把磁盘文件拷贝到微信里面,在经过运算器加密包装回到存储器,在经过网卡发送,对方通过网卡接受,接收后首先要把文件数据读到内存,通过运算器解包解密写回内存,然后把数据写到输出设备。
总结:

  • 聊天: 是把用户数据从键盘经过体系结构转发到对方显示器的工作。
  • 发送文件: 本质是把文件从本地磁盘经过体系结构拷贝至对方磁盘的过程。

2. 操作系统(Operator System)

2.1 概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

操作系统本质是一款进行软硬件管理的软件

2.2 设计OS的目的

操作系统上面不仅有硬件,而且还有软件

  • 对下,与硬件交互,管理所有的软硬件资源
  • 对上,为用户程序(应用程序)提供一个良好的执行环境
  1. 软硬件体系结构是一个层状的结构
  2. 访问操作系统,必须用系统调用–其实就是函数,只不过是系统提供的
  3. 我们的程序,只要判断出访问了硬件,那么它必须贯穿整个软硬件体系结构
  4. 库可能在底层封装了系统调用

2.3 核心功能

  • 在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件
2.3.1 如何理解"管理"
  • 管理的例子 - 学生(被管理者),辅导员(执行权),校长(决策权)

操作系统就如同校长一样具有决策权驱动程序就如同辅导员具有执行权底层硬件就如同学生被管理

  1. 要管理,管理者和被管理者不需要见面
  2. 管理者和被管理者,根据“数据”进行管理
  3. 不需要见面如何得到数据呢?由中间层(辅导员)获取

📌:操作系统通过数据对底层硬件进行管理,而数据是通过驱动程序获取的。
总结:
计算机管理硬件

  1. 描述起来,用struct结构体
  2. 组织起来,用链表或其他高效的数据结构

 先描述,后组织

  • 操作系统对硬件的管理:
    操作系统在自己的内部先描述,再组织,把网卡,硬盘,显卡,键盘,显示器等,统一可以定义一个类,类里面可以包含每一个硬件对应的属性,属性包括硬件的名称,硬件的状态,硬件相关的信息。所以操作系统管理硬件转变成立对硬件的增删查改。
  • 操作系统对进程的管理:
    操作系统对进程的管理也类似,操作系统首先要对每个进程建立对应的struct类对象,然后把进程相关的属性放在结构体里,用链接节点连起来,对进程管理转化成对链表的增删查改。

2.4 系统调用和库函数概念

操作系统不相信任何用户或者人,操作系统要向上提供对应的服务,就好比“银行”

操作系统会把自己封装起来,所以系统调用本质上是操作系统提供给我们的系统调用。我们未来在操作系统获取信息等都是通过系统调用完成的。
系统调用的本质是用户和操作系统之间进行某种数据的交互。
结论:

  • 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
  • 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
  • 库函数和系统调用是上下层的关系

3. 进程

3.1 基本概念与基本操作

  • 课本概念:程序的一个执行实例,正在执行的程序等
  • 内核观点:担当分配系统资源(CPU时间,内存)的实体。

因为操作系统内同时可能有许多的可执行程序加载到内存里,所以必然要对加载到内存中的程序做管理,答案是先描述(给每个可执行程序定义结构体(PCB)Liunx下叫struct task_struct进程控制块),与下一个可执行程序的结构体形成链表,这个链表就叫做进程列表

进程 = 内核数据结构对象 + 自己的代码和数据
进程 = PCB(task_strcut)+ 自己的代码和数据

✏️对进程的管理就变成了对链表的增删查改

✏️进程的所有属性都能直接或者间接在task_struct找到

3.2 描述进程-PCB

基本概念

  • 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
  • 课本上称之为PCB(process control block) ,Linux操作系统下的PCB是: task_struct

task_struct-PCB的⼀种

  • 在Linux中描述进程的结构体叫做task_struct
  • task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
3.2.1 task_struct

内容分类

  • 标识符(PID)
    描述本进程的唯一标识符,用来区别其他进程。
  • 状态
    任务状态,退出代码,退出信号等。
  • 优先级
    相对于其他进程的优先级。
  • 程序计数器(PC)
    程序中即将被执行的下一条指令的内存地址。
  • 内存指针
    包括程序代码和进程相关数据的指针,以及与其他进程共享的内存块的指针。
  • 上下文数据
    进程执行时处理器的寄存器中的数据(需补充示意图:CPU 寄存器状态)。
  • I/O 状态信息
    包括显式的 I/O 请求、分配给进程的 I/O 设备和被进程使用的文件列表。
  • 记账信息
    可能包含:处理器时间总和、使用的时钟数总和、时间限制、记账号等。
  • 其他信息
    未明确分类的附加属性。

组织进程
可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。

3.3 查看进程

1.首先我们来自己创建一个进程,我们首先来认识一个进程指令getpid

我们历史上执行的所有指令,工具,自己的程序,运行起来全部都是进程!!
2. 写一个可以查看进程的程序
3.运行程序

4.只要是一个程序我们就可以查看它的进程,但是还不够,我们再打开一个Xshell。在系统上我们有对应的指令让我们去查看当前的进程有哪些。这个指令就叫做ps,我们可以查所有的以特定格式显示的进程,比如ps axj其中的a表示所有进程的意思。


这展现的就是系统中所有的进程。
5. 我们若只想查看我们自己刚刚的进程呢?ps axj | grep myprocess

Linux中我们也可以两条指令同时输入,用;隔开,表示先执行前面的,再执行;后面的。出了这种写法我们也可以ps ajx | head -1 && ps ajx | grep myprocess,效果和上面一模一样

6. 当我们查进程时会发现这个grep一直存在,为什么呢?我们在查进程的时候grep也是个命令,当它把显示出来的结果做过滤的时候,grep命令一旦跑起来,它自己也是个进程,而它自己过滤关键字里本来就包含myprocess,所以它也会自己把自己查出来,我们如果不想看到grep呢,我们可以ps ajx | head -1 && ps ajx | grep myprocess | grep -v grep,grep -v 表示反向匹配,包含grep的不要,不包含的留下来了

7. 只要是个进程,我们就可以杀掉它,如何杀呢?ctrl + c/kill -9 + pid,杀掉进程。(-9表示一个信号编号)

第二种查看进程的方式:

  1. 进程的信息可以通过 /proc 系统文件夹查看(以文件的形式查看进程)

    每一个数字目录代表特定进程的pid,每个目录包含的内容是这个进程运行时的动态属性

如:要获取PID为3908132的进程信息,你需要查看 /proc/3908132这个文件夹。

  1. 3908132文件夹中的内容

    在重重之中,我们只需要了解两个

  2. 大多数进程信息同样可以使用topps这些用户级工具来获取

上面中我们还遗留了一个信息getppid,表示获取父进程Pid

下面我将讲如何不用指令而用代码创建进程,Linux中所有的进程都是被它的父进程创建的,Linux是一个单亲繁殖系统,只有父进程,没有母进程,所以Linux中所有的进程是一个进程树

  1. 获取父进程

    运行

    重新执行多次

    我们看到的现象是他们的父进程都是一样的,那父进程是谁呢?

    我们查到的父进程是一个bash,叫做命令行解释器,本质是一个进程,我们每次登陆我们的云服务器,操作系统会给我们每一个用户分配一个bash,-表示远程登陆。
    它先启动“printf”打印命令行,然后再“scanf”

    我们历史上执行的命令,比如ls,pwd,mkdir都是进程,他们的父进程全都是bash

  2. 父进程如何创建子进程的呢?代码创建子进程的方式,fork是一个系统调用

  3. 代码演示


    正常情况下代码刚开始运行都是一个执行流,执行完fork就会变成两个执行流,这两个执行流都会执行后续代码,这就是为什么进程开始运行会出现两次,原因是进程 = PCB + 自己的代码和数据,父进程再创建子进程的时候会把它的PCB拷贝一份给子进程(但子进程pid会被修改),所以子进程的代码和数据和父进程的一样,所以会运行两次,子进程没有自己的代码和数据,因为目前没有新的程序加载,所以会共享父进程的代码和数据。

  4. 让父子进程执行不一样的逻辑

    运行结果

  5. fork的返回值

这里提出几个问题:

  1. 为什么fork给父子返回各自夫人不同返回值?
    父:子 = 1:n,因为父进程有多个孩子,一定要把子进程的pid返回给父进程,父进程才好区分子进程
  2. 为什么一个函数有两个返回值?
    一个函数执行到return,这个函数的核心功能已经做完了

写时拷贝:

独立性是如何做到的?数据结构独立,代码共享(代码是只读的,不影响),数据以写时拷贝的方式各自私有一份

  1. 为什么一个变量即==0,又大于0,导致if else同时成立?
    返回的本质时写入变量,父和子谁先return谁就先会修改pid_t id这个变量

👍 如果对你有帮助,欢迎:

  • 点赞 ⭐️
  • 收藏 📌
  • 关注 🔔

本文地址:https://www.vps345.com/3140.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge ssh ubuntu deepseek Ollama 模型联网 API CherryStudio 科技 ai java 语言模型 人工智能 个人开发 自然语言处理 python MCP 进程 操作系统 进程控制 Ubuntu 阿里云 网络 网络安全 网络协议 llama 算法 opencv 神经网络 数据库 centos oracle 关系型 安全 分布式 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn RTSP xop RTP RTSPServer 推流 视频 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 rust http 开发语言 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse harmonyos 华为 typescript 计算机网络 node.js json html5 firefox vue3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 kubernetes 容器 学习方法 经验分享 程序人生 asm HarmonyOS Next c# macos adb cpu 内存 实时 使用 vim flutter Hyper-V WinRM TrustedHosts cuda cudnn anaconda ESP32 camera Arduino 电子信息 tcp/ip 机器学习 php android 鸿蒙 Dell R750XS udp unity ESXi 华为云 物联网 嵌入式硬件 单片机 c++ 温湿度数据上传到服务器 Arduino HTTP ollama 大模型 mac YOLO efficientVIT YOLOv8替换主干网络 TOLOv8 学习 uni-app WSL2 深度学习 目标检测 计算机视觉 flask spring boot AI编程 AIGC websocket 面试 性能优化 jdk intellij-idea 架构 开源 pycharm ide pytorch Windsurf filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 nginx dubbo ssl 前端框架 golang 后端 编辑器 鸿蒙系统 numpy HCIE 数通 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 sqlserver 大数据 大数据平台 windows debian 自动化 金融 数据挖掘 爬虫 网络用户购物行为分析可视化平台 大数据毕业设计 1024程序员节 docker tomcat conda pillow 腾讯云大模型知识引擎 Deepseek https AISphereButler yum live555 rtsp rtp 笔记 Trae IDE AI 原生集成开发环境 Trae AI 测试工具 web安全 WSL win11 无法解析服务器的名称或地址 微信 微信分享 Image wxopensdk 缓存 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 Kali Linux 黑客 渗透测试 信息收集 django web3.py Agent LLM YOLOv12 云原生 vscode 代码调试 ipdb adobe Python 网络编程 聊天服务器 套接字 TCP 客户端 Socket 数据结构 c语言 springsecurity6 oauth2 授权服务器 token sas github 创意 社区 DeepSeek-R1 API接口 源码剖析 rtsp实现步骤 流媒体开发 服务器管理 宝塔面板 配置教程 服务器安装 网站管理 微服务 k8s 运维开发 持续部署 ecmascript KVM redis NPS 内网穿透 雨云服务器 雨云 命名管道 客户端与服务端通信 express 远程控制 远程看看 远程协助 wireshark rsyslog 电脑 Cookie AI 产品经理 agi microsoft mongodb word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 C语言 ipython ue4 着色器 ue5 虚幻 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 apache 信息与通信 springcloud bootstrap html YOLOv8 NPU Atlas800 A300I pro asi_bench nextjs react reactjs stm32 统信UOS 麒麟 bonding 链路聚合 jenkins mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 maven svn tcpdump Linux 进程信号 系统架构 C 环境变量 进程地址空间 qt stm32项目 chatgpt DeepSeek 课程设计 spring PVE ollama下载加速 mysql firewalld thingsboard postgresql 跨域 prometheus vue 软件工程 智能路由器 dell服务器 devops springboot rabbitmq nvidia gpu算力 iot RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 具身智能 服务器配置 生物信息学 VMware安装Ubuntu Ubuntu安装k8s 僵尸进程 蓝耘科技 元生代平台工作流 ComfyUI react.js 前端面试题 向日葵 oceanbase rc.local 开机自启 systemd mybatis matplotlib 嵌入式 linux驱动开发 arm开发 UOS 统信操作系统 transformer ping++ 深度优先 图论 并集查找 换根法 树上倍增 ddos llm llama3 Chatglm 开源大模型 zotero WebDAV 同步失败 代理模式 Ubuntu Server Ubuntu 22.04.5 ffmpeg 音视频 jupyter pip 飞牛NAS 飞牛OS MacBook Pro list asp.net大文件上传 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 部署 银河麒麟服务器操作系统 系统激活 博客 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 Qwen2.5-coder 离线部署 工业4.0 threejs 3D sql KingBase Dify 漏洞 并查集 leetcode 负载均衡 安全威胁分析 微信小程序 智能手机 NAS Termux Samba LDAP postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 intellij idea ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 micropython esp32 mqtt 实时音视频 .net IIS服务器 IIS性能 日志监控 腾讯云 MQTT mosquitto 消息队列 r语言 数据可视化 数据分析 .netcore git ansible sqlite 交换机 telnet 远程登录 kamailio sip VoIP outlook 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 spring cloud kafka hibernate 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 rust腐蚀 框架搭建 豆瓣 追剧助手 迅雷 nas 远程工作 iBMC UltraISO unity3d 孤岛惊魂4 低代码 aws googlecloud 恒源云 vSphere vCenter 软件定义数据中心 sddc fpga开发 mcu gitlab okhttp CORS 大模型微调 AI大模型 程序员 webrtc 计算机外设 软件需求 gitee jmeter 软件测试 kylin arm 外网访问 端口映射 多线程服务器 Linux网络编程 n8n 工作流 workflow 监控 自动化运维 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 自定义客户端 SAS shell embedding mariadb visualstudio etcd 数据安全 RBAC 匿名管道 企业微信 Linux24.04 deepin 命令 echarts 信息可视化 网页设计 机器人 职场和发展 SSL 域名 skynet AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 frp 多层架构 解耦 硬件架构 LORA 大语言模型 NLP webstorm virtualenv 报错 Java 驱动开发 硬件工程 嵌入式实习 ruby 分析解读 protobuf 序列化和反序列化 安装 开发环境 本地部署 api ftp web pyqt java-ee JAVA 鲲鹏 昇腾 npu Kylin-Server 国产操作系统 强制清理 强制删除 mac废纸篓 线程 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos EasyConnect Cline springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 bash RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 游戏程序 ios URL opensearch helm 服务器主板 AI芯片 xml ssrf 失效的访问控制 android studio 交互 WebRTC gpt openwrt MacMini Mac 迷你主机 mini Apple Ark-TS语言 ux 多线程 宠物 毕业设计 免费学习 宠物领养 宠物平台 zabbix open Euler dde RTMP 应用层 小艺 Pura X excel hadoop 迁移指南 RAID RAID技术 磁盘 存储 多进程 远程 执行 sshpass 操作 yolov8 xrdp 远程桌面 远程连接 SRS 流媒体 直播 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 wps 安卓 SSL证书 unix elk IPMITOOL BMC 硬件管理 cmos 硬件 FTP 服务器 eureka 环境迁移 崖山数据库 YashanDB bug VMware创建虚拟机 linux安装配置 Ubuntu 24.04.1 轻量级服务器 NFS redhat dash 正则表达式 tidb GLIBC pdf VMware安装mocOS VMware macOS系统安装 群晖 文件分享 VR手套 数据手套 动捕手套 动捕数据手套 中间件 iis VSCode 可信计算技术 密码学 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 gcc 银河麒麟操作系统 国产化 rpc 远程过程调用 Windows环境 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 输入法 av1 电视盒子 机顶盒ROM 魔百盒刷机 直播推流 服务器部署ai模型 sqlite3 Anolis nginx安装 环境安装 linux插件下载 3d 数学建模 毕设 jar 开机自启动 kvm 无桌面 命令行 串口服务器 rag ragflow ragflow 源码启动 elasticsearch 媒体 微信公众平台 risc-v keepalived Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer 系统开发 binder 车载系统 framework 源码环境 三级等保 服务器审计日志备份 pyautogui 目标跟踪 OpenVINO 推理应用 css LInux 联想开天P90Z装win10 chrome devtools selenium chromedriver 多个客户端访问 IO多路复用 回显服务器 TCP相关API mamba Vmamba QQ bot Docker matlab ArcTS 登录 ArcUI GridItem Reactor 设计模式 C++ ci/cd arkUI 软考 Linux PID 流式接口 网工 CPU 主板 电源 网卡 压测 ECS 搜索引擎 glibc 宕机切换 服务器宕机 Cursor OpenManus 压力测试 windows日志 CLion DOIT 四博智联 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 图像处理 idm 能力提升 面试宝典 技术 IT信息化 python3.11 系统 黑苹果 虚拟机 pygame 小游戏 五子棋 sdkman 自动化测试 性能测试 功能测试 蓝桥杯 curl wget netty go 设置代理 实用教程 IIS .net core Hosting Bundle .NET Framework vs2022 XFS xfs文件系统损坏 I_O error es jvm 磁盘监控 linux 命令 sed 命令 相差8小时 UTC 时间 c SSH 服务 SSH Server OpenSSH Server 状态管理的 UDP 服务器 Arduino RTOS Redis Desktop openEuler 自动化任务管理 gitea mysql离线安装 ubuntu22.04 mysql8.0 源码 DevEco Studio file server http server web server 混合开发 JDK dify 集成学习 集成测试 ruoyi 链表 京东云 Invalid Host allowedHosts rdp 实验 基础入门 编程 王者荣耀 Wi-Fi hive Hive环境搭建 hive3环境 Hive远程模式 DNS minicom 串口调试工具 计算机 centos-root /dev/mapper yum clean all df -h / du -sh SysBench 基准测试 ecm bpm flash-attention 云电竞 云电脑 todesk vr 音乐服务器 Navidrome 音流 ip命令 新增网卡 新增IP 启动网卡 Minecraft safari minio Erlang OTP gen_server 热代码交换 事务语义 docker命令大全 5G 3GPP 卫星通信 MNN Qwen ui 指令 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 mq rocketmq 邮件APP 免费软件 服务器繁忙 系统安全 gaussdb playbook 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 MQTT协议 消息服务器 代码 Dell HPE 联想 浪潮 iDRAC R720xd dba freebsd cnn 监控k8s 监控kubernetes ocr 思科模拟器 思科 Cisco 测试用例 Docker Hub docker pull 镜像源 daemon.json kind AI写作 AI作画 next.js 部署next.js 聊天室 英语 其他 deepseek r1 数据集 大模型面经 大模型学习 矩阵 WebUI DeepSeek V3 剧本 muduo 个人博客 X11 Xming 弹性计算 虚拟化 计算虚拟化 弹性裸金属 log4j iftop 网络流量监控 make命令 makefile文件 grafana 微信开放平台 微信公众号配置 IPMI 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? 设备 GPU PCI-Express Google pay Apple pay vscode 1.86 网站搭建 serv00 jetty undertow Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 文件系统 路径解析 USB网络共享 SSH Playwright 云服务器 裸金属服务器 弹性裸金属服务器 p2p ip 银河麒麟 kylin v10 麒麟 v10 linux上传下载 hugo Netty 即时通信 NIO SWAT 配置文件 服务管理 网络共享 k8s集群资源管理 云原生开发 MacOS录屏软件 华为od 银河麒麟桌面操作系统 Kylin OS DeepSeek行业应用 Heroku 网站部署 vmware 卡死 自动化编程 docker run 数据卷挂载 交互模式 游戏机 nuxt3 RAGFLOW RAG 检索增强生成 文档解析 大模型垂直应用 技能大赛 边缘计算 ros2 moveit 机器人运动 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 半虚拟化 硬件虚拟化 Hypervisor AI代码编辑器 模拟退火算法 田俊楠 code-server 算力 显示过滤器 ICMP Wireshark安装 eNSP 网络规划 VLAN 企业网络 npm 医疗APP开发 app开发 pgpool openssl 业界资讯 linux环境变量 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 无人机 rime DBeaver 数据仓库 kerberos gradle 数据库系统 C# MQTTS 双向认证 emqx 大模型入门 大模型教程 remote-ssh 直流充电桩 充电桩 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 visual studio code ukui 麒麟kylinos openeuler W5500 OLED u8g2 TCP服务器 EMUI 回退 降级 升级 chfs ubuntu 16.04 统信 虚拟机安装 同步 备份 建站 kali 共享文件夹 Docker Compose docker compose docker-compose 火绒安全 VPS Nuxt.js Xterminal nac 802.1 portal 监控k8s集群 集群内prometheus EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 TRAE 网络穿透 dns uniapp 单元测试 致远OA OA服务器 服务器磁盘扩容 OD机试真题 华为OD机试真题 服务器能耗统计 灵办AI oneapi open webui 虚拟局域网 图形化界面 ceph selete 高级IO 传统数据库升级 银行 LLMs 政务 分布式系统 监控运维 Prometheus Grafana 北亚数据恢复 oracle数据恢复 opcua opcda KEPServer安装 实时互动 深度求索 私域 知识库 gpt-3 文心一言 wsl2 wsl tensorflow trae 安全架构 网络攻击模型 XCC Lenovo 显卡驱动 GCC crosstool-ng 大模型应用 华为认证 网络工程师 繁忙 解决办法 替代网站 汇总推荐 AI推理 移动云 MS Materials Mac内存不够用怎么办 实战案例 序列化反序列化 IPv4 子网掩码 公网IP 私有IP Linux环境 deekseek SSH 密钥生成 SSH 公钥 私钥 生成 主从复制 zookeeper flink 人工智能生成内容 nfs 华为机试 armbian u-boot GIS 遥感 WebGIS 游戏引擎 cfssl 大大通 第三代半导体 碳化硅 UDP的API使用 ShenTong Linux的基础指令 Windows ai工具 拓扑图 项目部署到linux服务器 项目部署过程 CVE-2024-7347 QT 5.12.12 QT开发环境 Ubuntu18.04 信号 banner 双系统 GRUB引导 Linux技巧 h.264 虚拟现实 P2P HDLC 自动驾驶 uv MI300x web3 vscode1.86 1.86版本 ssh远程连接 SSE 单例模式 LLM Web APP Streamlit big data cpp-httplib 软负载 AI-native Docker Desktop IO模型 sysctl.conf vm.nr_hugepages 虚拟显示器 ubuntu24.04.1 c/c++ 串口 视觉检测 ros 视频编解码 重启 排查 系统重启 日志 原因 读写锁 程序员创富 办公自动化 自动化生成 pdf教程 rnn asp.net大文件上传下载 云服务 odoo 服务器动作 Server action UOS1070e 僵尸世界大战 游戏服务器搭建 arcgis 7z 代码托管服务 Ubuntu共享文件夹 共享目录 Linux共享文件夹 seatunnel 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 g++ g++13 网络结构图 FTP服务器 v10 软件 ldap IMX317 MIPI H265 VCU 小智AI服务端 xiaozhi ASR TTS 运维监控 k8s二次开发 集群管理 AD 域管理 sonoma 自动更新 seleium xshell termius iterm2 swoole openvpn server openvpn配置教程 centos安装openvpn neo4j 数据库开发 database 本地部署AI大模型 架构与原理 prompt xcode 推荐算法 服务网格 istio 代理 lio-sam SLAM DeepSeek r1 Open WebUI cd 目录切换 互信 IDEA 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 宝塔 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 tailscale derp derper 中转 triton 模型分析 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors 策略模式 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 miniapp 真机调试 调试 debug 断点 网络API请求调试方法 HiCar CarLife+ CarPlay QT RK3588 语法 apt 国内源 Node-Red 编程工具 流编程 Unity Dedicated Server Host Client 无头主机 aarch64 编译安装 HPC Deepseek-R1 私有化部署 推理模型 eclipse NLP模型 自学笔记 小米 澎湃OS Android lua x64 SIGSEGV xmm0 MCP server C/S 端口 查看 ss 捆绑 链接 谷歌浏览器 youtube google gmail 常用命令 文本命令 目录命令 图形渲染 域名服务 DHCP 符号链接 配置 安防软件 端口测试 bat sentinel 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 alias unalias 别名 langchain deep learning HarmonyOS midjourney 前后端分离 权限 easyui FunASR 佛山戴尔服务器维修 佛山三水服务器维修 Jellyfin 实习 regedit 开机启动 云桌面 微软 AD域控 证书服务器 相机 TrueLicense fd 文件描述符 我的世界服务器搭建 rclone AList webdav fnOS rustdesk yum源切换 更换国内yum源 干货分享 黑客工具 密码爆破 webgl Spring Security 技术共享 超融合 我的世界 我的世界联机 数码 飞牛nas fnos 考研 服务器时间 玩机技巧 软件分享 软件图标 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ISO镜像作为本地源 金仓数据库 2025 征文 数据库平替用金仓 私有化 执法记录仪 智能安全帽 smarteye 线性代数 电商平台 epoll 软件构建 免费域名 域名解析 历史版本 下载 etl cursor 李心怡 dns是什么 如何设置电脑dns dns应该如何设置 移动魔百盒 H3C Linux的权限 USB转串口 CH340 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 pppoe radius 影刀 #影刀RPA# docker部署Python AI agent IM即时通讯 剪切板对通 HTML FORMAT saltstack Claude uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 AnythingLLM AnythingLLM安装 用户缓冲区 模拟实现 支付 微信支付 开放平台 阿里云ECS DenseNet SenseVoice CrewAI edge浏览器 iphone qemu libvirt VS Code figma WebVM 基础环境 流水线 脚本式流水线 cocoapods 版本 less GoogLeNet 游戏开发 显示管理器 lightdm gdm 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 Kali 渗透 阻塞队列 生产者消费者模型 服务器崩坏原因 can 线程池 增强现实 沉浸式体验 应用场景 技术实现 案例分析 AR Xinference RAGFlow 镜像 ubuntu24 vivado24 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 ROS DIFY 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 DocFlow 信号处理 浏览器开发 AI浏览器 ssh漏洞 ssh9.9p2 CVE-2025-23419 Ubuntu22.04 开发人员主页 trea idea HTTP 服务器控制 ESP32 DeepSeek 备选 网站 调用 示例 xss 毕昇JDK tcp minecraft nlp 串口驱动 CH341 uart 485 本地知识库部署 DeepSeek R1 模型 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 vasp安装 查询数据库服务IP地址 SQL Server 分布式训练 语音识别 AutoDL 信创 信创终端 中科方德 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP bcompare Beyond Compare 模拟器 教程 dity make Radius 键盘 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 qt项目 qt项目实战 qt教程 反向代理 searxng PPI String Cytoscape CytoHubba Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 代理服务器 银河麒麟高级服务器 外接硬盘 Kylin perf 根服务器 clickhouse 社交电子 EMQX 通信协议 产测工具框架 IMX6ULL 管理框架 嵌入式Linux IPC junit firewall openstack Xen composer 做raid 装系统 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 laravel 远程服务 内网服务器 内网代理 内网通信 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 需求分析 规格说明书 Logstash 日志采集 中兴光猫 换光猫 网络桥接 自己换光猫 Typore 飞书 autodl 聚类 AD域 稳定性 看门狗 音乐库 飞牛 程序 性能分析 换源 Debian WSL2 上安装 Ubuntu 强化学习 单一职责原则 vpn yaml Ultralytics 可视化 交叉编译 powerpoint ArkTs ArkUI spark HistoryServer Spark YARN jobhistory Headless Linux CDN OpenSSH Qwen2.5-VL vllm CentOS jina wsgiref Web 服务器网关接口 进程优先级 调度队列 进程切换 容器技术 ardunio BLE docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 iperf3 带宽测试 nosql java-rocketmq 对比 工具 meld DiffMerge su sudo 项目部署 win服务器架设 windows server hosts IMM 状态模式 deployment daemonset statefulset cronjob AI Agent 字节智能运维 MDK 嵌入式开发工具 论文笔记 sublime text 知识图谱 HarmonyOS NEXT 原生鸿蒙 区块链 安装MySQL fstab 极限编程 端口聚合 windows11 内网环境 visual studio Linux find grep 钉钉 onlyoffice react native ranger MySQL8.0 System V共享内存 进程通信 合成模型 扩散模型 图像生成 网卡的名称修改 eth0 ens33 docker desktop image CentOS Stream 防火墙 NAT转发 NAT Server OpenHarmony 网络建设与运维 鸿蒙开发 移动开发 树莓派 VNC nvm whistle sequoiaDB xpath定位元素 css3 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 prometheus数据采集 prometheus数据模型 prometheus特点 word 企业网络规划 华为eNSP 浏览器自动化 rpa 在线office 加解密 Yakit yaklang 本地化部署 UDP 流量运营 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 抓包工具 带外管理 软件卸载 系统清理 vu大文件秒传跨域报错cors MySql 智能音箱 智能家居 perl 沙盒 llama.cpp harmonyOS面试题 Unity插件 iventoy VmWare OpenEuler Python基础 Python教程 Python技巧 计算生物学 生物信息 基因组 zip unzip 软链接 硬链接 PX4 环境配置 云耀服务器 top Linux top top命令详解 top命令重点 top常用参数 ubuntu20.04 ros1 Noetic 20.04 apt 安装 网络爬虫 粘包问题 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK grub 版本升级 扩容 SEO hexo 多路转接 问题解决 navicat kernel kotlin ssh远程登录 虚幻引擎 virtualbox 大模型推理 健康医疗 互联网医院 Sealos 论文阅读 centos 7 Attention db 嵌入式系统开发 WLAN rancher 烟花代码 烟花 元旦 性能调优 安全代理 SVN Server tortoise svn 网络搭建 神州数码 神州数码云平台 云平台 ABAP 物联网开发 ip协议 HAProxy 存储维护 NetApp存储 EMC存储 KylinV10 麒麟操作系统 Vmware gnu TCP协议 抗锯齿 nftables 磁盘清理 Linux权限 权限命令 特殊权限 多端开发 智慧分发 应用生态 鸿蒙OS milvus 欧标 OCPP 开发 MVS 海康威视相机 AI员工 大模型部署 查看显卡进程 fuser ArtTS proxy模式 元服务 应用上架 MacOS fast wpf mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 风扇控制软件 MobaXterm MAVROS 四旋翼无人机 搭建个人相关服务器 热榜 通信工程 毕业 国产数据库 瀚高数据库 数据迁移 下载安装 达梦 DM8 Reactor反应堆 js 接口优化 mcp服务器 client close 离线部署dify macOS 开机黑屏 解决方案 西门子PLC 通讯 机柜 1U 2U vnc yum换源 搜狗输入法 中文输入法 React Next.js 开源框架 电视剧收视率分析与可视化平台 yolov5 话题通信 服务通信 数字证书 签署证书 智能电视 copilot WebServer conda配置 conda镜像源 MAC SecureCRT 服务器正确解析请求体 ubuntu 18.04 dock 加速 UEFI Legacy MBR GPT U盘安装操作系统 IO 视频平台 录像 视频转发 视频流