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

sys目录介绍

文章目录

    • 1. 前言
    • 2. 目录层次
    • 3. 目录介绍
      • 3.1 devices 目录
      • 3.2 block 目录
      • 3.3 bus 目录
      • 3.4 class 目录
      • 3.5 dev 目录
      • 3.6 firmware目录
      • 3.7 fs 目录
      • 3.8 kernel目录
      • 3.9 module 目录
      • 3.10 power 目录

sys目录介绍

1. 前言

linux 下一切皆文件,文件的类型也很多,如普通文件,目录文件等,详细见下面表格。我们的硬件设备在/dev目录下都可以找到对应的节点,一般都是字符设备文件©和块设备文件(b)。对于控制这些硬件设备,在用户态,我们也是使用文件IO的方式实现的,常见的控制方式有以下这几种:

  1. 操作 /dev目录下相关的设备节点,来控制硬件属性,如使用open’、read等系统调用完成,或者直接使用echo(需要内核驱动实现对应的file_operations函数支持输入解析控制)和dd指令进行控制;
  2. 操作proc文件系统下的相关文件,前提需要内核驱动实现proc_ops相关接口,然后通过echo指令进行控制;
  3. 操作sysfs文件系统下的相关文件,前提需要内核驱动实现sysfs_ops相关接口,然后通过catecho指令进行控制;

其中

  • proc:轻量级、快速,适合监控和简单调试,但功能受限。
  • sys:功能强大,支持设备模型和动态配置,适合复杂驱动开发。
文件类型标识符描述示例
普通文件-存储文本、二进制数据或程序代码,最常见的文件类型/home/user/file.txt
目录文件d用于组织其他文件和子目录,包含文件名和inode的映射表/etc/home
符号链接(软链接)l指向另一个文件或目录的快捷方式,删除源文件后链接失效/usr/bin/python -> python3
块设备文件b以数据块(如512B)为单位读写存储设备(硬盘、U盘等)/dev/sda
字符设备文件c以字符流形式读写设备(键盘、终端等)/dev/tty
命名管道(FIFO)p用于进程间通信,数据遵循先进先出(FIFO)原则mkfifo mypipe 创建的管道
套接字文件s用于网络或本地进程间通信(如TCP/IP或Unix Domain Socket)/var/run/mysqld/mysqld.sock

而本文主要讲解的是sys目录的架构。

2. 目录层次

sysfs主要是对设备进行管理,可以展现出包含所有硬件设备的视图,挂载在/sys目录下:

cat@lubancat:/dev$ mount | grep sysfs
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)

进入到sys目录下,可以看到系统包含如下文件:

cat@lubancat:/sys$ ll
总计 4
dr-xr-xr-x  14 root root    0  11  2021 ./
drwxr-xr-x  19 root root 4096  920  2024 ../
drwxr-xr-x   2 root root    0  11  2021 block/
drwxr-xr-x  37 root root    0  11  2021 bus/
drwxr-xr-x  85 root root    0  11  2021 class/
drwxr-xr-x   4 root root    0  11  2021 dev/
drwxr-xr-x  16 root root    0  11  2021 devices/
drwxr-xr-x   3 root root    0  11  2021 firmware/
drwxr-xr-x  10 root root    0  11  2021 fs/
drwxr-xr-x  15 root root    0  11  2021 kernel/
drwxr-xr-x 206 root root    0  11  2021 module/
drwxr-xr-x   3 root root    0  52 00:17 power/

其中包含 blockbusclassdevdevicesfimwarefskernelmodulepower

3. 目录介绍

3.1 devices 目录

  • 此目录存放了所有的硬件设备,所有的设备的属性都可以在目录进行查看,是sys目录下最重要的目录。

