文件系统学习(2)

  1. 常用嵌入式文件系统
    这里写图片描述

  2. 在类Unix系统中一切都是文件,那么Linux是如何将系统的运行信息、设备信息等抽象成文件进行管理的?
    Linux内核实现了一套特殊的内存虚拟文件系统用于使用与文件接口统一的操作来完成系统信息管理,它们包括:
    procfs、devfs、sysfs。

    关于基于逻辑的虚拟文件系统分析

    1、进程文件系统:procfs
    2、设备文件系统:devfs、sysfs
    一、procfs
    procfs是Linux内核信息的抽象文件接口,大量内核中的信息以及可调参数都被作为常规文件映射到一个目录树中/proc.这样我们就可以简单直接的通过echo或cat这样的文件操作命令对系统信息进行查取和调整了。大量的系统工具也通过procfs获取内核参数,例如ps、lspci等。

    1. procfs的挂载:首先确定你的内核已经支持procfs,默认支持
      mount -t proc none /proc
      使用/etc/fstab条目:none /proc proc defaults 0 0

    2. procfs的内容:
      进程信息
      系统信息

    3. procfs信息查看
      cat命令: cat /proc/cmdline

    4. procfs参数调整
      echo命令

二、devfs
Linux2.6内核以前设备文件的抽象机制:提供了一种类似于文件的方法来管理位于/dev目录下的所有设备。

  • /dev ————— 根文件系统目录 设备文件创建 制作根文件系统时创建基本的,比如console,tty1等
    设备驱动加载时创建相应的设备文件

  • 特殊设备文件
    /dev/console
    /dev/null /dev/zero

  • devfs的缺点 ————> sysfs的设计
    不确定的设备映射,有时一个设备映射的设备文件可能不同,例如我的U盘可能对应sda有可能对应sdb

    没有足够的主/辅设备号,当设备过多的时候,显然这会成为一个问题

三、sysfs
Linux2.6内核以后引入sysfs:挂载于/sys目录下,把实际连接到系统上的设备和总线组织成一个分级的文件,用户空间的程序同样可以利用这些信息以实现和内核的交互,该文件系统是当前系统上实际设备树的一个直观反应。

  • sysfs的原理 kobject子系统:建立目录树 当一个kobject被创建的时候,/sys/目录下对应的文件和目录也就被创建
    每个设备在sysfs中都有唯一对应的目录,可以被用户空间读写

  • sysfs的挂载:首先确定你的内核已经支持sysfs,默认支持 # mount -t none sysfs /sys
    使用/etc/fstab条目:none /sys sysfs defaults 0 0

  • sysfs的使用 cat命令: 查看/sys目录下的设备信息

  • sysfs的应用 用户空间的工具udev:利用了sysfs提供的信息来实现所有devfs的功能
    udev运行在用户空间中,而devfs却运行在内核空间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值