收藏 分享(赏)

理解Linux文件系统和设备文件系统.ppt

上传人:dzzj200808 文档编号:3352278 上传时间:2018-10-17 格式:PPT 页数:23 大小:904KB
下载 相关 举报
理解Linux文件系统和设备文件系统.ppt_第1页
第1页 / 共23页
理解Linux文件系统和设备文件系统.ppt_第2页
第2页 / 共23页
理解Linux文件系统和设备文件系统.ppt_第3页
第3页 / 共23页
理解Linux文件系统和设备文件系统.ppt_第4页
第4页 / 共23页
理解Linux文件系统和设备文件系统.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、Linux文件系统和设备文件系统,主要内容,Linux文件系统目录结构 sysfs文件系统及测试 设备文件系统及测试,一、Linux文件系统目录结构,/dev: 设备文件存储目录。/lib: 库文件目录。/var: 这个目录的内容经常变动,如/var/log目录被用来存放系统日志。/etc: 系统配置文件所在目录。/proc: 系统运行时,进程和内核信息存放在这里。/bin: 包含基本命令。,一、Linux文件系统目录结构(续),/mnt: 用来存放挂载存储设备的挂载目录。/usr: 存放用户程序的目录。/tmp: 用来存放临时文件。/sys: sysfs文件系统被映射到此目录。/sbin:

2、存放系统管理的命令,是超级用户root的可执行命令存放地。/root: 超级用户root的家目录,查看系统中注册的设备,输入命令: cat /proc/devices 查看系统中注册的设备。 分为“Character devices”和“Block devices”。 第1列为主设备号,第2列为设备名。,查看系统中注册的设备(续),输入命令: ls l /dev/ 也可以查看系统注册的设备文件。 日期的前两列对应于设备的主设备号和次设备号。,二、sysfs文件系统,输入命令: ls -l /sys 查看sysfs文件系统目录。 sysfs文件系统把连接在系统上的设备和总线组织成一个个分级的文件

3、,向用户空间导出内核数据结构以及它们的属性,并可以由用户空间存取。,二、sysfs文件系统(续),输入命令: echo xxx /sys/devices/platform/hhtech_gpio/backlight_level 调节LCD屏的背光亮度。其中,“xxx”的范围是0100,分别对应背光的最小值和最大值。,输入命令: cat /sys/devices/platform/hhtech_gpio/backlight_level 读取当前LCD屏的背光亮度。,二、sysfs文件系统(续),修改drivers/char/hhtech_gpio.c,添加如下内容: static DEVICE_

4、ATTR(backlight_level, 0666, hhtech_sysfs_show_backlight_level, hhtech_sysfs_store_backlight_level); 创建和初始化“backlight_level”属性。,二、sysfs文件系统(续),修改drivers/char/hhtech_gpio.c,向数组attrs添加如下内容: &dev_attr_backlight_level.attr 将“backlight_level”属性添加到sysfs文件系统中。,二、sysfs文件系统(续),hhtech_sysfs_show_backlight_leve

5、l函数,hhtech_sysfs_store_backlight_level函数,二、sysfs文件系统(续),重新编译内核,二、sysfs文件系统(续),重新打包固件并测试,三、设备文件系统,/dev是设备文件的存放目录,那怎么生成相应的设备文件节点呢?使用设备文件系统udev。 udev完全工作在用户空间,利用设备加入或者移除时内核向应用层发送的热插拔事件来工作。 热插拔时,设备的详细信息会由内核输出到sysfs文件系统中,udev利用sysfs的信息来动态创建和删除设备文件或者执行其它动作。,mdev(udev的精简版本)的原理,执行mdev -s :以-s为参数调用 /sbin/mde

6、v,mdev扫描 /sys/class 和 /sys/block 中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含有设备号,则mdev就利用这些信息为这个设备在/dev 下创建设备节点文件。一般只在启动时才执行一次 “mdev -s”。,mdev的原理(续),热插拔事件:由于启动时运行了命令:echo /sbin/mdev /proc/sys/kernel/hotplug ,那么当有热插拔事件产生时,内核就会调用/sbin/mdev。这时mdev通过环境变量中的 ACTION 和 DEVPATH,来确定此次热插拔事件的动作及影响了/sys中的哪个目录。接着会看看这个目录中

7、是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev下创建设备节点文件。,mdev的使用,在启动时加上使用mdev的命令: # 挂载/sys为sysfs文件系统 /bin/mount -t sysfs sysfs /sys # 启动mdev程序 /bin/echo /sbin/mdev /proc/sys/kernel/hotplug mdev -s,mdev的使用(续),在rootfs/etc/inittab文件中添加: :sysinit:/bin/mount -t sysfs none /sys -o noexec,nosuid,nodev 挂载/sys为sysfs文件系统

8、,mdev的使用(续),在rootfs/etc/inittab文件中添加: :sysinit:/bin/echo /sbin/mdev /proc/sys/kernel/hotplug :sysinit:/sbin/mdev -s 启动mdev程序,mdev的使用(续),例如: 当插入SD卡后,能自动生成/dev/mmcblk1p1设备, 并且自动mount到/mnt/mmcblk1p1目录上去。,mdev的使用(续),例如: 当拔出SD卡后,能自动删除/dev/mmcblk1p1设备。,mdev的实验,将rootfs/etc/inittab文件中的“:sysinit:/bin/echo /sbin/mdev /proc/sys/kernel/hotplug”语句注释掉 重新编译固件,然后测试SD卡能否自动识别?,Any Questions?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报