3.2 block 目录

  • 此目录是块设备的存放目录,照 sysfs 的设计理念,系统所有的设备都存放在/sys/devices 目录下,所以/sys/block 目录下的文件通常是链接到/sys/devices 目录下的文件。

    # 可以看到确实是连接到 devices 目录下
    cat@lubancat:/sys/block$ ll
    总计 0
    drwxr-xr-x  2 root root 0  11  2021 ./
    dr-xr-xr-x 14 root root 0  11  2021 ../
    lrwxrwxrwx  1 root root 0  11  2021 loop0 -> ../devices/virtual/block/loop0/
    lrwxrwxrwx  1 root root 0  11  2021 loop1 -> ../devices/virtual/block/loop1/
    lrwxrwxrwx  1 root root 0  11  2021 loop2 -> ../devices/virtual/block/loop2/
    lrwxrwxrwx  1 root root 0  11  2021 loop3 -> ../devices/virtual/block/loop3/
    lrwxrwxrwx  1 root root 0  11  2021 loop4 -> ../devices/virtual/block/loop4/
    lrwxrwxrwx  1 root root 0  11  2021 loop5 -> ../devices/virtual/block/loop5/
    lrwxrwxrwx  1 root root 0  11  2021 loop6 -> ../devices/virtual/block/loop6/
    lrwxrwxrwx  1 root root 0  11  2021 loop7 -> ../devices/virtual/block/loop7/
    lrwxrwxrwx  1 root root 0  11  2021 mmcblk0 -> ../devices/platform/fe2e0000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/
    lrwxrwxrwx  1 root root 0  11  2021 mmcblk0boot0 -> ../devices/platform/fe2e0000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0boot0/
    lrwxrwxrwx  1 root root 0  11  2021 mmcblk0boot1 -> ../devices/platform/fe2e0000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0boot1/
    lrwxrwxrwx  1 root root 0  11  2021 mmcblk1 -> ../devices/platform/fe2c0000.mmc/mmc_host/mmc1/mmc1:aaaa/block/mmcblk1/
    lrwxrwxrwx  1 root root 0  11  2021 ram0 -> ../devices/virtual/block/ram0/
    lrwxrwxrwx  1 root root 0  52 12:22 sda -> ../devices/platform/fc880000.usb/usb6/6-1/6-1.3/6-1.3:1.0/host0/target0:0:0/0:0:0:0/block/sda/
    

3.3 bus 目录

  • 此目录所有设备按照总线类型分类放置的目录结构,devices 目录下每一种设备都是挂在某种总线下的,例如设备挂在 USB 设备 挂载在 USB 总线下。bus 目录下的文件通常也是链接到了devices 目录。

    cat@lubancat:/sys/bus/usb$ tree
    .
    ├── devices
    │   ├── 1-0:1.0 -> ../../../devices/platform/usbhost3_0/fcd00000.usb/xhci-hcd.3.auto/usb1/1-0:1.0
    │   ├── 2-0:1.0 -> ../../../devices/platform/usbhost3_0/fcd00000.usb/xhci-hcd.3.auto/usb2/2-0:1.0
    │   ├── 3-0:1.0 -> ../../../devices/platform/usbdrd3_1/fc400000.usb/xhci-hcd.4.auto/usb3/3-0:1.0
    │   ├── 4-0:1.0 -> ../../../devices/platform/fc800000.usb/usb4/4-0:1.0
    │   ├── 5-0:1.0 -> ../../../devices/platform/fc840000.usb/usb5/5-0:1.0
    │   ├── 5-1 -> ../../../devices/platform/fc840000.usb/usb5/5-1
    │   ├── 5-1:1.0 -> ../../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.0
    │   ├── 5-1:1.1 -> ../../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.1
    │   ├── 6-0:1.0 -> ../../../devices/platform/fc880000.usb/usb6/6-0:1.0
    │   ├── 6-1 -> ../../../devices/platform/fc880000.usb/usb6/6-1
    │   ├── 6-1.1 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1.1
    │   ├── 6-1:1.0 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1:1.0
    │   ├── 6-1.1:1.0 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1.1/6-1.1:1.0
    │   ├── 6-1.1:1.1 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1.1/6-1.1:1.1
    │   ├── 6-1.3 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1.3
    │   ├── 6-1.3:1.0 -> ../../../devices/platform/fc880000.usb/usb6/6-1/6-1.3/6-1.3:1.0
    │   ├── 7-0:1.0 -> ../../../devices/platform/fc8c0000.usb/usb7/7-0:1.0
    │   ├── 8-0:1.0 -> ../../../devices/platform/usbdrd3_1/fc400000.usb/xhci-hcd.4.auto/usb8/8-0:1.0
    │   ├── usb1 -> ../../../devices/platform/usbhost3_0/fcd00000.usb/xhci-hcd.3.auto/usb1
    │   ├── usb2 -> ../../../devices/platform/usbhost3_0/fcd00000.usb/xhci-hcd.3.auto/usb2
    │   ├── usb3 -> ../../../devices/platform/usbdrd3_1/fc400000.usb/xhci-hcd.4.auto/usb3
    │   ├── usb4 -> ../../../devices/platform/fc800000.usb/usb4
    │   ├── usb5 -> ../../../devices/platform/fc840000.usb/usb5
    │   ├── usb6 -> ../../../devices/platform/fc880000.usb/usb6
    │   ├── usb7 -> ../../../devices/platform/fc8c0000.usb/usb7
    │   └── usb8 -> ../../../devices/platform/usbdrd3_1/fc400000.usb/xhci-hcd.4.auto/usb8

