美文网首页
Linux 关于 /sys 和 /proc

Linux 关于 /sys 和 /proc

作者: wjundong | 来源:发表于2022-06-30 21:59 被阅读0次

    sys 和 proc 是内核启动后生成的虚拟文件系统,将他们挂载到根文件系统后便可以查看其中的内容, 挂载方法是

    mount -t sysfs sys /sys
    mount -t proc proc /proc
    

    ref

    例如 hello 模块驱动, 创建一个字符设备 hello

    static int __init hello_init(void)
    {
        major = register_chrdev(0, "hello", &drv_hello);
    
        hello_class = class_create(THIS_MODULE, "hello_class");  
        
        device_create(hello_class, NULL, MKDEV(major, 0), NULL,"hello");
    
        return 0;
    }
    
    

    执行 insmod 后在 sys 中查找相关信息

    /root # find /sys -name "*hello*"
    /sys/devices/virtual/hello_class
    /sys/devices/virtual/hello_class/hello
    /sys/class/hello_class
    /sys/class/hello_class/hello
    /sys/module/drv_hello
    /root #
    

    设备实际的位置是在 /sys/devices/virtual/hello_class/hello, 但在 class 也有内容, class 只是一种分类方式, module 中有是因为 /sys/module 目录包含所有被载入Kernel的模块,无论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件)

    相关文章

      网友评论

          本文标题:Linux 关于 /sys 和 /proc

          本文链接:https://www.haomeiwen.com/subject/gvjqbrtx.html