理解linux文件系统和设备文件系统

理解linux文件系统和设备文件系统

ID:21558158

大小:904.00 KB

页数:23页

时间:2018-10-19

理解linux文件系统和设备文件系统_第1页
理解linux文件系统和设备文件系统_第2页
理解linux文件系统和设备文件系统_第3页
理解linux文件系统和设备文件系统_第4页
理解linux文件系统和设备文件系统_第5页
资源描述:

《理解linux文件系统和设备文件系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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查看系统中注册的设备。分为“Characterdevices”和“Blockdevices”。第1列为主设备号,第2列为设备名。查看系统中注册的设备(续)输入命令:ls–l/dev/也可以查看系统注册的设备文件。日期的前两列对应于设备的主设备号和次设备号。二、sysfs文件系统输入命令:ls-l/sys查看sysfs文件系统目录。sysfs文件系统把连接在系统上的设备和总线组织成一个个分级的文件,向用户空间导出内核数据

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

4、light_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_level函数h

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

6、,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-tsysfssysfs/sys#启动mdev程序/bin/echo/sbin/mdev>/proc/sys/kernel/hotplugmdev-smdev的使用(续)在rootfs/etc/inittab文件中添加:::sysinit:/bin/mount-tsysfsnone/sys-onoexec,nosuid,nodev挂载/sys为sysfs文件系统mdev的使用(续

8、)在roo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。