3.4 class 目录

  • 此目录的所有设备是按照其功能分类放置的,例如/sys/calss/tty目录存放的都是串口设备,/sys/calss/input目录存放的都是输入类设备,无我们的鼠标mouse。同样该目录下的文件也是链接到了/sys/devices 目录。

    ├── input
    │   ├── event0 -> ../../devices/platform/fd8b0030.pwm/input/input0/event0
    │   ├── event1 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk805-pwrkey.1.auto/input/input1/event1
    │   ├── event10 -> ../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.1/0003:093A:2533.0002/input/input11/event10
    │   ├── event2 -> ../../devices/platform/hdmiin-sound/sound/card0/input2/event2
    │   ├── event3 -> ../../devices/platform/es8388-sound/input/input3/event3
    │   ├── event4 -> ../../devices/platform/es8388-sound/sound/card1/input4/event4
    │   ├── event5 -> ../../devices/platform/hdmi1-sound/sound/card2/input5/event5
    │   ├── event6 -> ../../devices/platform/hdmi0-sound/sound/card3/input6/event6
    │   ├── event7 -> ../../devices/platform/dp0-sound/sound/card4/input7/event7
    │   ├── event8 -> ../../devices/platform/adc-keys/input/input8/event8
    │   ├── event9 -> ../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.0/0003:093A:2533.0001/input/input9/event9
    │   ├── input0 -> ../../devices/platform/fd8b0030.pwm/input/input0
    │   ├── input1 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk805-pwrkey.1.auto/input/input1
    │   ├── input11 -> ../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.1/0003:093A:2533.0002/input/input11
    │   ├── input2 -> ../../devices/platform/hdmiin-sound/sound/card0/input2
    │   ├── input3 -> ../../devices/platform/es8388-sound/input/input3
    │   ├── input4 -> ../../devices/platform/es8388-sound/sound/card1/input4
    │   ├── input5 -> ../../devices/platform/hdmi1-sound/sound/card2/input5
    │   ├── input6 -> ../../devices/platform/hdmi0-sound/sound/card3/input6
    │   ├── input7 -> ../../devices/platform/dp0-sound/sound/card4/input7
    │   ├── input8 -> ../../devices/platform/adc-keys/input/input8
    │   ├── input9 -> ../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.0/0003:093A:2533.0001/input/input9
    │   ├── mice -> ../../devices/virtual/input/mice
    │   ├── mouse0 -> ../../devices/platform/fd8b0030.pwm/input/input0/mouse0
    │   └── mouse1 -> ../../devices/platform/fc840000.usb/usb5/5-1/5-1:1.0/0003:093A:2533.0001/input/input9/mouse1
    

3.5 dev 目录

  • 此目录照设备号的方式放置设备,该目录下有很多以主设备号:次设备号(major:minor)命名的文件,这些文件都是链接文件,链接到/sys/devices 目录下对应的设备。

    ├── 81:0 -> ../../devices/platform/fdee0000.hdmirx-controller/video4linux/video0├── 89:0 -> ../../devices/platform/fd880000.i2c/i2c-0/i2c-dev/i2c-0├── 89:1 -> ../../devices/platform/fea90000.i2c/i2c-1/i2c-dev/i2c-1├── 89:10 -> ../../devices/platform/fdea0000.hdmi/i2c-10/i2c-dev/i2c-10├── 89:11 -> ../../devices/platform/fde50000.dp/i2c-11/i2c-dev/i2c-11├── 89:5 -> ../../devices/platform/fead0000.i2c/i2c-5/i2c-dev/i2c-5├── 89:6 -> ../../devices/platform/fec80000.i2c/i2c-6/i2c-dev/i2c-6├── 89:7 -> ../../devices/platform/fec90000.i2c/i2c-7/i2c-dev/i2c-7└── 89:9 -> ../../devices/platform/fde80000.hdmi/i2c-9/i2c-dev/i2c-9
    

