内核驱动之proc文件系统

1
什么是proc文件系统?
实例:通过/proc/meminfo,查询当前内存使用情况。
结论:proc文件系统是一种在用户态检查内核状态的机制。
2
特点:
可以用文本编辑程序读取:cat命令,vi程序
可以自己编写程序添加一个/proc目录下的文件。
文件的内容都动态创建的,并不存在于磁盘上,存在内存中。
pwd查看当前目录
3
功能:创建proc文件
struct proc_dir_entry*create_proc_entry(const char*name,mode_t mode,struct proc_dir_entry*parent)

参数:name:要创建的文件名,
     mode:要创建的文件的属性 默认0755
     PARENT:这个文件的父目录
4
功能:删除proc目录或文件
void remove_proc_entry(const char*name,struct proc_dir_entry*parent)
参数:name:要删除的文件或目录名
      parent:所在的父目录
5
读写
read_proc,
write_proc
6
读操作:
int read_func(char*buffer,char**stat,off_t off,int count,int*peof,void*data)
参数:
buffer:把要返回给用户的信息写在buffer里,最大不超过PAGE_SIZE
stat:一般不使用
off:偏移量
count:用户要取的字节数
peof:读到文件尾时,需要把*peof置1
data:一般不使用
7
写操作:
int write_func(struct file*file,const char*buffer,unsigned long count,void*data)
参数:
file:该proc文件对应的file结构,一般忽略。
buffer:待写的数据所在的
8
实现一个proc文件的流程
(1)调用create_proc_entry创建一个struct proc_dir_entry。
(2)对创建的struct proc_dir_entry进行复制:read_proc,mode,owner,size,write_proc等等。
9


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值