Linux内核学习12--dev,sys和proc(TODO)
TODO参考Linux -proc 伪文件系统解析proc虚拟文件系统sysfs文件系统还有一个sysfs在 Linux 系统中/dev、/sys和/proc是三个特殊的虚拟文件系统目录它们各自有特定的用途主要用于与设备和内核交互。以下是它们的详细区别和功能说明还有一个run也是虚拟文件系统目录。/dev文件系统包含所有设备文件的目录这些设备文件是操作系统与硬件交互的接口。/sys文件系统是一个伪文件系统用于暴露内核对象模型Kernel Object Model的信息。它提供了一种查看和修改系统硬件和内核模块状态的接口。/proc文件系统是一个伪文件系统它提供了关于内核、进程和系统信息的接口。它是动态生成的包含当前系统和进程的状态信息。/run文件系统是一个临时文件系统用于存储系统启动后运行时的数据如 PID 文件、套接字文件等。1./devDevice Filesystem功能包含所有设备文件用于用户空间程序访问硬件设备。设备文件不是普通文件而是指向实际硬件设备的接口。设备类型字符设备Character Device按字节访问设备例如键盘、串口。例如/dev/tty终端、/dev/random随机数生成器块设备Block Device按块访问设备例如硬盘、U盘。例如/dev/sda硬盘、/dev/mmcblk0SD卡实现机制通过udev动态管理设备节点。当硬件设备被插拔时udev自动创建或移除对应的设备文件。示例ls -l /dev # 输出类似于 crw------- 1 root root 4, 64 Jan 9 10:00 /dev/ttyS0 brw-rw---- 1 root disk 8, 0 Jan 9 10:00 /dev/sdac/b表示字符设备或块设备8, 0是主设备号和次设备号。Linux调试工具proc文件系统_哔哩哔哩_bilibili2./procProcess Filesystem功能提供一个与系统和进程相关的虚拟文件系统主要用于显示内核信息和运行时状态。主要目的是允许用户空间访问内核数据结构无需修改代码或重启系统。特点不占用实际磁盘空间所有文件都是虚拟文件。文件内容是动态生成的反映当前内核和系统的状态。常见文件和目录进程信息每个运行中的进程在/proc中有一个以其进程号命名的目录。例如/proc/1234/包含进程1234的状态、内存映射等信息。系统信息/proc/cpuinfoCPU 信息。/proc/meminfo内存使用情况。/proc/modules加载的内核模块。/proc/devices当前系统中注册的设备。示例cat /proc/cpuinfo # 显示 CPU 详细信息3./sysSysfs Filesystem功能提供一个与设备、驱动程序和内核子系统交互的接口。是/proc的补充专注于设备驱动和内核的设备模型。特点组织形式是层次化的反映内核设备模型的结构。允许用户动态查看和修改设备参数。常见用途查看和管理设备属性设备属性通过文件暴露例如/sys/class/net/eth0/中的信息反映网络接口的状态。动态调整系统行为修改/sys中的文件即可调整内核参数需要权限。示例ls /sys/class/net # 显示系统中所有的网络接口echo 1 /sys/class/leds/led0/brightness # 控制 LED 的亮度对比总结特性/dev/proc/sys用途硬件设备的用户接口系统和进程信息的查看接口内核设备模型的交互接口类型包含字符设备和块设备文件虚拟文件反映系统和内核状态虚拟文件反映设备模型交互方式直接与硬件设备交互只读为主部分文件可写可读写允许动态配置设备参数内容硬件设备节点内核数据结构和进程信息设备、驱动和内核子系统参数是否动态动态创建/删除设备文件动态生成当前状态信息动态生成设备和驱动结构总结/dev设备接口直接与硬件交互。/proc提供系统和进程状态主要用于监控和调试。/sys内核设备模型接口允许动态管理和配置设备。三者结合为 Linux 系统提供了完整的硬件抽象层和内核交互方式。Linux驱动基础 | debugfs文件系统