3.6 firmware目录

  • 此目录描述了内核中的固件。

    ├── rkvenc-core@fdbe0000
    │       │   ├── assigned-clock-rates
    │       │   ├── assigned-clocks
    │       │   ├── clock-names
    │       │   ├── clocks
    │       │   ├── compatible
    │       │   ├── interrupt-names
    │       │   ├── interrupts
    │       │   ├── iommus
    │       │   ├── mem-supply
    │       │   ├── name
    │       │   ├── operating-points-v2
    │       │   ├── phandle
    │       │   ├── power-domains
    │       │   ├── reg
    │       │   ├── reset-names
    │       │   ├── resets
    │       │   ├── rockchip,ccu
    │       │   ├── rockchip,normal-rates
    │       │   ├── rockchip,skip-pmu-idle-request
    │       │   ├── rockchip,srv
    │       │   ├── rockchip,task-capacity
    │       │   ├── rockchip,taskqueue-node
    │       │   ├── status
    │       │   └── venc-supply

3.7 fs 目录

  • 此目录用于描述系统中所有文件系统,包括文件系统本身和按文件系统分类存放的已挂载点。

    cat@lubancat:/sys/fs$ ls
    bpf  btrfs  cgroup  ext4  f2fs  fuse  nfs  pstore
    

3.8 kernel目录

  • 这里是内核中所有可调参数的位置。

    cat@lubancat:/sys/kernel$ ll
    总计 0
    drwxr-xr-x  15 root root       0  11  2021 ./
    dr-xr-xr-x  14 root root       0  11  2021 ../
    -r--r--r--   1 root root    4096  52 15:19 boot_mode
    drwxr-xr-x   2 root root       0  52 15:19 cgroup/
    drwxr-xr-x   3 root root       0  11  1970 config/
    drwx------  55 root root       0  11  1970 debug/
    drwxr-xr-x   3 root root       0  52 15:19 dmabuf/
    -r--r--r--   1 root root    4096  52 15:19 fscaps
    drwxr-xr-x  18 root root       0  52 14:25 iommu_groups/
    drwxr-xr-x 151 root root       0  52 15:19 irq/
    -r--r--r--   1 root root 4015280  52 15:19 kheaders.tar.xz
    drwxr-xr-x   6 root root       0 1122  2023 mm/
    -r--r--r--   1 root root      84  52 15:19 notes
    -r--r--r--   1 root root    4096  52 15:19 oops_count
    -rw-r--r--   1 root root    4096  52 15:19 profiling
    -rw-r--r--   1 root root    4096  52 15:19 rcu_expedited
    -rw-r--r--   1 root root    4096  52 15:19 rcu_normal
    drwxr-xr-x   2 root root       0  52 15:19 reboot/
    drwxr-xr-x   4 root root       0  11  1970 security/
    drwxr-xr-x 165 root root       0  52 15:19 slab/
    drwxr-xr-x   4 root root       0  52 14:25 software_nodes/
    drwxr-xr-x   4 root root       0  52 15:19 sunrpc/
    drwx------   6 root root       0  11  1970 tracing/
    -r--r--r--   1 root root    4096  52 15:19 uevent_seqnum
    -r--r--r--   1 root root    4096  52 15:19 warn_count
    

3.9 module 目录

  • 这里有系统中所有模块的信息。

3.10 power 目录

  • 这里是系统中电源选项,有一些属性可以用于控制整个系统的电源状态。

    cat@lubancat:/sys/power$ ls
    mem_sleep  pm_debug_messages  pm_print_times  pm_wakeup_irq  suspend_stats    wakeup_count
    pm_async   pm_freeze_timeout  pm_test         state          sync_on_suspend
    

相关文章:

sys目录介绍

文章目录 1. 前言2. 目录层次3. 目录介绍3.1 devices 目录3.2 block 目录3.3 bus 目录3.4 class 目录3.5 dev 目录3.6 firmware目录3.7 fs 目录3.8 kernel目录3.9 module 目录3.10 power 目录 sys目录介绍 1. 前言 linux 下一切皆文件,文件的类型也很多,…...

基于DQN的自动驾驶小车绕圈任务

