现在的位置: 首页 > 操作系统 > 正文

linux设备驱动学习第四天(linux文件系统与设备文件系统2)

2018年05月27日 操作系统 ⁄ 共 1060字 ⁄ 字号 评论关闭

一、linux文件系统目录结构

/bin 包含基本命令,所有文件可执行

/sbin 包含系统命令,大多是设计系统管理的命令,所有文件可执行

/dev 设备文件存储目录,应用程序通过对这些文件的读写和控制就可以访问实际的设备

/etc 系统配置文件的所在地,一些服务器的配置文件

/lib 系统库文件存放目录

/mnt 存放挂载存储设备的挂载目录

/opt 有些软件包会被安装在这里

/proc 操作系统运行时,进程及内核信息存放在这里。/proc为伪文件系统proc的挂载目录,proc并不是真正的文件系统,它存在于内存中。

/proc/devices 文件可以获知系统中注册的设备,第一列为主设备号,第二列为设备名。

/tmp 用户运行程序的时候,会产生临时文件,/tmp就用来存放临时文件。

/usr 系统存放程序的目录,比如用户命令,用户库等

/var 表示变化,这个目录的内容经常变动,/var/log用来存放系统日志。

/sys linux 2.6内核所支持的sys文件系统映射在此目录。linux设备驱动模型中的总线、驱动和设备都可以在sys文件系统中找到对于对应的节点。当内核检测到新的设备时,内核就会在sys文件系统中为该设备生成一项新的记录。

 

二、linux文件系统与设备驱动

        应用程序和VFS之间的接口是系统调用,而VFS和磁盘文件系统以及普通文件系统之间的接口是file_operations结构成员函数

        在设备驱动程序的设计中,一般而言,会关心fileinode这两个结构体

        file结构体代表一个打开的文件,系统中每个打开的文件在内核空间都有一个关联的struct file。它由内何在打开文件时创建,并传递给在文件上进行操作的任何函数。在文件的所有实例都关闭后,内核释放这个数据结构。在内核和驱动中,struct file的指针通常被命名为file或filp。

        VFS inode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是linux管理文件系统的最基本单位,也是文件系统链接任何子目录、文件的桥梁。

        主设备号是与驱动相对应的概念,同一类设备一般使用相同的主设备号,因为同一驱动可以支持多个同类设备,因此用次设备号来描述使用该驱动的设备的序号,序号一般从0开始。Documents目录下的devices.txt文件描述了Linux设备号的分配情况。

 

三、devfs设备文件系统

        devfs的出现使得设备驱动程序能够自主地管理它自己的设备文件。

 

抱歉!评论已关闭.