linux的/proc 和 /sys目录差异

/proc 和 /sys 都是Linux系统中用于提供系统信息和进行系统配置的虚拟文件系统,但它们的原理并不完全一样,以下是具体分析:

目的与功能

  • /proc :主要用于提供系统进程相关信息以及内核运行时的一些参数等,可让用户和程序了解系统中正在运行的进程状态、资源使用情况等,如进程的PID、内存占用、打开的文件等,也能通过它调整一些内核参数。
  • /sys :主要用于提供系统硬件设备的信息和属性,以及内核中一些与设备驱动相关的配置参数等,可用于查看和配置硬件设备的状态、属性和驱动信息等。

实现原理

  • /proc :是基于内核的进程调度和内存管理等机制实现的。内核在运行过程中,将进程相关的信息以文件和目录的形式映射到 /proc 文件系统中。当用户或程序访问 /proc 下的文件时,内核通过特定的函数和数据结构来提供相应的信息。
  • /sys :基于内核中的设备模型实现。内核中的设备模型将系统中的硬件设备、驱动程序等组织成一个层次化的结构, /sys 文件系统将这个设备模型中的信息以文件和目录的形式呈现给用户空间,用户和程序通过访问 /sys 下的文件来获取和操作硬件设备的信息和属性。

数据更新机制

  • /proc :数据更新与进程的运行状态和内核的活动紧密相关。当进程的状态发生变化,如进程启动、停止、资源使用情况改变等,内核会及时更新 /proc 中相应文件的内容。
  • /sys :数据更新通常与硬件设备的状态变化、驱动程序的加载和卸载等事件相关。当硬件设备的状态发生改变,如设备插入、拔出,或者驱动程序对设备的配置进行了修改等, /sys 中相应文件的内容会被更新。
相关推荐
自由游戏开发者10 分钟前
用U盘启动制作centos系统最常见报错,系统卡住无法继续问题(手把手)
linux·运维·centos
Ronin30531 分钟前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
Bruce_Liuxiaowei1 小时前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
yt948321 小时前
C#实现CAN通讯接口
java·linux·前端
linux修理工1 小时前
n1 armbian 安装桌面环境并启用xrdp远程登录
linux·服务器·数据库
花小璇学linux2 小时前
imx6ull-裸机学习实验1——汇编LED灯实验
linux·汇编·imx6ull·arm裸机开发
Brookty2 小时前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统
看到我,请让我去学习3 小时前
OpenCV编程- (图像基础处理:噪声、滤波、直方图与边缘检测)
c语言·c++·人工智能·opencv·计算机视觉
倔强的小石头_5 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
sanggou6 小时前
Linux批量执行工具脚本使用指南:一键运行多个release-dev.sh脚本
linux·bash