1.任务介绍 任务来源: DQN: Deep Q Learning |自动驾驶入门(?) |算法与实现 任务原始代码: self-driving car 最终效果: 以下所有内容,都是对上面DQN代码的改进&#…...

源码安装SRS4

Ubuntu20安装好SRS后,(源码安装) 注意:在trunk目录SRS ./objs/srs -c conf/srs.conf 以上为启动srs命令,-c 为指定配置文件, 查看SRS进程 ps aux | grep srs 查看端口: netstat -ano | gre…...

OrbitControls

OrbitControls 3D虚拟工厂在线体验 描述 Orbit controls(轨道控制器)可以使得相机围绕目标进行轨道运动。 Constructor OrbitControls( object : Camera, domElement : HTMLDOMElement ) 参数类型描述objectCamera(必须)将要…...

【数据库】四种连表查询:内连接,外连接,左连接,右连接

在数据库操作中,连表查询是处理多表关联的核心技术。以下是四种主要连接方式的详细介绍、快速掌握方法及实际应用指南: 目录 **一、四种连表查询详解****1. 内连接(INNER JOIN)****2. 左连接(LEFT JOIN / LEFT OUTER J…...

Redis怎么避免热点数据问题

使用 RedisTemplate 避免热点数据问题的解决方案、场景及示例: 1. 数据分片(Sharding) 场景:高频读写的计数器(如文章阅读量统计) ​原理​:将数据分散到多个子键,降低单个 Key 的压…...

完整的 VS Code + CMake + Qt + GCC 项目构建方案:EXE 程序与多个 DLL 库

完整的 VS Code CMake Qt GCC 项目构建方案:EXE 程序与多个 DLL 库 在本文中,我们将介绍如何构建一个包含 EXE 程序和多个 DLL 库的项目,适用于 VS Code CMake Qt GCC 开发环境。这个方案为一个模块化的项目结构,使得代码清…...

Python 数据智能实战 (7):智能流失预警 - 融合文本反馈

写在前面 —— 不再错过关键预警!结合用户行为与 LLM 文本洞察,构建更精准的流失预测模型 在之前的探索中,我们学习了如何利用大语言模型 (LLM) 对用户评论进行深度挖掘,提取情感、发现主题,并将非结构化的文本信息转化为有价值的特征 (如 Embeddings)。 现在,我们要将…...

Flutter - 概览

Hello world ⌘ shift p 选择 Empty Application 模板 // 导入Material风格的组件包 // 位置在flutter安装目录/packages/flutter/lib/material.dart import package:flutter/material.dart;void main() {// runApp函数接收MainApp组件并将这个Widget作为根节点runApp(cons…...

Python-pandas-操作Excel文件(读取数据/写入数据)及Excel表格列名操作详细分享

Python-pandas-操作Excel文件(读取数据/写入数据) 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是pandas的使用语法。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每…...

手写 Vue 源码 === Vue3 设计思想

1.声明式框架 Vue3 是声明式的框架,用起来简单。 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的,命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中,过程靠 vuejs 来实现声明式代码更加简单,不需要关注实现,按照要求填代…...

Android WebView加载h5打开麦克风与摄像头的权限问题

目录 快速处理 app向系统申请录音与相机权限h5向app申请录音和相机权限 详细解答 app权限与h5权限录音与麦克风默许的风险最佳实践 Android webview h5 麦克风权限,摄像头(相机)权限实现与填坑。 快速处理 app向系统申请录音与相机权限 …...

三种计算最小公倍数的方法分析

三种计算最小公倍数的方法分析与比较 一.引言 最小公倍数(Least Common Multiple, LCM)是数学中的一个基本概念,指能够被两个或多个整数整除的最小的正整数。在编程中,我们有多种方法可以计算两个数的最小公倍数。本文将分析三种…...

PDF转换工具xpdf-tools-4.05

XPDF是一个开源的PDF查看、提取和转换工具套件,使用C编写,支持多种操作系统,包括Linux、Unix、OS/2、Windows和Mac OS X‌1。XPDF不仅是一个PDF查看器,还包含多个实用工具,如文本提取器、图像转换器和HTML转换器等‌&a…...

aws(学习笔记第四十课) image-content-search

aws(学习笔记第四十课) image-content-search 使用SQS Lambda集成 数据库(Aurora Serverless) Cognito(用户管理) rekognition(图像解析) 学习内容: 使用SQS Lambda Aurora Serverless Cog…...

GPT-4o 图像生成与八个示例指南

什么是GPT-4o图像生成? 简单来说,GPT-4o图像生成是集成在ChatGPT内部的一项功能。用户可以直接在对话中,通过文本描述(Prompt)来创建、编辑和调整图像。这与之前的图像生成工具相比,体验更流畅、交互性更强…...

PostgreSQL 查看表膨胀情况的方法

PostgreSQL 查看表膨胀情况的方法 表膨胀(Table Bloat)是PostgreSQL中由于MVCC机制导致的一种常见现象,当大量数据被更新或删除后,表中会积累"死元组"(dead tuples),这些死元组占据空间但不可见,导致表实际占用的磁盘空…...

从 0 到 1!深度剖析项目实施流程,开启项目管理新视野

一、项目准备 / 前期准备 (一)跟销售进行项目交接 对接人:销售人员交接会议内容: 了解项目背景、客户基本信息、项目版本、具备二次开发功能、接口、了解合同信息等。明确项目情况、客户基本情况、使用软件(版本&…...

书生实战营之沐曦专场

一:实验环境进入和启动实验容器(D.run平台) 1.1首先进入平台进行注册 D.run平台https://console.d.run/ 注册和登录环节就跳过了。 1.2 启动实验容器--详细步骤如下 1.2.1选择容器的名称、区域、镜像(注意镜像必须选择Dlinfer) 1.2.2可以选…...

在运行 Hadoop 作业时,遇到“No such file or directory”,如何在windows里打包在虚拟机里运行

最近在学习Hadoop集群map reduce分布运算过程中,经多方面排查可能是电脑本身配置的原因导致每次运行都会报“No such file or directory”的错误,最后我是通过打包文件到虚拟机里运行得到结果,具体步骤如下: 前提是要保证maven已经…...

基于YOLOV5的目标检测识别

基于YOLOV5的目标检测识别 舰船目标检测口罩目标检测飞机目标检测 舰船目标检测 口罩目标检测 飞机目标检测...

第4篇:服务层抽象与复用逻辑

在业务系统复杂度指数级增长的今天,服务层(Service Layer)的合理设计直接影响着系统的可维护性和扩展性。本文将深入剖析 Egg.js 框架中的服务层架构设计,从基础实现到高级封装,全方位讲解企业级应用的开发实践。 一、…...

多模态大语言模型arxiv论文略读(五十四)

RoboMP 2 ^2 2: A Robotic Multimodal Perception-Planning Framework with Multimodal Large Language Models ➡️ 论文标题:RoboMP 2 ^2 2: A Robotic Multimodal Perception-Planning Framework with Multimodal Large Language Models ➡️ 论文作者&#xff…...

中小企业MES系统详细设计

版本:V1.1 日期:2025年5月2日 一、设备协议兼容性设计 1.1 设备接入框架 #mermaid-svg-PkwqEMRIIlIBPP58 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PkwqEMRIIlIBPP58 .error-icon{fill…...

第二十周:项目开发中遇到的相关问题(一)

自十九周开始,我们便开始着手写项目(关于新闻资讯类的Web项目),当然,在这之中我们也学到了很多高效且有用的好技术,在接下来的内容中将去具体的描述这些好技术,介绍它们的具体用法和应用场景。本…...

WebRtc10: 端对端1v1传输基本流程

媒体能力协商过程 RTCPeerConnection(核心类) 基本格式 pc new RTCPeerConnection([configiration]); RTCPeerConnection方法分类 媒体协商Stream/Track传输相关方法统计相关方法 媒体协商过程 协商状态变化 媒体协商方法 createOffercreateAnswe…...

【云备份】配置文件加载模块

目录 一.为什么要配置文件 二.配置文件的实现 三.单例文件配置类设计 四.源码 一.为什么要配置文件 我们将服务端程序运行中用到的一些关键信息保存到配置文件中,这样可以使程序的运行更加灵活。 这样做的好处是,未来如果我们想要修改一些关键信息&…...

重构之道:识别并替换不合适使用的箭头函数

1、引言 JavaScript 自 ES6 引入了箭头函数(Arrow Function)后,因其简洁的语法和对 this 的词法绑定机制,迅速成为开发者喜爱的写法之一。然而,并不是所有场景都适合使用箭头函数。 在实际开发中,我们常常会因为追求代码简洁而忽视其潜在问题,例如: this 指向错误不适…...

git问题记录-如何切换历史提交分支,且保留本地修改

问题记录 我在本地编写了代码&#xff0c;突然想查看之前提交的代码&#xff0c;并且想保留当前所在分支所做的修改 通过git stash对本地的代码进行暂存 使用git checkout <commit-hash>切换到之前的提交记录。 查看完之后我想切换回来&#xff0c;恢复暂存的本地代码…...

【MySQL】事务管理

事务管理 一. 事务的概念二. 事务的特征三. 事务的版本支持四. 事务的提交方式五. 事务的常见操作六. 事务的隔离级别1. 查看与设置隔离级别2. 读未提交 (Read Uncommitted)3. 读提交 (Read Committed)4. 可重复读 (Repeatable Read)5. 串行化 (Serializable)6. 隔离级别的总结…...

【点对点协议(PPP)全解析】从原理到工程实践

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心配置实现案例1&#xff1a;基础PPP链路建立案例2&#xff1a;CHAP认证配置 运行结果验证 三、性能对比测试…...

环境搭建:开启 Django 开发之旅

一、环境搭建&#xff1a;开启 Django 开发之旅 &#xff08;一&#xff09;安装 Python 先确保电脑上装有 Python 3.6 及以上版本&#xff0c;Django 5.1 的话&#xff0c;至少得 Python 3.8 哦。 安装前&#xff0c;先查下有没有装过 Python &#xff0c;终端&#xff08;Wi…...

如何配置NGINX作为反向代理服务器来缓存后端服务的响应?

大家好&#xff0c;我是锋哥。今天分享关于【如何配置NGINX作为反向代理服务器来缓存后端服务的响应&#xff1f;】面试题。希望对大家有帮助&#xff1b; 如何配置NGINX作为反向代理服务器来缓存后端服务的响应&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源…...

【Java IO流】File类基础详解

参考笔记&#xff1a;java File类基础 万字详解&#xff08;通俗易懂&#xff09;-CSDN博客 目录 1.前言 2. File类介绍 3. File类构造方法 4.File类常用的方法案例演示 4.1 创建文件/文件夹的方法 4.2 删除文件/文件夹的方法 4.3 判断文件/文件夹是否存在的方法 4.4 …...

《C#数据结构与算法》—201线性表

线性表的实现方式 顺序表 线性表的顺序存储是指在内存中用一块地址连续的空间依次存放线性表的数据元素&#xff0c;用这种方式存储的线性表叫顺序表。 特点&#xff1a;表中相邻的数据元素在内存中存储位置也相邻。 顺序表接口实现&#xff1a; 方法名参数返回值描述GetLen…...

MATLAB绘制局部放大图

今天&#xff0c;我将分享一段 MATLAB 代码&#xff0c;该代码生成了一个主副图结合的可视化展示&#xff0c;用于比较不同控制系统性能表现。 clc; clear; close all;% 生成时间向量 t 0:0.1:12;% 生成模拟数据 zero_feedback 0.5 * ones(size(t)); % 恒定…...

TS 常用类型

JS不会检查变量类型的变化 给变量规定特定的数据类型&#xff0c;错误赋值时会报错 优势&#xff1a;TS会标记出代码中的意外行为&#xff0c;尤其是typeerrors 具体实现&#xff1a;类型注解 JS和TS中数据类型的变化...

[Control-Chaos] Toxic Cascade(毒性級鏈)

信息 信息描述靶場名稱Toxic Cascade地址GitHub: Toxic Cascade難度中等人數推薦1人類型CTF、APT 攻擊模擬、故事解謎、化工工程與逆向工程描述Toxic Cascade 是一個結合 CTF、APT 攻擊模擬、故事解謎、化工工程與逆向工程的高度沉浸式靶場。該靶場具有獨特的情境背景與模擬真…...

纳米AI搜索体验:MCP工具的实际应用测试,撰写报告 / 爬虫小红书效果惊艳

1. 引言 近期测试了纳米AI搜索的MCP工具功能&#xff0c;重点体验了其智能体在报告生成和社交媒体数据分析方面的表现。平台整合了100多个MCP工具&#xff0c;通过本地化部署的方式&#xff0c;为用户提供了不同于云端方案的操作体验。本文将分享实际测试结果&#xff0c;包括智…...

React useMemo函数

第一个参数是回调函数&#xff0c;返回计算的结果&#xff0c;第二个参数是依赖项&#xff0c;该函数只监听count1变量的变化 import { useReducer, useState } from react; import ./App.css;// 定义一个Reducer函数 根据不同的action进行不同的状态修改 function reducer(st…...

第 1 篇:起点的选择:为何需要超越数组与链表?

大家好&#xff0c;欢迎来到“数据结构选型指南”系列&#xff01;在软件开发中&#xff0c;数据是核心&#xff0c;而如何高效地组织和访问这些数据&#xff0c;则是程序性能的关键。选择合适的数据结构&#xff0c;就像为你的 Java 应用选择最优的“引擎零件”。今天&#xf…...

MySQL 索引不生效的情况

MySQL 索引不生效的 SQL 查询需要避免的情况 索引是提高 MySQL 查询性能的关键&#xff0c;但某些 SQL 写法会导致索引失效&#xff0c;从而影响查询效率。以下是需要避免的常见情况&#xff1a; 1. 使用 NOT、! 或 <> 操作符 -- 索引可能失效 SELECT * FROM users WH…...

【阿里云大模型高级工程师ACP学习笔记】2.9 大模型应用生产实践 (上篇)

特别说明:由于这一章节是2025年3月官方重点更新的部分,新增内容非常多,因此我不得不整理成上、下两篇,方便大家参考。 学习目标 备考阿里云大模型高级工程师ACP认证,旨在全面掌握大模型应用生产实践的专业知识,提升在该领域的实操技能与理论水平,为职业发展增添助力。具…...

STM32 ZIBEE DL-20 无线串口模块

一.配置方法 二.串口中断 u8 i; u16 buf[20],res; u8 receiving_flag 0; // 新增一个标志&#xff0c;用于标记是否开始接收数组 void USART1_IRQHandler(void) {if(USART_GetITStatus(USART1, USART_IT_RXNE) ! RESET) //接收中断{res USART_ReceiveData(USART1);if(receiv…...

【算法基础】选择排序算法 - JAVA

一、算法基础 1.1 什么是选择排序 选择排序是一种简单直观的排序算法&#xff0c;它的工作原理是&#xff1a;首先在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后再从剩余未排序元素中继续寻找最小&#xf…...

FastAPI 与数据库交互示例

目录 安装必要的包完整代码示例运行应用使用说明API 端点说明代码解析 下面将创建一个简单的 FastAPI 应用程序&#xff0c;演示如何与 SQLite 数据库进行交互。这个例子包括创建、读取、更新和删除&#xff08;CRUD&#xff09;操作。 安装必要的包 首先&#xff0c;需要安装…...

(六——下)RestAPI 毛子(Http resilience/Refit/游标分页)

文章目录 项目地址一、Refit1.1 安装需要的包1.2 创建接口IGitHubApi1.3 创建RefitGitHubService1. 实现接口2. 注册服务 1.4 修改使用方法 二、Http resilience2.1 安装所需要的包2.2 创建resilience pipeline简单版2.3 创建全局的resilience处理1. 创建清理全局ResilienceHan…...

Rust 学习笔记:关于枚举与模式匹配的练习题

Rust 学习笔记&#xff1a;关于枚举与模式匹配的练习题 Rust 学习笔记&#xff1a;关于枚举与模式匹配的练习题以下程序能否通过编译&#xff1f;若能&#xff0c;输出是什么&#xff1f;考虑这两种表示结果类型的方式&#xff0c;若计算成功&#xff0c;则包含值 T&#xff1b…...

父子组件双向绑定

v-model 语法糖实现 vue中我们在input中可以直接使用v-model来完成双向绑定,这个时候 v-model 通常会帮我们完成两件事: v-bind:value的数据绑定@input的事件监听如果我们现在封装了一个组件,其他地方在使用这个组件时,是否也可以使用v-model来同时完成这两个功能呢? 当我…...

系统思考与第一性原理

最近一直有客户提到“第一性原理”&#xff0c;希望借此穿透纷繁复杂的现象&#xff0c;看清事情的本质。我第一反应是&#xff1a;这与系统思考中的冰山模型不谋而合。 冰山模型中提到&#xff1a;我们看到的只是表面事件&#xff0c;事件背后有趋势&#xff0c;趋势背后有结…...